Coccinelle release 1.0.0-rc1
[bpt/coccinelle.git] / parsing_cocci / parser_cocci_menhir.ml
index 8b8f66a..9835449 100644 (file)
@@ -2,435 +2,493 @@ exception Error
 
 type token = 
   | Tvolatile of (
-# 54 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
       (Data.clt)
 # 8 "parser_cocci_menhir.ml"
 )
   | Tvoid of (
-# 50 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
 # 13 "parser_cocci_menhir.ml"
 )
   | Tunsigned of (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
 # 18 "parser_cocci_menhir.ml"
 )
   | Tunion of (
-# 50 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
 # 23 "parser_cocci_menhir.ml"
 )
   | Ttypedef of (
-# 53 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
 # 28 "parser_cocci_menhir.ml"
 )
   | Tstruct of (
-# 50 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
 # 33 "parser_cocci_menhir.ml"
 )
   | Tstatic of (
-# 53 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
 # 38 "parser_cocci_menhir.ml"
 )
-  | Tsigned of (
-# 51 "parser_cocci_menhir.mly"
+  | Tssize_t of (
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
 # 43 "parser_cocci_menhir.ml"
 )
-  | Tshort of (
-# 49 "parser_cocci_menhir.mly"
+  | Tsize_t of (
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
 # 48 "parser_cocci_menhir.ml"
 )
-  | Tregister of (
-# 53 "parser_cocci_menhir.mly"
+  | Tsigned of (
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
 # 53 "parser_cocci_menhir.ml"
 )
-  | Tlong of (
-# 49 "parser_cocci_menhir.mly"
+  | Tshort of (
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
 # 58 "parser_cocci_menhir.ml"
+)
+  | Tregister of (
+# 119 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 63 "parser_cocci_menhir.ml"
+)
+  | Tptrdiff_t of (
+# 115 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 68 "parser_cocci_menhir.ml"
+)
+  | Tlong of (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 73 "parser_cocci_menhir.ml"
 )
   | Tlist
   | Tint of (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 64 "parser_cocci_menhir.ml"
+# 79 "parser_cocci_menhir.ml"
 )
   | Tinline of (
-# 53 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 69 "parser_cocci_menhir.ml"
+# 84 "parser_cocci_menhir.ml"
 )
   | Tfloat of (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 74 "parser_cocci_menhir.ml"
+# 89 "parser_cocci_menhir.ml"
 )
   | Textern of (
-# 53 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 79 "parser_cocci_menhir.ml"
+# 94 "parser_cocci_menhir.ml"
 )
   | Tenum of (
-# 50 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 84 "parser_cocci_menhir.ml"
+# 99 "parser_cocci_menhir.ml"
 )
   | Tdouble of (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 89 "parser_cocci_menhir.ml"
+# 104 "parser_cocci_menhir.ml"
 )
   | Tconst of (
-# 54 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
       (Data.clt)
-# 94 "parser_cocci_menhir.ml"
+# 109 "parser_cocci_menhir.ml"
 )
   | Tchar of (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 99 "parser_cocci_menhir.ml"
+# 114 "parser_cocci_menhir.ml"
 )
   | Tauto of (
-# 53 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 104 "parser_cocci_menhir.ml"
+# 119 "parser_cocci_menhir.ml"
 )
   | Tattr of (
-# 55 "parser_cocci_menhir.mly"
+# 121 "parser_cocci_menhir.mly"
       (string * Data.clt)
-# 109 "parser_cocci_menhir.ml"
+# 124 "parser_cocci_menhir.ml"
 )
   | TXor of (
-# 92 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
        (Data.clt)
-# 114 "parser_cocci_menhir.ml"
+# 129 "parser_cocci_menhir.ml"
 )
   | TWords
   | TWhy0
   | TWhy of (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 121 "parser_cocci_menhir.ml"
+# 136 "parser_cocci_menhir.ml"
 )
   | TWhile of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 126 "parser_cocci_menhir.ml"
+# 141 "parser_cocci_menhir.ml"
 )
   | TWhenTrue of (
-# 74 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
        (Data.clt)
-# 131 "parser_cocci_menhir.ml"
+# 146 "parser_cocci_menhir.ml"
 )
   | TWhenFalse of (
-# 74 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
        (Data.clt)
-# 136 "parser_cocci_menhir.ml"
+# 151 "parser_cocci_menhir.ml"
 )
   | TWhen of (
-# 74 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
        (Data.clt)
-# 141 "parser_cocci_menhir.ml"
+# 156 "parser_cocci_menhir.ml"
 )
   | TVirtual
   | TUsing
+  | TUnderscore
+  | TUndef of (
+# 149 "parser_cocci_menhir.mly"
+       (Data.clt * token)
+# 164 "parser_cocci_menhir.ml"
+)
   | TTypedef
   | TTypeId of (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 149 "parser_cocci_menhir.ml"
+# 170 "parser_cocci_menhir.ml"
 )
   | TType
   | TTildeExclEq of (
-# 94 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 155 "parser_cocci_menhir.ml"
+# 176 "parser_cocci_menhir.ml"
 )
   | TTildeEq of (
-# 94 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 160 "parser_cocci_menhir.ml"
+# 181 "parser_cocci_menhir.ml"
 )
   | TTilde of (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 165 "parser_cocci_menhir.ml"
+# 186 "parser_cocci_menhir.ml"
 )
   | TSwitch of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 170 "parser_cocci_menhir.ml"
+# 191 "parser_cocci_menhir.ml"
+)
+  | TSub of (
+# 162 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 196 "parser_cocci_menhir.ml"
 )
   | TString of (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 175 "parser_cocci_menhir.ml"
+# 201 "parser_cocci_menhir.ml"
 )
   | TStrict of (
-# 74 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
        (Data.clt)
-# 180 "parser_cocci_menhir.ml"
+# 206 "parser_cocci_menhir.ml"
 )
   | TStatement
   | TSizeof of (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 186 "parser_cocci_menhir.ml"
+# 212 "parser_cocci_menhir.ml"
 )
-  | TShOp of (
-# 96 "parser_cocci_menhir.mly"
+  | TShROp of (
+# 164 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 191 "parser_cocci_menhir.ml"
+# 217 "parser_cocci_menhir.ml"
+)
+  | TShLOp of (
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 222 "parser_cocci_menhir.ml"
 )
   | TScriptData of (
-# 71 "parser_cocci_menhir.mly"
+# 139 "parser_cocci_menhir.mly"
        (string)
-# 196 "parser_cocci_menhir.ml"
+# 227 "parser_cocci_menhir.ml"
 )
   | TScript
   | TRuleName of (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 202 "parser_cocci_menhir.ml"
+# 233 "parser_cocci_menhir.ml"
 )
   | TRightIso
   | TReturn of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 208 "parser_cocci_menhir.ml"
+# 239 "parser_cocci_menhir.ml"
 )
   | TPure
   | TPtrOp of (
-# 104 "parser_cocci_menhir.mly"
+# 172 "parser_cocci_menhir.mly"
        (Data.clt)
-# 214 "parser_cocci_menhir.ml"
+# 245 "parser_cocci_menhir.ml"
 )
   | TPtVirg of (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 219 "parser_cocci_menhir.ml"
+# 250 "parser_cocci_menhir.ml"
 )
   | TPragma of (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 224 "parser_cocci_menhir.ml"
+# 126 "parser_cocci_menhir.mly"
+       (Ast_cocci.added_string * Data.clt)
+# 255 "parser_cocci_menhir.ml"
 )
   | TPosition
   | TPosAny
   | TPlusFile of (
-# 83 "parser_cocci_menhir.mly"
+# 151 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 231 "parser_cocci_menhir.ml"
+# 262 "parser_cocci_menhir.ml"
 )
   | TPlus0
   | TPlus of (
-# 98 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 237 "parser_cocci_menhir.ml"
+# 268 "parser_cocci_menhir.ml"
 )
   | TPathIsoFile of (
-# 79 "parser_cocci_menhir.mly"
+# 147 "parser_cocci_menhir.mly"
        (string)
-# 242 "parser_cocci_menhir.ml"
+# 273 "parser_cocci_menhir.ml"
 )
   | TParameter
   | TPOEllipsis of (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 248 "parser_cocci_menhir.ml"
+# 279 "parser_cocci_menhir.ml"
 )
   | TPCEllipsis of (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 253 "parser_cocci_menhir.ml"
+# 284 "parser_cocci_menhir.ml"
 )
   | TPArob
   | TOrLog of (
-# 89 "parser_cocci_menhir.mly"
+# 157 "parser_cocci_menhir.mly"
        (Data.clt)
-# 259 "parser_cocci_menhir.ml"
+# 290 "parser_cocci_menhir.ml"
 )
   | TOr of (
-# 91 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
        (Data.clt)
-# 264 "parser_cocci_menhir.ml"
+# 295 "parser_cocci_menhir.ml"
 )
   | TOn
   | TOPar0 of (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 270 "parser_cocci_menhir.ml"
+# 301 "parser_cocci_menhir.ml"
 )
   | TOPar of (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 275 "parser_cocci_menhir.ml"
+# 306 "parser_cocci_menhir.ml"
 )
   | TOInit of (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 280 "parser_cocci_menhir.ml"
+# 311 "parser_cocci_menhir.ml"
 )
   | TOEllipsis of (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 285 "parser_cocci_menhir.ml"
+# 316 "parser_cocci_menhir.ml"
 )
   | TOCro of (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 290 "parser_cocci_menhir.ml"
+# 321 "parser_cocci_menhir.ml"
 )
   | TOBrace of (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 295 "parser_cocci_menhir.ml"
+# 326 "parser_cocci_menhir.ml"
 )
   | TNothing
   | TNotEq of (
-# 94 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 301 "parser_cocci_menhir.ml"
+# 332 "parser_cocci_menhir.ml"
 )
   | TNever
   | TName
   | TMul of (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 308 "parser_cocci_menhir.ml"
+# 339 "parser_cocci_menhir.ml"
 )
   | TMinusFile of (
-# 83 "parser_cocci_menhir.mly"
+# 151 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 313 "parser_cocci_menhir.ml"
+# 344 "parser_cocci_menhir.ml"
 )
   | TMinus of (
-# 98 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 318 "parser_cocci_menhir.ml"
+# 349 "parser_cocci_menhir.ml"
 )
   | TMid0 of (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 323 "parser_cocci_menhir.ml"
+# 354 "parser_cocci_menhir.ml"
 )
+  | TMetavariable
   | TMetaType of (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 328 "parser_cocci_menhir.ml"
+# 360 "parser_cocci_menhir.ml"
 )
   | TMetaStmList of (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 333 "parser_cocci_menhir.ml"
+# 365 "parser_cocci_menhir.ml"
 )
   | TMetaStm of (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 338 "parser_cocci_menhir.ml"
+# 370 "parser_cocci_menhir.ml"
 )
   | TMetaPos of (
-# 68 "parser_cocci_menhir.mly"
+# 136 "parser_cocci_menhir.mly"
        (Parse_aux.pos_info)
-# 343 "parser_cocci_menhir.ml"
+# 375 "parser_cocci_menhir.ml"
 )
   | TMetaParamList of (
-# 66 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 348 "parser_cocci_menhir.ml"
+# 380 "parser_cocci_menhir.ml"
 )
   | TMetaParam of (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 353 "parser_cocci_menhir.ml"
+# 385 "parser_cocci_menhir.ml"
 )
   | TMetaLocalIdExp of (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 358 "parser_cocci_menhir.ml"
+# 390 "parser_cocci_menhir.ml"
 )
   | TMetaLocalFunc of (
-# 61 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 363 "parser_cocci_menhir.ml"
+# 395 "parser_cocci_menhir.ml"
 )
   | TMetaIterator of (
-# 62 "parser_cocci_menhir.mly"
+# 129 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 368 "parser_cocci_menhir.ml"
+# 400 "parser_cocci_menhir.ml"
+)
+  | TMetaInitList of (
+# 133 "parser_cocci_menhir.mly"
+       (Parse_aux.list_info)
+# 405 "parser_cocci_menhir.ml"
 )
   | TMetaInit of (
-# 65 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 373 "parser_cocci_menhir.ml"
+# 410 "parser_cocci_menhir.ml"
 )
   | TMetaIdExp of (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 378 "parser_cocci_menhir.ml"
+# 415 "parser_cocci_menhir.ml"
 )
   | TMetaId of (
-# 61 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 383 "parser_cocci_menhir.ml"
+# 420 "parser_cocci_menhir.ml"
 )
   | TMetaFunc of (
-# 61 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 388 "parser_cocci_menhir.ml"
+# 425 "parser_cocci_menhir.ml"
+)
+  | TMetaFieldList of (
+# 134 "parser_cocci_menhir.mly"
+       (Parse_aux.list_info)
+# 430 "parser_cocci_menhir.ml"
+)
+  | TMetaField of (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 435 "parser_cocci_menhir.ml"
 )
   | TMetaExpList of (
-# 66 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 393 "parser_cocci_menhir.ml"
+# 440 "parser_cocci_menhir.ml"
 )
   | TMetaExp of (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 398 "parser_cocci_menhir.ml"
+# 445 "parser_cocci_menhir.ml"
 )
   | TMetaErr of (
-# 63 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 403 "parser_cocci_menhir.ml"
+# 450 "parser_cocci_menhir.ml"
 )
   | TMetaDeclarer of (
-# 62 "parser_cocci_menhir.mly"
+# 129 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 408 "parser_cocci_menhir.ml"
+# 455 "parser_cocci_menhir.ml"
+)
+  | TMetaDecl of (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 460 "parser_cocci_menhir.ml"
 )
   | TMetaConst of (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 413 "parser_cocci_menhir.ml"
+# 465 "parser_cocci_menhir.ml"
+)
+  | TMeta of (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 470 "parser_cocci_menhir.ml"
 )
   | TMPtVirg
   | TLogOp of (
-# 95 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
        (Ast_cocci.logicalOp * Data.clt)
-# 419 "parser_cocci_menhir.ml"
+# 476 "parser_cocci_menhir.ml"
 )
   | TLocal
   | TLineEnd of (
-# 74 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
        (Data.clt)
-# 425 "parser_cocci_menhir.ml"
+# 482 "parser_cocci_menhir.ml"
 )
   | TIteratorId of (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 430 "parser_cocci_menhir.ml"
+# 487 "parser_cocci_menhir.ml"
 )
   | TIterator
   | TIsoType
   | TIsoTopLevel
+  | TIsoToTestExpression
   | TIsoTestExpression
   | TIsoStatement
   | TIsoExpression
@@ -439,224 +497,226 @@ type token =
   | TIso
   | TInvalid
   | TInt of (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 445 "parser_cocci_menhir.ml"
+# 503 "parser_cocci_menhir.ml"
 )
   | TInitialize
   | TInitialiser
   | TIncludeNL of (
-# 80 "parser_cocci_menhir.mly"
+# 148 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 452 "parser_cocci_menhir.ml"
+# 510 "parser_cocci_menhir.ml"
 )
   | TIncludeL of (
-# 80 "parser_cocci_menhir.mly"
+# 148 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 457 "parser_cocci_menhir.ml"
+# 515 "parser_cocci_menhir.ml"
 )
   | TInc of (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 462 "parser_cocci_menhir.ml"
+# 520 "parser_cocci_menhir.ml"
 )
   | TIf of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 467 "parser_cocci_menhir.ml"
+# 525 "parser_cocci_menhir.ml"
 )
   | TIdentifier
   | TIdent of (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 473 "parser_cocci_menhir.ml"
+# 531 "parser_cocci_menhir.ml"
 )
   | TIdExpression
   | TGoto of (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 479 "parser_cocci_menhir.ml"
+# 537 "parser_cocci_menhir.ml"
 )
   | TGenerated
   | TFunction
   | TFunDecl of (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 486 "parser_cocci_menhir.ml"
+# 544 "parser_cocci_menhir.ml"
 )
   | TFresh
   | TForall
   | TFor of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 493 "parser_cocci_menhir.ml"
+# 551 "parser_cocci_menhir.ml"
 )
   | TFloat of (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 498 "parser_cocci_menhir.ml"
+# 556 "parser_cocci_menhir.ml"
 )
   | TFinalize
+  | TField
   | TExtends
   | TExpression
   | TExists
   | TEver
   | TError
   | TEqEq of (
-# 94 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 509 "parser_cocci_menhir.ml"
+# 568 "parser_cocci_menhir.ml"
 )
   | TEq of (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 514 "parser_cocci_menhir.ml"
+# 573 "parser_cocci_menhir.ml"
 )
   | TElse of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 519 "parser_cocci_menhir.ml"
+# 578 "parser_cocci_menhir.ml"
 )
   | TEllipsis of (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 524 "parser_cocci_menhir.ml"
+# 583 "parser_cocci_menhir.ml"
 )
   | TDotDot of (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 529 "parser_cocci_menhir.ml"
+# 588 "parser_cocci_menhir.ml"
 )
   | TDot of (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 534 "parser_cocci_menhir.ml"
+# 593 "parser_cocci_menhir.ml"
 )
   | TDo of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 539 "parser_cocci_menhir.ml"
+# 598 "parser_cocci_menhir.ml"
 )
   | TDmOp of (
-# 97 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 544 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.ml"
 )
   | TDisable
   | TDepends
   | TDefineParam of (
-# 82 "parser_cocci_menhir.mly"
+# 150 "parser_cocci_menhir.mly"
        (Data.clt * token * int * int)
-# 551 "parser_cocci_menhir.ml"
+# 610 "parser_cocci_menhir.ml"
 )
   | TDefine of (
-# 81 "parser_cocci_menhir.mly"
+# 149 "parser_cocci_menhir.mly"
        (Data.clt * token)
-# 556 "parser_cocci_menhir.ml"
+# 615 "parser_cocci_menhir.ml"
 )
   | TDefault of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 561 "parser_cocci_menhir.ml"
+# 620 "parser_cocci_menhir.ml"
 )
   | TDeclarerId of (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 566 "parser_cocci_menhir.ml"
+# 625 "parser_cocci_menhir.ml"
 )
   | TDeclarer
+  | TDeclaration
   | TDec of (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 572 "parser_cocci_menhir.ml"
+# 632 "parser_cocci_menhir.ml"
 )
   | TCppConcatOp
   | TContinue of (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 578 "parser_cocci_menhir.ml"
+# 638 "parser_cocci_menhir.ml"
 )
   | TContext
   | TConstant
   | TComma of (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 585 "parser_cocci_menhir.ml"
+# 645 "parser_cocci_menhir.ml"
 )
   | TChar of (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 590 "parser_cocci_menhir.ml"
+# 650 "parser_cocci_menhir.ml"
 )
   | TCase of (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 595 "parser_cocci_menhir.ml"
+# 655 "parser_cocci_menhir.ml"
 )
   | TCPar0 of (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 600 "parser_cocci_menhir.ml"
+# 660 "parser_cocci_menhir.ml"
 )
   | TCPar of (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 605 "parser_cocci_menhir.ml"
+# 665 "parser_cocci_menhir.ml"
 )
   | TCEllipsis of (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 610 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.ml"
 )
   | TCCro of (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 615 "parser_cocci_menhir.ml"
+# 675 "parser_cocci_menhir.ml"
 )
   | TCBrace of (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 620 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.ml"
 )
   | TBreak of (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 625 "parser_cocci_menhir.ml"
+# 685 "parser_cocci_menhir.ml"
 )
   | TBang0
   | TBang of (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 631 "parser_cocci_menhir.ml"
+# 691 "parser_cocci_menhir.ml"
 )
   | TAssign of (
-# 108 "parser_cocci_menhir.mly"
+# 176 "parser_cocci_menhir.mly"
        (Ast_cocci.assignOp * Data.clt)
-# 636 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.ml"
 )
   | TArobArob
   | TArob
   | TAny of (
-# 74 "parser_cocci_menhir.mly"
+# 142 "parser_cocci_menhir.mly"
        (Data.clt)
-# 643 "parser_cocci_menhir.ml"
+# 703 "parser_cocci_menhir.ml"
 )
   | TAndLog of (
-# 90 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
        (Data.clt)
-# 648 "parser_cocci_menhir.ml"
+# 708 "parser_cocci_menhir.ml"
 )
   | TAnd of (
-# 93 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 653 "parser_cocci_menhir.ml"
+# 713 "parser_cocci_menhir.ml"
 )
   | EOF
 
 and _menhir_jeton = token
 
 
-# 23 "parser_cocci_menhir.mly"
+# 25 "parser_cocci_menhir.mly"
   
 
 (* Not clear how to allow function declarations to specify a return type
@@ -671,7 +731,70 @@ module Ast0 = Ast0_cocci
 module Ast = Ast_cocci
 module P = Parse_aux
 
-# 675 "parser_cocci_menhir.ml"
+(* ---------------------------------------------------------------------- *)
+(* support for TMeta *)
+
+let print_meta (r,n) = r^"."^n
+
+let meta_metatable = Hashtbl.create(101)
+
+let coerce_tmeta newty name builder matcher =
+  try
+    let x = Hashtbl.find meta_metatable name in
+    if not (matcher x)
+    then
+      failwith
+       (Printf.sprintf "Metavariable %s is used as %s"
+          (print_meta name) newty)
+  with Not_found ->
+    (if !Flag_parsing_cocci.show_SP
+    then
+      Common.pr2
+       (Printf.sprintf
+          "Metavariable %s is assumed to be %s metavariable"
+          (print_meta name) newty));
+    Hashtbl.add meta_metatable name builder
+
+let tmeta_to_type (name,pure,clt) =
+  (coerce_tmeta "a type" name (TMetaType(name,pure,clt))
+     (function TMetaType(_,_,_) -> true | _ -> false));
+  Ast0.wrap(Ast0.MetaType(P.clt2mcode name clt,pure))
+
+let tmeta_to_field (name,pure,clt) =
+  (coerce_tmeta "a field" name (TMetaField(name,pure,clt))
+     (function TMetaField(_,_,_) -> true | _ -> false));
+  P.meta_field (name,pure,clt)
+
+let tmeta_to_exp (name,pure,clt) =
+  (coerce_tmeta "an expression" name
+     (TMetaExp(name,Ast0.NoConstraint,pure,None,clt))
+     (function TMetaExp(_,_,_,_,_) -> true | _ -> false));
+  Ast0.wrap
+    (Ast0.MetaExpr(P.clt2mcode name clt,Ast0.NoConstraint,None,Ast.ANY,pure))
+
+let tmeta_to_param (name,pure,clt) =
+  (coerce_tmeta "a parameter" name (TMetaParam(name,pure,clt))
+     (function TMetaParam(_,_,_) -> true | _ -> false));
+  Ast0.wrap(Ast0.MetaParam(P.clt2mcode name clt,pure))
+
+let tmeta_to_statement (name,pure,clt) =
+  (coerce_tmeta "a statement" name (TMetaType(name,pure,clt))
+     (function TMetaType(_,_,_) -> true | _ -> false));
+  P.meta_stm (name,pure,clt)
+
+let tmeta_to_seed_id (name,pure,clt) =
+  (coerce_tmeta "an identifier" name
+     (TMetaId(name,Ast.IdNoConstraint,pure,clt))
+     (function TMetaId(_,_,_,_) -> true | _ -> false));
+  Ast.SeedId name
+
+let tmeta_to_ident (name,pure,clt) =
+  (coerce_tmeta "an identifier" name
+     (TMetaId(name,Ast.IdNoConstraint,pure,clt))
+     (function TMetaId(_,_,_,_) -> true | _ -> false));
+  Ast0.wrap(Ast0.MetaId(P.clt2mcode name clt,Ast.IdNoConstraint,pure))
+
+# 798 "parser_cocci_menhir.ml"
 let _eRR =
   Error
 
@@ -685,340 +808,372 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
     fun _tok ->
       match _tok with
       | EOF ->
-          175
+          191
       | TAnd _ ->
-          174
+          190
       | TAndLog _ ->
-          173
+          189
       | TAny _ ->
-          172
+          188
       | TArob ->
-          171
+          187
       | TArobArob ->
-          170
+          186
       | TAssign _ ->
-          169
+          185
       | TBang _ ->
-          168
+          184
       | TBang0 ->
-          167
+          183
       | TBreak _ ->
-          166
+          182
       | TCBrace _ ->
-          165
+          181
       | TCCro _ ->
-          164
+          180
       | TCEllipsis _ ->
-          163
+          179
       | TCPar _ ->
-          162
+          178
       | TCPar0 _ ->
-          161
+          177
       | TCase _ ->
-          160
+          176
       | TChar _ ->
-          159
+          175
       | TComma _ ->
-          158
+          174
       | TConstant ->
-          157
+          173
       | TContext ->
-          156
+          172
       | TContinue _ ->
-          155
+          171
       | TCppConcatOp ->
-          154
+          170
       | TDec _ ->
-          153
+          169
+      | TDeclaration ->
+          168
       | TDeclarer ->
-          152
+          167
       | TDeclarerId _ ->
-          151
+          166
       | TDefault _ ->
-          150
+          165
       | TDefine _ ->
-          149
+          164
       | TDefineParam _ ->
-          148
+          163
       | TDepends ->
-          147
+          162
       | TDisable ->
-          146
+          161
       | TDmOp _ ->
-          145
+          160
       | TDo _ ->
-          144
+          159
       | TDot _ ->
-          143
+          158
       | TDotDot _ ->
-          142
+          157
       | TEllipsis _ ->
-          141
+          156
       | TElse _ ->
-          140
+          155
       | TEq _ ->
-          139
+          154
       | TEqEq _ ->
-          138
+          153
       | TError ->
-          137
+          152
       | TEver ->
-          136
+          151
       | TExists ->
-          135
+          150
       | TExpression ->
-          134
+          149
       | TExtends ->
-          133
+          148
+      | TField ->
+          147
       | TFinalize ->
-          132
+          146
       | TFloat _ ->
-          131
+          145
       | TFor _ ->
-          130
+          144
       | TForall ->
-          129
+          143
       | TFresh ->
-          128
+          142
       | TFunDecl _ ->
-          127
+          141
       | TFunction ->
-          126
+          140
       | TGenerated ->
-          125
+          139
       | TGoto _ ->
-          124
+          138
       | TIdExpression ->
-          123
+          137
       | TIdent _ ->
-          122
+          136
       | TIdentifier ->
-          121
+          135
       | TIf _ ->
-          120
+          134
       | TInc _ ->
-          119
+          133
       | TIncludeL _ ->
-          118
+          132
       | TIncludeNL _ ->
-          117
+          131
       | TInitialiser ->
-          116
+          130
       | TInitialize ->
-          115
+          129
       | TInt _ ->
-          114
+          128
       | TInvalid ->
-          113
+          127
       | TIso ->
-          112
+          126
       | TIsoArgExpression ->
-          111
+          125
       | TIsoDeclaration ->
-          110
+          124
       | TIsoExpression ->
-          109
+          123
       | TIsoStatement ->
-          108
+          122
       | TIsoTestExpression ->
-          107
+          121
+      | TIsoToTestExpression ->
+          120
       | TIsoTopLevel ->
-          106
+          119
       | TIsoType ->
-          105
+          118
       | TIterator ->
-          104
+          117
       | TIteratorId _ ->
-          103
+          116
       | TLineEnd _ ->
-          102
+          115
       | TLocal ->
-          101
+          114
       | TLogOp _ ->
-          100
+          113
       | TMPtVirg ->
-          99
+          112
+      | TMeta _ ->
+          111
       | TMetaConst _ ->
-          98
+          110
+      | TMetaDecl _ ->
+          109
       | TMetaDeclarer _ ->
-          97
+          108
       | TMetaErr _ ->
-          96
+          107
       | TMetaExp _ ->
-          95
+          106
       | TMetaExpList _ ->
-          94
+          105
+      | TMetaField _ ->
+          104
+      | TMetaFieldList _ ->
+          103
       | TMetaFunc _ ->
-          93
+          102
       | TMetaId _ ->
-          92
+          101
       | TMetaIdExp _ ->
-          91
+          100
       | TMetaInit _ ->
-          90
+          99
+      | TMetaInitList _ ->
+          98
       | TMetaIterator _ ->
-          89
+          97
       | TMetaLocalFunc _ ->
-          88
+          96
       | TMetaLocalIdExp _ ->
-          87
+          95
       | TMetaParam _ ->
-          86
+          94
       | TMetaParamList _ ->
-          85
+          93
       | TMetaPos _ ->
-          84
+          92
       | TMetaStm _ ->
-          83
+          91
       | TMetaStmList _ ->
-          82
+          90
       | TMetaType _ ->
-          81
+          89
+      | TMetavariable ->
+          88
       | TMid0 _ ->
-          80
+          87
       | TMinus _ ->
-          79
+          86
       | TMinusFile _ ->
-          78
+          85
       | TMul _ ->
-          77
+          84
       | TName ->
-          76
+          83
       | TNever ->
-          75
+          82
       | TNotEq _ ->
-          74
+          81
       | TNothing ->
-          73
+          80
       | TOBrace _ ->
-          72
+          79
       | TOCro _ ->
-          71
+          78
       | TOEllipsis _ ->
-          70
+          77
       | TOInit _ ->
-          69
+          76
       | TOPar _ ->
-          68
+          75
       | TOPar0 _ ->
-          67
+          74
       | TOn ->
-          66
+          73
       | TOr _ ->
-          65
+          72
       | TOrLog _ ->
-          64
+          71
       | TPArob ->
-          63
+          70
       | TPCEllipsis _ ->
-          62
+          69
       | TPOEllipsis _ ->
-          61
+          68
       | TParameter ->
-          60
+          67
       | TPathIsoFile _ ->
-          59
+          66
       | TPlus _ ->
-          58
+          65
       | TPlus0 ->
-          57
+          64
       | TPlusFile _ ->
-          56
+          63
       | TPosAny ->
-          55
+          62
       | TPosition ->
-          54
+          61
       | TPragma _ ->
-          53
+          60
       | TPtVirg _ ->
-          52
+          59
       | TPtrOp _ ->
-          51
+          58
       | TPure ->
-          50
+          57
       | TReturn _ ->
-          49
+          56
       | TRightIso ->
-          48
+          55
       | TRuleName _ ->
-          47
+          54
       | TScript ->
-          46
+          53
       | TScriptData _ ->
+          52
+      | TShLOp _ ->
+          51
+      | TShROp _ ->
+          50
+      | TSizeof _ ->
+          49
+      | TStatement ->
+          48
+      | TStrict _ ->
+          47
+      | TString _ ->
+          46
+      | TSub _ ->
           45
-      | TShOp _ ->
+      | TSwitch _ ->
           44
-      | TSizeof _ ->
+      | TTilde _ ->
           43
-      | TStatement ->
+      | TTildeEq _ ->
           42
-      | TStrict _ ->
+      | TTildeExclEq _ ->
           41
-      | TString _ ->
+      | TType ->
           40
-      | TSwitch _ ->
+      | TTypeId _ ->
           39
-      | TTilde _ ->
+      | TTypedef ->
           38
-      | TTildeEq _ ->
+      | TUndef _ ->
           37
-      | TTildeExclEq _ ->
+      | TUnderscore ->
           36
-      | TType ->
+      | TUsing ->
           35
-      | TTypeId _ ->
+      | TVirtual ->
           34
-      | TTypedef ->
+      | TWhen _ ->
           33
-      | TUsing ->
+      | TWhenFalse _ ->
           32
-      | TVirtual ->
+      | TWhenTrue _ ->
           31
-      | TWhen _ ->
+      | TWhile _ ->
           30
-      | TWhenFalse _ ->
+      | TWhy _ ->
           29
-      | TWhenTrue _ ->
+      | TWhy0 ->
           28
-      | TWhile _ ->
+      | TWords ->
           27
-      | TWhy _ ->
+      | TXor _ ->
           26
-      | TWhy0 ->
+      | Tattr _ ->
           25
-      | TWords ->
+      | Tauto _ ->
           24
-      | TXor _ ->
+      | Tchar _ ->
           23
-      | Tattr _ ->
+      | Tconst _ ->
           22
-      | Tauto _ ->
+      | Tdouble _ ->
           21
-      | Tchar _ ->
+      | Tenum _ ->
           20
-      | Tconst _ ->
+      | Textern _ ->
           19
-      | Tdouble _ ->
+      | Tfloat _ ->
           18
-      | Tenum _ ->
+      | Tinline _ ->
           17
-      | Textern _ ->
+      | Tint _ ->
           16
-      | Tfloat _ ->
+      | Tlist ->
           15
-      | Tinline _ ->
+      | Tlong _ ->
           14
-      | Tint _ ->
+      | Tptrdiff_t _ ->
           13
-      | Tlist ->
+      | Tregister _ ->
           12
-      | Tlong _ ->
+      | Tshort _ ->
           11
-      | Tregister _ ->
+      | Tsigned _ ->
           10
-      | Tshort _ ->
+      | Tsize_t _ ->
           9
-      | Tsigned _ ->
+      | Tssize_t _ ->
           8
       | Tstatic _ ->
           7
@@ -1087,6 +1242,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr ()
       | TDec _v ->
           Obj.repr _v
+      | TDeclaration ->
+          Obj.repr ()
       | TDeclarer ->
           Obj.repr ()
       | TDeclarerId _v ->
@@ -1127,6 +1284,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr ()
       | TExtends ->
           Obj.repr ()
+      | TField ->
+          Obj.repr ()
       | TFinalize ->
           Obj.repr ()
       | TFloat _v ->
@@ -1179,6 +1338,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr ()
       | TIsoTestExpression ->
           Obj.repr ()
+      | TIsoToTestExpression ->
+          Obj.repr ()
       | TIsoTopLevel ->
           Obj.repr ()
       | TIsoType ->
@@ -1195,8 +1356,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
       | TMPtVirg ->
           Obj.repr ()
+      | TMeta _v ->
+          Obj.repr _v
       | TMetaConst _v ->
           Obj.repr _v
+      | TMetaDecl _v ->
+          Obj.repr _v
       | TMetaDeclarer _v ->
           Obj.repr _v
       | TMetaErr _v ->
@@ -1205,6 +1370,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
       | TMetaExpList _v ->
           Obj.repr _v
+      | TMetaField _v ->
+          Obj.repr _v
+      | TMetaFieldList _v ->
+          Obj.repr _v
       | TMetaFunc _v ->
           Obj.repr _v
       | TMetaId _v ->
@@ -1213,6 +1382,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
       | TMetaInit _v ->
           Obj.repr _v
+      | TMetaInitList _v ->
+          Obj.repr _v
       | TMetaIterator _v ->
           Obj.repr _v
       | TMetaLocalFunc _v ->
@@ -1231,6 +1402,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
       | TMetaType _v ->
           Obj.repr _v
+      | TMetavariable ->
+          Obj.repr ()
       | TMid0 _v ->
           Obj.repr _v
       | TMinus _v ->
@@ -1303,7 +1476,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr ()
       | TScriptData _v ->
           Obj.repr _v
-      | TShOp _v ->
+      | TShLOp _v ->
+          Obj.repr _v
+      | TShROp _v ->
           Obj.repr _v
       | TSizeof _v ->
           Obj.repr _v
@@ -1313,6 +1488,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
       | TString _v ->
           Obj.repr _v
+      | TSub _v ->
+          Obj.repr _v
       | TSwitch _v ->
           Obj.repr _v
       | TTilde _v ->
@@ -1327,6 +1504,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
       | TTypedef ->
           Obj.repr ()
+      | TUndef _v ->
+          Obj.repr _v
+      | TUnderscore ->
+          Obj.repr ()
       | TUsing ->
           Obj.repr ()
       | TVirtual ->
@@ -1371,12 +1552,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr ()
       | Tlong _v ->
           Obj.repr _v
+      | Tptrdiff_t _v ->
+          Obj.repr _v
       | Tregister _v ->
           Obj.repr _v
       | Tshort _v ->
           Obj.repr _v
       | Tsigned _v ->
           Obj.repr _v
+      | Tsize_t _v ->
+          Obj.repr _v
+      | Tssize_t _v ->
+          Obj.repr _v
       | Tstatic _v ->
           Obj.repr _v
       | Tstruct _v ->
@@ -1393,19 +1580,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
   
   let default_reduction =
-    (16, "\000\000\000\000\002\152\000z\000\000\000\000\002\220\001I\000\000\001G\001H\001F\000\000\001K\001J\000\001\000\000\001\134\000\000\000\000\000\137\000\000\000\000\001v\000\162\000\000\000\000\000\149\000\000\000\000\000\154\000\153\000\000\000\150\000\000\000\148\000\000\000\000\000\000\000\152\000\000\000\151\003\017\003\016\000\000\000\000\000\142\000\000\000\000\000\147\000\146\000\000\000\143\000\000\000\141\000\000\000\000\000\000\000\145\000\000\000\144\000\000\000\156\000\000\000\000\000\161\000\160\000\000\000\157\000\000\000\164\000\000\001C\001B\000\000\000\165\000\000\000\163\000\136\000\000\000\155\000\000\000\170\000\000\000\000\000\000\000\159\000\000\000\000\000\000\003\007\000\000\000\000\000\000\000\000\000\000\003\012\000\000\000\000\000\167\000\000\003\014\000\000\000\000\000\000\003\137\002b\000\000\003\135\000\000\002|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\134\003\136\002h\001>\002g\001<\001=\002f\002e\002d\002`\000\000\000\000\002a\001\011\000\000\002c\000\000\003\133\000\000\000c\001;\002C\000\000\000\000\002F\000\000\000\015\000\000\000\000\000\000\000\000\001\012\002_\002k\000[\000\021\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\131\002 \000R\001\021\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\022\000\000\002I\001\023\000\014\000\016\000\000\000\000\000\192\000\000\000\000\000\179\000\000\000\000\000\184\000\183\000\000\000\180\000\000\000\178\000\000\000\000\000\000\000\182\000\000\000\181\000\000\000\000\000\172\000\000\000\000\000\177\000\176\000\000\000\173\000\000\000\171\000\000\000\000\000\000\000\175\000\000\000\174\000\000\000\186\000\000\000\000\000\191\000\190\000\000\000\187\000\000\000\194\000\000\000\000\000\195\000\000\000\193\000\000\000\185\000\000\000\200\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\000\199\000\000\000\000\000\139\000\000\000\000\000\000\000\000\000\000\000\000\002\007\000\208\000\000\000\000\000n\000o\002\006\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\219\000\214\000\000\001\234\000\000\000\000\000\000\000\000\000\207\000\205\000\220\000\000\001~\000\000\000\000\003\t\000\000\003\008\000\000\000\000\000\000\000\000\000\000\000\197\000\000\000\000\000\000\000\000\000\198\000\196\000\000\000\000\003\011\003\015\000\188\000\000\000\000\001\026\000\000\000\000\002D\002G\000\000\002E\002H\003l\003m\003k\000\000\002i\003j\000\000\002\131\000\000\000\000\002\130\002\129\002\128\002\127\002~\002z\000\000\000\000\002{\000\000\002}\000\000\000\000\000g\002Q\000\000\000\000\002T\000\000\000\000\002W\000\000\000\000\002R\002U\000\000\002S\002V\002\133\002y\003z\003{\003y\003x\000h\000\000\000\000\000W\000\000\000V\001\031\000\000\001\243\000\000\000\000\000\000\000\000\000\000\001\016\001\249\000\000\000\000\001\158\000U\0001\001\t\000_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\000\000\0003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\203\000\000\000\000\001\228\000\000\001\148\001\209\000\000\000\000\001\227\000\000\001\146\001\208\000\000\000\000\000d\000\000\002\132\000\000\000\000\003}\003|\000\000\001\244\000\000\000\000\003o\003n\000\000\000Q\000\204\000\000\001x\000\000\003\n\000\000\000\000\000\000\000\000\000\168\000\166\000\000\001\020\000\000\000\000\000\169\000\158\000\000\000\000\001a\000\000\001`\000\000\001n\000\000\001\136\000\000\000\000\000\000\003?\000\000\000\000\0032\000\000\000\000\0037\0036\000\000\0033\000\000\0031\000\000\000\000\000\000\0035\000\000\0034\000\000\000\000\003+\000\000\000\000\0030\003/\000\000\003,\000\000\003*\000\000\000\000\000\000\003.\000\000\003-\000\000\0039\000\000\000\000\003>\003=\000\000\003:\000\000\003A\000\000\000\000\003B\000\000\003@\000\000\0038\000\000\003G\000\000\000\000\000\000\003<\000\000\000\000\003f\000\000\000\000\000\000\000\000\003F\003;\000\000\003h\000\000\000\000\002\234\003g\000\129\000\000\000\248\000\000\000\000\000\000\000\000\003D\000\000\000\000\000\000\000\000\003E\003C\000\000\000\000\003]\000\000\000\000\003P\000\000\000\000\003U\003T\000\000\003Q\000\000\003O\000\000\000\000\000\000\003S\000\000\003R\000\000\000\000\003I\000\000\000\000\003N\003M\000\000\003J\000\000\003H\000\000\000\000\000\000\003L\000\000\003K\000\000\003W\000\000\000\000\003\\\003[\000\000\003X\000\000\003_\000\000\000\000\003`\000\000\003^\000\000\003V\000\000\003e\000\000\000\000\000\000\003Z\000\000\000\000\000\000\000\000\003d\003Y\000\000\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\000\003c\003a\003\003\003\005\003\006\003\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\210\000\209\000\000\000\000\000w\000\000\000\000\000\000\002o\000\000\000\000\000\000\002w\000\000\000\000\002v\000\000\003v\002u\002t\002s\002r\002q\001]\002m\000\000\000\000\002n\000\000\002p\000\000\000\000\000\000\000\000\000\000\000e\002J\000\000\000\000\002M\000\000\000\000\002P\000\000\000\000\002K\002N\000\000\002L\002O\002x\002l\000f\003s\003t\003r\003q\003u\000\000\000\000\000\000\000\000\001\008\001\007\000\000\000\000\000\000\000\000\000\000\001S\000\000\001\018\001P\000\000\001\006\001V\000\000\000\000\000\000\001W\000\000\000\000\001X\000\000\001\130\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\000\000\001U\000\000\000\000\001[\000\000\000\000\000\000\000\000\000\000\000\000\000t\000q\000r\001\\\001R\000\000\001Q\000\000\000\241\000\000\002\214\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\247\000\000\000\000\000\000\000\000\000\000\000\000\001A\000\000\000\000\000\000\000\234\000\000\000\231\000\000\000\000\000\000\000\000\000\000\000\242\000\000\000\238\000\000\000\000\000\000\000\000\000\239\000\000\000\235\000\000\000\000\000\000\002\137\000\000\000\000\000\000\000\000\002\144\000\000\000\000\002\143\002\142\002\141\002\140\002\139\002\135\000\000\000\000\002\136\000\000\002\138\000\000\000\000\000i\002X\000\000\000\000\002[\000\000\000\000\002^\000\000\000\000\002Y\002\\\000\000\002Z\002]\002\146\002\134\003\129\003\130\003\128\003\127\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\145\000\000\001\210\000X\000?\001\030\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\135\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\132\003\131\000\000\002\250\000\000\002\249\000\000\000\000\000\000\000\000\003\144\000\000\000\000\000\000\003\145\000\000\000\018\000\000\000\000\000\000\003\140\000\000\001\160\000\000\000\000\000\000\000\221\002\240\001t\001s\001M\001L\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\001\014\000\254\000\000\001\132\000\000\000\000\000\253\000\249\000\000\001\000\000\250\000\255\000\000\002\252\000\000\002\251\002\237\000\000\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\000\000\000\002\247\002\239\000\000\002\253\000\000\002\241\000\000\000\225\000\000\003\000\000\000\001O\000\000\000\000\003\021\000\000\003\028\000\227\000\000\000\232\000\000\003\022\000\226\000\000\003\023\000\000\003\030\000\000\000\000\000\000\000\000\000\245\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\000\000\246\000\000\000\000\000\000\000\000\001@\000\000\000\000\000\000\000\233\000\000\000\230\000\000\000\000\000\000\000\000\000\000\000\240\000\000\000\236\000\223\000\222\000\000\003\031\003 \000\000\003!\000\000\003\"\000\000\001N\002\244\000\000\000\000\001\232\000\000\001\156\001\214\000\000\002\238\000\000\000\000\000\000\002\243\000\000\000\000\000\000\0014\000\000\001.\000\000\001/\000\000\0019\001-\0018\000\000\002\255\001:\000\000\000\228\000\000\000\000\000\000\000\000\0016\0011\001\229\000\000\0012\000\000\0013\000\000\001\150\001\211\000\000\000\000\000\000\001\239\000\000\001\237\000\000\000\000\001\241\001\235\000\000\001\242\001\236\000\000\003\001\001\245\000\000\000\224\000\000\000\000\001\230\000\000\001\152\001\212\000\000\003\141\000\000\003\138\000\000\003\139\000\019\000\020\000\000\000\000\002\193\000\000\002\192\000\000\000\000\002\195\000\000\002\194\000\000\000\000\000\000\002\016\000\000\000\000\002\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\023\000\000\000\000\002\026\000\000\002\n\000\000\000\000\002\013\000\000\000\000\000\000\002\017\000\000\000\000\002\021\000\000\000\000\001\231\000\000\000\000\002\014\000\000\000\000\002\018\002\190\002\011\000\000\002\191\000\000\000\000\000\000\000\000\002\024\000\000\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\002\025\000\000\002\t\000\000\000\000\002\012\000\000\000\000\000\000\002\015\000\000\000\000\002\019\000\000\001\154\001\213\000\000\002\196\000\000\000\000\000\000\003\142\000\017\000u\000\000\003\143\000\000\000\000\002\210\000\000\000\000\003\002\000a\000\000\000\000\000\000\000b\000\000\002\248\000\000\001z\000\000\001\128\002\245\000\000\000\000\001g\000\000\001f\000\000\001o\000\000\001\142\000\000\000\000\000\000\001e\000\000\001d\000\000\001l\000\000\001\140\000\000\000\000\000\000\001i\000\000\001h\000\000\001m\000\000\001\144\000\000\000\000\000\000\001j\000\000\000\000\000\000\001c\000\000\001b\000\000\001p\000\000\001\138\000\000\000\000\000\000\001k\000\002\000\000\000N\000O\000\000\000\000\002\164\002\168\002\172\002\160\002\157\000\000\000\000\001\177\002\169\002\176\002\161\002\175\002\159\002\174\002\163\002\155\002\162\002\171\002\158\002\165\002\156\002\167\002\173\002\170\002\166\000~\000\000\000\000\002\228\000\000\000\000\002\204\000\000\000\000\002\206\002\205\002\180\000\000\000\000\002\236\002\153\002\154\000\000\001\189\000M\001q\000\003\000\000\000\000\002\149\000\000\002\030\000\000\000\128\000\000\000\000\002\232\000\000\000\000\000\000\000y\000\000\000\000\002\218\000\000\002\003\002\002\001\172\002\182\000\000\001\205\000\000\002\150\000\000\000\000\000{\000\000\000\000\002\222\000\000\001\186\000\000\000\000\001\182\000\000\000\000\000\000\001\185\000\000\001\184\000\000\000\000\000\000\000\000\000\000\000\000\001\206\000\000\001\180\000\000\001\179\000\000\000v\000\000\000\000\002\212\000\000\000\000\001\176\000\000\000\000\000}\000\000\000\000\002\226\000\000\000\000\002\188\000\000\002\187\000\000\000\000\000\000\002\001\002\000\002\185\002$\002\178\002\186\000\000\001\192\000\000\000\000\000\000\001\188\000\000\001\194\000\000\000\000\001\183\000\000\000\000\001\190\000\000\000\000\001\191\000\000\000\000\000\000\000\000\000\000\000\000\001\207\000\000\001\181\000\000\001\251\000\127\000\000\000\000\002\230\000\000\000\000\000\000\001E\000x\001D\000\000\000\000\002\216\000\000\001\253\001\252\001\170\002\181\000\000\000|\000\000\000\000\002\224\000\000\000\000\000\000\000\000\001\255\001\254\002\183\002\"\002\177\002\184\000\000\001\199\000\000\001\203\000\000\000\000\001\195\000\000\000\000\000\000\001\187\000\000\001\193\000\000\000\000\000\000\000\000\001\175\000\000\000\000\001\202\000\000\001\201\000\000\000\000\000\000\000\000\001\198\000\000\000\000\001\197\000\000\001\196\000\000\000\000\000\000\000\000\001\200\000\000\001\204\000\000\000\000\001r\000\004\000\000\001\178\000\005\000\000\000\000\001\"\000\006\000\000\001\218\001\219\001\217\000\000\001\216\003\018\001\166\000\000\000\007\000\000\001\221\001\222\001\220\000\000\000\000\000\000\000\000\001$\000\000\000\000\000\000\000\000\001)\001+\001*\001%\001'\001&\000\000\000\000\000\000\000\000\000\000\003\024\003%\000\000\003\025\000\000\003\026\000\000\000\000\003\019\000\000\000\000\000\000\000\000\003$\000\000\000\000\003#\001\226\001\225\000\000\000\000\001\168\001\215\001\223\000\000\000\000\000\000\000\000\002\005\000\000\000\000\000l\000m\002\004\000\000\000\000\000\000\000\217\000\000\001|\000\000\000\000\000\216\000\212\000\000\000\000\000\000\000\000\001?\000\000\003(\000\000\003)\000\000\000\000\001\248\001\246\000\000\001\247\000\008\000\000\000\t\000\000\0023\0024\0022\000\000\0021\000\000\000\n\000\000\0026\0027\0025\000\000\0029\000\000\000\000\000\000\002+\000\000\000\000\002-\000\000\002'\000\000\002)\000\000\002.\000\000\002/\000\000\002(\002&\002:\001\174\0020\000\000\002<\000\000\002;\000\000\002=\000\000\002\189\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002>\000\000\000\000\002A\000\000\002@\000\000\002?\001\001\000\000\000\000\000\000\000\000\001\002\002B\000\000\000\000\002\200\000\000\000\000\000\000\002\201\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\002\208\000k\000\000\000\000\001\n\000\000\001\028\001\027\000\000\001_\000\000\002\199\001\164\001\162\000\000\000\000\000\000\002\202\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\198\000\000\000\000\000\000\000\000\000\000\000\000\002\197\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\203")
+    (16, "\000\000\000\000\003\016\000\131\000\000\000\000\003`\001\130\000\000\001\128\001\129\001\127\000\000\001\132\001\131\000\001\000\000\001\185\000\000\000\000\000\147\000\000\000\000\001\175\000\196\000\000\000\000\000\183\000\000\000\000\000\188\000\187\000\000\000\184\000\000\000\182\000\000\000\000\000\000\000\186\000\000\000\185\003\156\003\155\000\000\000\200\000\000\000\199\000\000\000\000\000\176\000\000\000\000\000\181\000\180\000\000\000\177\000\000\000\175\000\000\000\000\000\000\000\179\000\000\000\178\000\000\000\190\000\000\000\201\000\000\000\000\000\195\000\194\000\000\000\191\000\000\000\198\000\000\000\000\000\000\002\019\002\018\002\017\000\000\001-\001,\000\000\000\000\002*\000\000\001\199\002\021\000\000\000\000\000\000\000\000\000\000\0014\000\000\000\000\001M\001|\001L\001K\001J\001I\001{\001H\001G\002V\000\000\000\000\002U\000\000\000\000\000\000\000\159\000\000\000\000\000\158\002Y\001E\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\204\000\202\000\000\000\197\000\146\000\000\000\189\000\000\000\209\000\000\000\000\000\000\000\193\000\000\000\000\000\000\003\142\003\149\003\148\003\150\000\000\000\000\000\000\000\000\003\184\000\000\003\143\003\144\000\000\000\000\000\206\000\000\003\146\000\000\000\000\000\000\004+\002\218\000\000\000\000\004)\000\000\002\244\000\000\000\000\000\000\000\000\000\000\000\000\004(\004*\002\224\001w\002\223\001v\002\222\002\221\002\220\002=\002\216\000\000\000\000\002\217\001.\000\000\000\000\000\000\002\219\000\000\004'\000\000\000\000\004\b\002\187\000\000\000\000\002\190\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\001/\001u\002\215\002\227\000m\000\021\000o\000\000\000\000\000Q\000\000\000\000\000\000\000\000\000\000\000\000\000R\000\000\000S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000d\0019\000p\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000n\000f\000\000\000e\000\000\002\188\002\191\000\000\002\189\002\192\004\007\000\000\002\252\000\000\000\247\000\000\000\000\002+\000\000\001\201\002\022\000\000\000\000\002)\000\000\000\000\000\231\000\000\000\000\000\218\000\000\000\000\000\223\000\222\000\000\000\219\000\000\000\217\000\000\000\000\000\000\000\221\000\000\000\220\000\000\000\235\000\000\000\234\000\000\000\000\000\211\000\000\000\000\000\216\000\215\000\000\000\212\000\000\000\210\000\000\000\000\000\000\000\214\000\000\000\213\000\000\000\225\000\000\000\236\000\000\000\000\000\230\000\229\000\000\000\226\000\000\000\233\000\000\000\000\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\239\000\237\000\000\000\232\000\000\000\224\000\000\000\244\000\000\000\000\000\000\000\228\000\000\000\000\000\000\000\000\000\243\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002|\000\252\000\253\000\000\000\000\000\000\000\000\000\000\002j\002{\0021\000\000\000\000\000\000\000\000\000\000\001D\001\001\000\000\0022\000\000\000\000\000\000\000\000\000\251\000\000\000\249\000\000\001\177\000\171\000\000\000\000\000\170\002n\002k\000\000\000\000\003\152\000\000\003\151\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\242\000\240\003\183\000\000\000\000\003\154\003\147\000\227\000\000\001\197\002\020\000\000\000\000\002\251\000\000\000\000\002\250\002\249\002\248\002\247\002\246\002\242\000\000\004\019\002\243\000\000\004\020\002\245\000\000\004\022\000\000\000y\002\201\000\000\000\000\002\204\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000i\000\000\000h\000\151\002\253\002\241\000\014\000\016\000g\0003\001*\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\002G\002K\000\000\000\000\000\150\002H\001<\001:\000\000\002\207\000\000\000\000\002\202\002\205\000\000\002\203\002\206\004\021\000z\000\000\002\193\004#\004$\004\"\004!\004\006\000\000\002\225\004\005\001R\000\000\002;\000\000\000\000\000\000\000\000\000\000\0012\002B\000\000\000\000\001\213\000\000\002\226\000\000\000\000\000v\000\000\000\000\004\024\004\023\000\000\002<\000\000\000\000\004&\004%\000\000\000\000\004\n\004\t\000\000\000c\000\248\000\000\003\153\000\000\000\000\000\000\000\000\000\207\000\205\000\000\0018\000\000\000\000\000\208\000\192\000\000\000\000\001\153\000\000\001\152\000\000\001\167\000\000\001\187\000\000\000\000\000\000\003\206\000\000\000\000\003\193\000\000\000\000\003\198\003\197\000\000\003\194\000\000\003\192\000\000\000\000\000\000\003\196\000\000\003\195\000\000\003\210\000\000\003\209\000\000\000\000\003\186\000\000\000\000\003\191\003\190\000\000\003\187\000\000\003\185\000\000\000\000\000\000\003\189\000\000\003\188\000\000\003\200\000\000\003\211\000\000\000\000\003\205\003\204\000\000\003\201\000\000\003\208\000\000\000\000\000\000\000\000\003\213\000\000\000\000\000\000\000\000\003\214\003\212\000\000\003\207\000\000\003\199\000\000\003\219\000\000\000\000\000\000\003\203\000\000\001\230\000\000\003\255\000\000\000\000\002.\001\231\000\000\001\207\002\026\000\000\000\000\000\000\000\000\003\218\003\202\004\000\000\000\004\003\004\002\000\000\000\000\003p\004\001\000\139\000\000\001\030\000\000\000\000\000\000\000\000\003\216\000\000\000\000\000\000\000\000\003\217\003\215\000\000\000\000\003\241\000\000\000\000\003\228\000\000\000\000\003\233\003\232\000\000\003\229\000\000\003\227\000\000\000\000\000\000\003\231\000\000\003\230\000\000\003\245\000\000\003\244\000\000\000\000\003\221\000\000\000\000\003\226\003\225\000\000\003\222\000\000\003\220\000\000\000\000\000\000\003\224\000\000\003\223\000\000\003\235\000\000\003\246\000\000\000\000\003\240\003\239\000\000\003\236\000\000\003\243\000\000\000\000\000\000\000\000\003\248\000\000\000\000\000\000\000\000\003\249\003\247\000\000\003\242\000\000\003\234\000\000\003\254\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\000\003\253\003\237\000\000\000\000\000\000\000\000\003\251\000\000\000\000\000\000\000\000\003\252\003\250\003\138\003\140\003\141\003\139\000\000\000\000\000\000\000\000\000\000\001\135\000\000\000\000\000\000\000\000\000\000\000\255\001\011\000\254\000\000\000\000\000\128\000\000\000\000\000\000\002\231\000\000\000\000\000\000\004\017\004\016\000\000\000\000\002\239\000\000\000\000\002\238\000\000\000\000\002\237\002\236\002\235\002\234\002\233\001\149\002\229\000\000\004\012\002\230\000\000\004\r\002\232\000\000\004\015\000\000\000w\002\194\000\000\000\000\002\197\000\000\000\000\002\200\000\000\000\000\002\195\002\198\000\000\002\196\002\199\002\240\002\228\004\014\000x\000\000\000\000\000\000\000\000\001)\001(\000\000\000\000\001\147\001\146\000\000\000\000\000\000\000\000\001\141\000\000\0016\001\139\000\000\001'\000\000\002]\000\000\000\000\000\000\000\000\001\144\000\000\001\183\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\000\001\145\000\000\000\000\002\\\000\000\000\000\000\000\000\163\000\000\000\000\000\162\002`\001@\000\000\001\143\001\148\000\000\001\140\000\000\001\023\000\000\003Z\000\000\000\000\001\019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\000\000\000\000\001\029\001\\\001[\000\000\000\000\000\000\000\000\001z\000\000\000\000\000\000\000\000\001\016\000\000\001\r\000\000\000\000\000\000\000\000\000\000\001\024\000\000\001\020\000\000\000\000\000\000\000\000\001\021\000\000\001\017\000\000\000\000\000\000\003\001\000\000\000\000\000\000\004\031\004\030\000\000\003\129\000\000\003\128\000\000\000\000\000\000\000\000\0042\000\000\000\000\000\000\0043\000\000\000\018\000\000\000\000\000\000\000\000\003\b\000\000\000\000\000\000\003\007\003\006\003\005\003\004\003\003\002\255\000\000\004\026\003\000\000\000\004\027\003\002\000\000\004\029\000\000\000{\002\208\000\000\000\000\002\211\000\000\000\000\002\214\000\000\000\000\002\209\002\212\000\000\002\210\002\213\003\n\002\254\004\028\000\000\000\000\000l\000\000\000k\000\000\003\t\000\000\002\023\000j\000B\001Q\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000|\000\000\004.\000\000\001\215\000\000\000\000\000\000\001\002\003w\001\173\000\000\001\172\001\134\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\0010\000\000\000\000\002N\000\000\000\000\000\154\002R\002O\001>\001\031\000\000\001!\001 \000\000\003\131\000\000\003\130\003s\000\000\000\000\000\000\000\000\000\000\003}\000\000\003\132\000\000\000\000\000\000\000\000\003~\003u\000\000\003x\000\000\001\006\001\136\000\000\003\135\000\000\001\138\000\000\000\000\003\162\000\000\003\169\001\b\000\000\001\014\000\000\003\163\001\007\000\000\003\164\000\000\003\171\000\000\000\000\000\000\000\000\001\027\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\028\000\000\000\000\000\000\000\000\001y\000\000\000\000\000\000\001\015\000\000\001\012\000\000\000\000\000\000\000\000\000\000\001\022\000\000\001\018\001\004\001\003\000\000\003\172\003\173\000\000\003\174\000\000\003\175\000\000\001\137\003{\000\000\000\000\0020\000\000\001\211\002\028\000\000\003t\000\000\000\000\000\000\003z\000\000\000\000\000\000\001n\000\000\001h\000\000\001i\000\000\001s\001g\001r\000\000\003\134\001t\000\000\001\t\000\000\000\000\000\000\000\000\001p\001k\002,\000\000\001l\000\000\001m\000\000\001\203\002\024\000\000\000\000\000\000\0027\000\000\0025\000\000\000\000\0029\0023\000\000\002:\0024\000\000\003\136\002>\000\000\001\005\000\000\000\000\002-\000\000\001\205\002\025\000\000\004/\000\000\004,\000\000\004-\000\019\000\020\000\000\000\000\003=\000\000\003<\000\000\002~\000\000\003?\000\000\003>\000\000\000\000\000\000\002\134\000\000\000\000\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\141\000\000\000\000\002\144\000\000\002\128\000\000\000\000\002\131\000\000\000\000\000\000\002\135\000\000\000\000\002\139\000\000\000\000\002/\000\000\000\000\002\132\000\000\000\000\002\136\003:\002\129\000\000\003;\000\000\000\000\000\000\000\000\002\142\000\000\002}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\140\000\000\000\000\002\143\000\000\002\127\000\000\000\000\002\130\000\000\000\000\000\000\002\133\000\000\000\000\002\137\000\000\001\209\002\027\000\000\003@\000\000\000\000\000\000\0040\000\017\000~\000\000\0041\000\000\000\000\003V\000\000\000\000\003\137\000s\000\000\000\000\000\000\000t\000\000\003\127\000\000\001\179\000\000\001\181\003|\000\000\000\000\001\159\000\000\001\158\000\000\001\168\000\000\001\193\000\000\000\000\000\000\001\157\000\000\001\156\000\000\001\165\000\000\001\191\000\000\000\000\000\000\001\164\000\000\000\000\000\000\001\161\000\000\001\160\000\000\001\166\000\000\001\195\000\000\000\000\000\000\001\162\000\000\000\000\000\000\001\155\000\000\001\154\000\000\001\169\000\000\001\189\000\000\000\000\000\000\001\163\000\002\000\000\000`\000a\000\000\000\000\003\026\003\030\003\"\003\022\003\019\000\000\000\000\003\031\003&\003\023\003%\003\021\003$\003\025\003\017\003\024\003!\003\020\003\027\003\018\003\029\003#\003 \003\028\001\236\001\235\000\137\000\000\000\000\003l\000\000\000\000\003O\000\000\000\000\003R\003P\003Q\0030\000\000\000\000\003r\003(\003'\003)\000\000\001\253\000_\001\170\000\003\000\000\000\000\003\r\000\000\002\148\000\000\000\138\000\000\000\000\003n\000\000\000\000\000\000\000\130\000\000\000\000\003^\000\000\002x\002w\001\227\0031\000\000\002\012\000\000\003\014\000\000\000\000\000\132\000\000\000\000\003b\000\000\001\250\000\000\000\000\001\242\000\000\000\000\000\000\001\249\000\000\001\245\000\000\000\000\000\000\001\217\001\216\000\000\000\000\000\000\002\r\000\000\001\240\000\000\001\239\000\000\000\127\000\000\000\000\003X\000\000\000\000\001\234\000\000\000\000\001\238\000\000\000\000\000\135\000\000\000\000\003h\000\000\000\000\0038\000\000\0037\000\000\000\000\000\000\002v\002u\0035\002\156\003,\0036\000\000\002\000\000\000\000\000\000\000\001\252\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\002\016\000\000\001\244\000\000\001\243\000\000\000\000\000\000\003.\000\136\000\000\000\000\003j\000\000\003-\000\000\001\254\000\000\000\000\001\255\000\000\000\000\000\000\000\000\000\000\000\000\002\015\000\000\001\248\000\000\001\247\000\000\000\000\001V\000\000\001U\000\000\000\000\000\000\000\000\000\000\002\014\000\000\001\241\000\000\001T\000\000\002D\000\133\000\000\000\000\003d\000\000\000\000\000\000\000\000\003\158\003\157\000\000\000\000\001~\000\129\001}\000\000\000\000\003\\\000\000\002p\002o\002r\003*\002\152\002q\001S\000\000\000\134\000\000\000\000\003f\000\000\000\000\000\000\000\000\002t\002s\0034\0032\002\154\003+\0033\000\000\002\007\000\000\002\n\000\000\000\000\002\003\000\000\000\000\000\000\001\251\000\000\002\001\000\000\000\000\001\246\000\000\000\000\000\000\000\000\000\000\000\000\001\233\000\000\000\000\002\t\000\000\002\b\000\000\000\000\000\000\000\000\002\006\000\000\000\000\002\005\000\000\002\004\000\000\000\000\002\011\000\000\000\000\001\171\000\004\000\000\001\237\000\005\000\000\000\000\001Y\000\006\000\000\002 \002!\002\031\000\000\002\030\003\159\001\223\000\000\000\007\000\000\002#\002$\002\"\000\000\000\000\000\000\000\000\001^\000\000\000\000\000\000\000\000\001c\001e\001d\001_\001a\001`\000\000\000\000\000\000\000\000\000\000\003\165\003\178\000\000\003\166\000\000\003\167\000\000\000\000\003\160\000\000\000\000\000\000\000\000\003\177\000\000\000\000\003\176\002(\002'\000\000\000\000\001\225\002\029\002%\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\002c\002y\000\000\000\000\000\000\000\167\000\000\000\000\000\166\002g\002d\001B\001\000\000\000\000\000\000\000\000\000\001x\001Z\000\000\003\181\000\000\003\182\000\000\000\000\002A\002?\000\000\002@\000\b\000\000\000\t\000\000\002\171\002\172\002\170\000\000\002\169\000\000\000\n\000\000\002\174\002\175\002\173\000\000\002\177\000\000\000\000\000\000\002\163\000\000\000\000\002\165\000\000\002\159\000\000\002\161\000\000\002\166\000\000\002\167\000\000\002\160\002\158\002\178\001\229\002\168\000\000\002\180\000\000\002\179\000\000\002\181\000\000\0039\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\002\185\000\000\002\184\000\000\002\183\001\"\000\000\000\000\000\000\000\000\001#\002\186\000\000\000\000\000\000\003E\000\000\003D\000\000\000\000\000\000\000\000\003F\000\000\000\000\001X\000\000\000\000\000\000\000\000\000\000\003T\000}\000\000\000\000\001+\000\000\001O\001N\000\000\001\151\000\000\003C\001\221\001\219\000\000\000\000\000\000\000\000\003G\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003B\000\000\000\000\000\000\000\000\000\000\000\000\003A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003N\000\000\000\000\003M\000\000\003J\000\000\000\000\000\000\000\000\000\000\003K\000\000\000\000\000\000\003L\000\r\000\000\003H\000\000\003I")
   
   let error =
-    (176, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\002\000C\000\000\002\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001*\134\128P!\170\008\t\012\192\140\006\128\136w\130@\000\142d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001v\142\000\000\001\136\000\008\000\192\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001v\142\000\000\001\136\000\008\000\192\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\002 \001\000\000\016@@\000\000\000\000 \000\000\000\000\004\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\008\000\000\000 \000\000\000\000\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\016\000\002 \000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\008\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\152&\203%\128\000\n\000\129\000\0007@Bxw\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\008 \192%\128\000\n\000\000\000\0006@\002hw\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\0006@\002xw\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\006\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000&@\002x7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000 \001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\000\000\000\004\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\000\000 \000\000\000\002 \000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000 \000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000 \001\000\000\000\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\008\000\000\000 \000\000\000\000\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\144\"\201%\000\000\008\000\129\000\0005@@\016G\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\0004@\000\016G\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\004\000\000\016\000\000\000\000\002\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\004\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\006\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\001 \000\008\128\"\192%\000\000\008\000\128\000\000$@\000\016\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\016\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\136\000\008\132\128\140\002\000\128!\000\000\000\002d1z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\136\000\008\004\128\140\002\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\008\000\000\000 \000\000\000\000\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000 \001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\008\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\008\000\000\000 \000\000\000\000\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\140@\000\004\128\008v\130@\000\140\000\000z\213x\000 \001\000\000\016@@\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \001\000\000\016\000@\000@\000\000 \000\000\003\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\008\016 \201%\000\000\008\000\001\000\000!@B\000\006\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\001 \000\008\152&\203%\128\000\n\000\129\000\0007@BPw\000\000\000\002\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\024 \201%\128\000\008\000\001\000\0003@B@F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\017\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\017\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001\000\000\008\000 \192%\000\000\008\000\000\000\000 @\002\000\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\017\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\140\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\t\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\008\000\t\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000 \001\000\000\000\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\143Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\152&\203%\128\000\n\000\129\000\0005@@Pw\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\0004@\000Pw\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\006\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7\000\000\000\000\002\144\000 \024\005\001\157\160\000a \016\000\000A\000\130\000\000\001 \000\008\136&\194%\128\000\n\000\128\000\000$@\000P7z\213x\000\"\145\000$\026\005A\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\008$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000 \000\000\000\000\000\000A\016\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\133q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\141QB\130\127\245\252\030#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\030#\145@ \024\197\241\221\227\000g\1690\000\143Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\141QB\130\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\141Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\008$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\008$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\030#\145@ \024\197\241\221\227\000g\1690\000\143Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\227\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\004\002\000\000\000\002\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\227\000g\1680\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\152&\203%\128\008\n\000\129 \0007@@Pw\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\002\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\227\000g\1680\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\227\000g\1680\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\008\000\000\140\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000 \001\000\000\000\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\227\000g\1680\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\002\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\227\000g\1680\004\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\008\000\000\140\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\127\247\254\016#\145\192&\026\133\241\221\227\000\231\1690\012\143Q\214\179\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197\241\221\225\000g\1680\000\143Q\198\130\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\004\000\000\000\000\127\245\252\016#\145@ \024\197\241\221\225\000g\1680\000\143Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\143Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\143Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\127\245\252\016#\145@ \024\197\241\221\225\000g\1680\000\141QB\130\000\000\000\000\000\000\000\004\002\000\128\000\000\000\000\000\000\004\000\000@\000\127\245\252\016#\145@ \024\197\241\221\225\000g\1680\000\141QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\128\000\000\000\000\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\141QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\008\000\128\140\000\000\000 \000\000\000\000@\000\000\000\000\000\000\000\128\006\002\000\000\000\000\000\128\000\000\004\000\000\016\001\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\006\002\000\000\000\000\000\128\000\000\004\000\000\016\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145\192&\026\133q\221\225\000\231\1680\004\141Q\018\131\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145\192&\026\133q\221\225\000\231\1680\004\141Q\018\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\127\245\252\016#\145@$\026\133\241\221\225\000g\1680\004\141QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\002\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\227\000g\1680\004\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\245\252\000\"\145@ \024\005A\157\224\000a \016\000\001Q\002\130\000\000\000\000\002\144\008$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\245\252\000\"\145@ \024\005A\157\224\000a \016\000\001Q\002\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\140\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000 \001\000\000\000\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000{\245\252\000\"\145@ \024\005A\157\224\000a \016\000\001Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\008\024 \201%\128\008\008\000\001 \0001@@@F\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\"\145\000$\026\005A\159\160\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\008\000\000\140\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000 \001\000\000\000\000@\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\133\001\189\160\000! \016\004\000A\000\130\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\128\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\008\000\008\000\128\140\000\000\000 \000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\002\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000A\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\143Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \001\000\000\016\000@\000@\000\000 \000\000\003\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\003\144@ \024\133\017\221\161\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \001\000\000\016\000@\000@\000\000 \000\000\001\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\127\245\252\000 \001\000\000\016\000@\000@\000\000 \000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \001\000\000\016\000@\000@\000\000 \000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\000\000A\000\130\000\000\000\000\000\000\128\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x@p!\"H\016\128@\000\004\128\008R\130@\000\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\016\000\002\000\000\000\000\000\000\000\129\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\"\000\000\000\000\000\000\000\129\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000p!\"\008\016\128@\000\004\128\008R\002@\000\140\000\000z\213x\000p!\000\008\016\128@\000\004\128\008R\002@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!#\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000p! \008\016\128@\000\004\128\008R\002@\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000p!\000\008\016\128@\000\004\128\008R\002@\000\132\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\000\008\000\000\020\128\008v\130@\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001\008\000\000\020\128\008v\130@\000\142\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000z\213x\000 \001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128P!\"\008\001\012\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\000\000 \000\000\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128\\!\"\008\000(\000\000\020\128\008v\130@\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\012\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\001(\000\000\020\128\008v\130@\000\142\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\012\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000  \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000  \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000  \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000\000\000\000 \000\000\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\008\000\128\\!\"\008\000(\000\000\020\128\008v\130@\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\221x\128p!\"\008\016\136@\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128\\!\"\008\000,\000\000\020\128\008v\130@\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000z\221x\128p!\"\008\016\140@\000\004\128\008v\130@\000\140\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P!\"\008\001\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\128P!\"\008\000\008\000\000\004\128\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x@p!\"H\016\128@\000\004\128\008R\130@\000\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\007\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\030\135q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\030\133q\221\225\000g\1690\004\141Q\002\179{\247\254\000 \001\000\000\016\000@\000\000\000\000\001\000\000\000\000\000\000{\247\254\000 \001\000\000\016\000@\000\000\000\000\001\000\000\000\000\000\000{\247\254\000 \001\000\000\016\000@\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\179\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000 \025\133\001\157\160\000a \016\021\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\127\245\252\016#\145@ \024\197q\221\225\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\247\254\000 \001\000\000\016\000@\000\000\000\000!\000\000\000\000\000\000\001\"\134\000\000\000\000\000\008\000\000\140\000\000\000!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\000\000 \000\000\000\002 \000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000 \001\000\000\016\000F\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\141Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#\145@$\026\133q\221\225\000g\1680\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\008\000\008\000\000\140\000\000\000!\000\000\000\000\0001\000\000\000\000\000\004\004\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\007\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\144\000$\026\005\001\157\160\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\030\135q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\030\133q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@ \024\197q\221\225\000g\1690\000\141Q\002\179\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\127\247\254\016#\145@ \024\197q\221\225\000g\1690\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\026\133q\221\225\000g\1690\004\141Q\002\179\127\247\254\016#\145@ \024\197q\221\225\000g\1690\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\026\133q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\026\133q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\026\133q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\008\000\008\000\000\140\000\000\000!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\026\133q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\004\002\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016#\145@$\026\133q\221\225\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\008\000\008\000\000\140\000\000\000!\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\002\000\000\000\000\000\000\000\000\016$O\0000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\016\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\008\016\000\000\000\000\000\000\000\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\008\016\000\000\000\000\000\000\000\128\000\000\000\128\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000 \004\000\000\000\000\000\001\000\000\008\016\000\000\000\000\000\000\000\128\000\000\000\128\000\000\000\000\128\000\000\000\128\000\000\000\000\000\000\000C\000 \000 \020\000\000\000\000\000\001\000\000\008\016\000\000\000\000\000\000\000\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\128\000\000\000\000\000\000\000C\000 \000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000G\0000\000\000\016\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000C\0000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000 \002\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000G\0000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000C\0000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000C\0000\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")
+    (192, "\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\b\001\006\000\000\002\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\252\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\tP\208\002\128\131T\0162\025@\134\0014\002!\222\004\128\001\014d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\209\192\000\000\003\016\0000\001@\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\209\192\000\000\003\016\0000\001@\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000 \000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\012#\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000A\000\002\000\000 \128@\001\129\000\000\000\128\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\001\129\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000 \000\002 \000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\b\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\150K\000\000\000P\002\004\000\000n\128B|w\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\150K\000\000\000P\002\004\000\000n\128B|w\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000l\128\002xw\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000l\128\002xw\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\nP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\000\000\000\004\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\000\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\004\001\000\000\000\128\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000 \000\002 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0000 E\146J\000\000\000@\000\004\000\000j\128B0F\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\000\000A \130z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000h\128\0020F\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0000\000E\128J\000\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\b\000\000\016\000\000\000\000\000@\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\b\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\0001\t\000\134\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\bP\192\000\000\001\016\0000\t\000\134\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130z\246\175\000\001\000\002\000\000 \000@\000\001\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000z\246\175\000\001\000\002\000\000 \000@\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000 \128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000!\000\000\004\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\001\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\002\024@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\006\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\0000 A\146J\000\000\000@\000\004\000\000B\128B\004\006\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\b\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\130\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\150K\000\000\000P\002\004\000\000n\128BTw\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00000A\146K\000\000\000@\000\004\000\000f\128BDF\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000@3\n\001\1903\000\001\132\128@\"\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\018@\000@3\n\001\1903\000\001\132\128@\"\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@\"\000A\004\130\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\018\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\b\001\158\160\192\t\030Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\016H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000@\000\000\000\000\000\000\001\002 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\nq\206?\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128H5\011q\206?\b\001\158\160\192\t\026QB\130z\246\175\000\001\018B\000H4\nA\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\130\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@0\n\001\1422\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\150K\000\000\000P\002\004\000\000j\128@Pw\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000h\128\000Pw\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\195\197\026B\128@1\139q\206?\024\001\158\164\192\001\030Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128H5\011q\206?\b\001\158\160\192\t\026QB\130\127\254\191\130\005\026B\128H5\nq\206?\b\001\158\160\192\t\026Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026C\128L5\011q\206?\024\003\158\164\192\029\030Q\214\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\016H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\016H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\004\001\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\024\001\158\160\192\t\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\195\197\026B\128@1\139q\206?\024\001\158\164\192\001\030Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\024\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\b\004\000\000\000\000\016\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\024\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00010M\182K\000\004\001P\002\004\128\000n\128@Pw\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\016\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\024\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\024\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\024\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\024\001\158\160\192\t\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\0000\000\000\134\001\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\127\254\255\194\005\026C\128L5\011q\206?\024\003\158\164\192\025\030Q\214\179\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\139q\206?\b\001\158\160\192\001\030Q\198\130\000\000\000\000\000\000\000\000\b\004\000\000\000\000\000\000\000\000\000\b\000\000\000\000\127\254\191\130\005\026B\128@1\139q\206?\b\001\158\160\192\001\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\011q\206?\b\001\158\160\192\t\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\011q\206?\b\001\158\160\192\t\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\127\254\191\130\005\026B\128@1\139q\206?\b\001\158\160\192\001\026QB\130\000\000\000\000\000\000\000\000\b\004\001\000\000\000\000\000\000\000\000\b\000\000@\000\127\254\191\130\005\026B\128@1\139q\206?\b\001\158\160\192\001\026QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\001\000\000\000\000\000\000\000\000\b\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\011q\206?\b\001\158\160\192\t\026QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\0000\001\000\134\001\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\001\000\012\004\000\000\000\000\000\002\000\000\000\b\000\000\016\001\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\016\012\004\000\000\000\000\000\002\000\000\000\b\000\000\016\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026C\128L5\nq\206?\b\003\158\160\192\t\026Q\018\131\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026C\128L5\nq\206?\b\003\158\160\192\t\026Q\018\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\127\254\191\130\005\026B\128H5\011q\206?\b\001\158\160\192\t\026QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\024\001\158\160\192\t\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\191\128\001\018B\128@0\nA\142>\000\001\132\128@\000\002Q\002\130\000\000\000\000\000\018@\016H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\191\128\001\018B\128@0\nA\142>\000\001\132\128@\000\002Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000{\254\191\128\001\018B\128@0\nA\142>\000\001\132\128@\000\002Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\00000A\178K\000\004\001@\000\004\128\000b\128@@F\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\142s\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\0000\000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\246\173\000\001\000\002\000\000\000\000@\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H5\n\001\1583\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\001\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\016\0000\001\000\134\001\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\001\002\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\b\001\158\160\192\t\030Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\006\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\026@\128@1\n\017\2063\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\128\001\000\002\000\000 \000@\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\b\003\128\130D\144!\000\192\000\001$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\001\000\016\002\128\128D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000 \000\002\000\000\000\000\000\000\000\002\002\000\000\000\000\000\004\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\"\000\000\000\000\000\000\000\002\002\000\000\000\000\000\004\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\003\128\130D\016!\000\192\000\001$\000!H\020\128\001\140\000\000z\246\175\000\003\128\130\000\016!\000\192\000\001$\000!H\020\128\001\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130F\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\003\128\130@\016!\000\192\000\001$\000!H\020\128\001\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\003\128\130\000\016!\000\192\000\001$\000!H\020\128\001\132\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\004\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\001\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\224\130D\016\000P\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\"\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\"\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\001\b\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\132\130D\016\002P\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000d\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\224\130D\016\000P\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\247\175\016\003\128\130D\016!\016@\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\001\000\016\002\128\128D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\228\130D\016\002X\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000z\247\175\016\003\128\130D\016!\024@\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\b\003\128\130D\144!\000\192\000\001$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\014\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H=\014q\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H=\nq\206?\b\001\158\164\192\t\026Q\002\179{\254\255\192\001\000\002\000\000 \000@\000\000\000\000\000\004\000\000\000\000\000\000{\254\255\192\001\000\002\000\000 \000@\000\000\000\000\000\004\000\000\000\000\000\000{\254\255\192\001\000\002\000\000 \000@\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\b\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000@3\138\001\1903\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\131\197\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128@1\138q\206?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\254\255\192\001\000\002\000\000 \000@\000\000\000\000\000\132\000\000\000\000\000\000\001\bP\192\000\000\000\000\0000\000\000\134\001\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\134\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\000\000\000 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\004\001\000\000\000\128\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\004\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\b\001\158\160\192\t\026Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\206?\b\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\016\0000\000\000\134\001\000\000\000\132\000\000\000\000\0001\000\000\000\000\000\000\b\b\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\014\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\1423\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H=\014q\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H=\nq\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128@1\138q\206?\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\127\254\255\194\005\026B\128@1\138q\206?\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\nq\206?\b\001\158\164\192\t\026Q\002\179\127\254\255\194\005\026B\128@1\138q\206?\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\nq\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\nq\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\nq\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\016\0000\000\000\134\001\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\nq\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\b\004\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\nq\206?\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\016\0000\000\000\134\001\000\000\000\132\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004\000\000\000\000\000\000\000\000\000@\145.\000`\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000 \000\000\016\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000 \004\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\016\000\000\000\001\000\000\000\000\000\000\000\000\001\006\000@\000 \020\000\000\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\001\000\000\000\000\000\000\000\000\001\006\000@\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\014\000`\000\000\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\002\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\014\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")
   
   let action =
-    ((16, "\000\226\000\201\000\000\000\000\000\220\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000\000\000\226\000\000\001\146.\160\000\000\018\174\018\174\000\000\000\000*\236\018\174\000\000;*\018\174\000\000\000\000\018\174\000\000\018\174\000\000\000W\000X\018\174\000\000\018\174\000\000\000\000\000\000+R\018\174\000\000;\158\018\174\000\000\000\000\018\174\000\000\018\174\000\000\000:\000\152\018\174\000\000\018\174\000\000\018\174\000\000;\172\018\174\000\000\000\000\018\174\000\000\018\174\000\000\000c\000\000\000\000\018\174\000\000\018\174\000\000\000\000\018\174\000\000\018\174\000\000\000\188\000\232\018\174\000\000.\160;^?\140\000\000G\028\001d.\160\000F?\140\000\000\000\218\018\174\000\000Gb\000\000\000c\002\154.\128\000\000\000\00094\000\000<r\000\000<\232.\128.\128\020\012\020\012<r\020\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0009\170.\128\000\000\000\0009\170\000\0009\170\000\000.\128\000\000\000\000\000\000\023z\000c\000\000\020\012\000\000/|.\128\0286.\128\000\000\000\000\000\000\000\000\000\000\000\000\031\n.\128 \002.\128 p.\128!h.\128\000\000.\128\000\000.\128!\214.\128\"\206.\128#<.\128$4.\128$\162.\128\001(.\128\000\000\000\000\000\000\000\000\000\000.\128%\154.\128&\008.\128'\000.\128\000\000\000\000.\128\000\000\000\000\001\232\000\000\000\000\000\000\000\000\018\012\018\174\000\000\003\180\018\174\000\000=h\018\174\000\000\000\000\018\174\000\000\018\174\000\000\002*\002\154\018\174\000\000\018\174\000\000\004H\018\174\000\000=\168\018\174\000\000\000\000\018\174\000\000\018\174\000\000\002z\002\166\018\174\000\000\018\174\000\000\018\174\000\000=\202\018\174\000\000\000\000\018\174\000\000\018\174\000\000\000c\018\174\000\000\018\174\000\000\018\174\000\000\018\174\000\000\002\174\003X\018\174\000\000;\158?\140\003\014\018\174\000\000H\140G\142\000\000\001\164\003\232\000c\003\208\004\192G\212\000\000\000\000\000bH\184\000\000\000\000\000\000\000\000\002\200\004\208\001\164\0054G\212\000\134G\212\000\000\000\000\004\134\000\000\004\250\005\196G\212\005\n\000\000\000\000\000\000\000b\000\000\005\016\005\246\000\000\006\000\000\000\018\012\001\164?\140\005(\018\174\000\000;\172?\140\005<\018\174\000\000\000\000\000c\006:\000\000\000\000\000\000\000\156\020\012\000\000.\128\005b\000\000\000\000\000c\000\000\000\000\000\000\000\000\000\000\005l\000\000\000\000\005r\000\000\005|<r\000\000\000\000\000\000\000\000\000\000\000\000>\144.\128\000\000>\144\000\000>\144<r\000\000\000\0000(\000c\000\000\020\012\005\140\000\000.\128\005\164\000\000\000\000\000c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&\146.\128\000\000.\128\000\000\000\000\005\190\000\000\000\021: \006r.\128\006<\000\000\000\000<r\000\021\000\000\000\000\000\000\000\000\000\000ID<rI\160<rI\208<rJD<r\000\000<r\000\000<rJ\160<rK\018<rK\132<rK\224<rLR.\128\005\240<r\000\000<rL\196<rM <rM\146\005\206\000\000\005\218\000\000\000o.\128\000\000\000o\000\000\000\000\001\240.\160\000\000\001\240\000\000\000\000\005\228.\128\000\000\005\236\000\000\020\012\005\236\000\000\000\000\006\188\000\000\020\012\005\248\000\000\000\000\005\246\000\000\000\000\002\154\000\000\006\216\000\000=h?\140\005\250\018\174\000\000\000\000\006z\000\000\006\000\018\174\000\000\000\000\000\t.\160\000\000.\160\000\000\005\238\000\000\000\t\000\000\016f\031\n\018\158\000\000\004\206\018\158\000\000\018\158\018\158\000\000\000\000\018\158\000\000\018\158\000\000\0062\006^\018\158\000\000\018\158\000\000\005\020\018\158\000\000\018\174\018\158\000\000\000\000\018\158\000\000\018\158\000\000\0066\006b\018\158\000\000\018\158\000\000\018\158\000\000\018\178\018\158\000\000\000\000\018\158\000\000\018\158\000\000\000c\018\158\000\000\018\158\000\000\018\158\000\000\018\158\000\000\006:\006r\018\158\000\000.\160\006&\000\000\018\158?\140\006 \018\158\000\000\000\000\000m\000\000\003\134\000m\000\000\000\000\000\000\007\008\000\000\001\194?\140\0062\018\158\000\000\018\174?\140\0066\018\158\000\000\000\000\024\024\018\158\000\000\005\248\018\158\000\000\018\188\018\158\000\000\000\000\018\158\000\000\018\158\000\000\006j\006\170\018\158\000\000\018\158\000\000\007\004\018\158\000\0000\200\018\158\000\000\000\000\018\158\000\000\018\158\000\000\006\134\006\180\018\158\000\000\018\158\000\000\018\158\000\0000\220\018\158\000\000\000\000\018\158\000\000\018\158\000\000\000c\018\158\000\000\018\158\000\000\018\158\000\000\018\158\000\000\006\140\006\184\018\158\000\000\018\178?\140\006d\018\158\000\000\000\000\002\130?\140\006f\018\158\000\0000\200?\140\006p\018\158\000\000\000\000\000\000\000\000\000\000\000\000\0074.\128\006\134\021\160\007H.\128\006\144\007F.\160\000\000\000\000.\160\000c\000\000\000\007.\128(\028\000\000?|.\128\006\156\000\000\020\012\006\156\000\000\006\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\242.\128\000\000?\242\000\000?\242@h\020\012\006\166@h\000\000\000\000M\214\000c\000\000\020\012\006\168\000\000.\128\006\168\000\000\000\000\000c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000.\128\000,.\128\006\170\000\000\000\000(\208\025\216'L\007b.\128\000\000\007,\000\000\000\000\000c\000\000\000\000\024\216\006\228(\028\000\000\006\232(\028\000\000\0018\000\000\000\000\n\014@h\012\202@h\014(@h\015\134@h\000\000@h\000\000@h\0264@h\028\160@hD\246@hJ\020@hJ\224@hL @hN.@hN\138\000\000\006\190\000\000\006\208)\132\000\000*8\006\210*8,\028\006\212*8\000\000\000\000\000\000\000\000\000\000\006\206\000\000\007\178\000\000\000c\000\000\000\007\007\180\000\000\000s\007\136\000c\006\232\007\166G\212\007\006\000\003\000\000.\128\007\246\000\000\003\248\005V\007\216G\212\007\030\007\252\000\000\003\\.\128\007\254\000\000\008\002\000\000\018\012\000c\003x.\128\008\004\000\000\008\008\000\000\000c\005<.\128\008\012\000\000\008\016\000\000\000\177\007^\006\212\000\000@\222AT\020\012\0078\000\000\007@AT\000\000\000\000\000\000\000\000\000\000\000\000A\202.\128\000\000A\202\000\000A\202AT\000\000\000\000\026\216\000c\000\000\020\012\007F\000\000.\128\007D\000\000\000\000\000c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,\196.\128\000\000.\128\000\000\007V\000\000\000o\000\000\000\000\000\000\000\000\000\0001\176AT2\012AT2\168AT3\004AT\000\000AT\000\000AT3\160AT3\252AT4\152AT4\244AT5\144.\128\007~AT\000\000AT5\236AT6\136AT6\228\020\012\007X\000\000\000\000.\128\000\000\008:\000\000\001\\\008\016.\128\007\222\000\000\008\028.\128\007\234\000\000\000\174\000\000\006\212\006\212\001\\\000\000\001\\\000\000\016f\006\212\006\212\000\000\000\000\000\000\000\000\000\000\000\000\0084.\128\007|\021\160\022\140\000c\008\\\000\000\008>7\170\008`7\170\008f.\128\007\142\021\160\021\160\002r\001P\002\220\000\000\000\000\000\000\001P\000\000\002\174\002r\000\000\000\000\007\152\000\000\000\000\000\000\008v\000\000\008~\000\000\000\000\008\184\008p.\128\007\182\008\150\000\000\008z\020\012\007\192\021\160\000\000\000\000\007\234\000\000\000\015\000\000\005v\000\000\001\\\000\000\008<\000\000\012L\000M\000\000\012L\000\000\000\000\024\216\000\000\005f\000\000\000\000\t\144\000\000\012L\000\000\008\130\020\012\007\200\008\166\000\000\000%\000\000\008v\000c\007\214\008\156G\212\007\234\0028\000\000.\128\008\200\000\000\008\170G\212\007\254\008\220\000\000\005`.\128\008\222\000\000\008\224\000\000\018\012\000c\005r.\128\008\226\000\000\008\230\000\000\000\000\000\000\t\144\000\000\000\000\001(\000\000\006\212\000\000\000%\000\000\000\000\003\222\022\140\000\000\003\222\000\000\000\000\008\014\000\000\0012\000\003\021\160\000\000\004\024\000M\004\024\000\000\000\015\000\000\006\212\000\000\006\212\000\000\000\000\000\000\008\n\000\000\000\000\008\028\000\000\004$\005v\004\014\004\024\000\000\000\000\000\000\006\154\000\000\006\212\000\000\004$\000\000\000\000\007\230\000\015\016f\000\000\000\015\000\000\0082\016f\000\000\000\000\0082\000\000\000\000\008\028\000\000\000\000\008$\000\000\004L\006\212\000\000\004L\000\000\000\000\008\158\000\000\001(\000\000\006\212\000\000\000\000\000\000\017\1848 \000\000\t\004\000\000\017\184\t\006\000\000\t\n\000\000.\160\000c\004(\000\000.\128\t\012\000\000\001\028\008\220\000c\0086\008\244G\212\008<\004\210\000\000.\128\t\028\000\000\004\246\000\000.\128\t\030\000\000\018\012\000c\005h\000\000.\128\t\"\000\000\004\178\017\184\000\000\024\216\005t\000\000.\128\t$\000\000\000\000\000\000\001\246\000\000\t \020\012\008x\tV\000\000\005\212\000\000\t&\000c\008~\t<G\212\008\132\005~\000\000.\128\tb\000\000\005\144\000\000.\128\tf\000\000\018\012\000c\005\156\000\000.\128\th\000\000\004\178\000\000\000\000\008\144\000\000\001\246\tD\t\n\000\000\000\000\000\000\t\012\000\000\003H\000\174\000\000\016f\t^\000\000\000\000.\128\008\198\006\212\000\000\008\158\000\000\000\177\000\000.\160\000\000\000\000\001\194\016f\000\000\016f\000\000\008\140\000\000\001\194\000\000<r\004P<r\000\000<r\000\000\008\142\000\000\004P\000\000\021\160\004t\021\160\000\000\021\160\000\000\008\146\000\000\004t\000\000<r\004P\008\152\000\000.\160\005`.\160\000\000.\160\000\000\008\154\000\000\005`\000\000<r\004P\008\156\000\000\000\000\024\216\000\000\000\000\t\014/B\000\000\000\000\000\000\000\000\000\000\008\228\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\200/B\000\000\001h\002\162\000\000\008\232\000\201\000\000\000\000\000\000\000\139\002\162\000\000\000\000\000\000\tB\000\000\000\000\000\000\000\000\0286\029\148\000\000B\134\000\000/B\000\000\003\250/B\000\000\002p\003$\003$\000\000\002\184\003$\000\000\008\194\000\000\000\000\000\000\000\000\tH\000\000\030\012\000\000\031\n/B\000\000\004\154/B\000\000\tJ\000\000/B\tL\000\000D\1468\164\tN\000\000\tT\000\000D\220:\164/B\008\214/B\t\\\000\000\t^\000\000\t`\000\000.\160\000\000\003\180.\160\000\000\008\222\018\158\000\000\000\141/B\000\000\004\238/B\000\000\003\178\t\220\000\000\t\224\000\000\005R\000\201\008\240\000\000\000\000\000\000\000\000\000\000\000\000\t~\000\000E\152/B\t\134\000\000\t\144\000\000/B\t\146\000\000/B\t\148\000\000/B\t\154\000\000B\2088\164/B\t\026/B\t\158\000\000\t\162\000\000C\140\000\000\000\000\0054/B\000\000\002\156\004h\001\142\000\000\000\000\000\000\004n\001\142\000\000\t \000\000\000\000\000\000\000\000/B\000\000\005\\/B\000\000\003\182\005\142\000\201\t\"\000\000\000\000\000\000\000\000\000\000\000\000\t\168\000\000\t\170\000\000/B\t\176\000\000E\226/B\t\178\000\000\t\196\000\000\021\018\tn\t\158-d\000\000/B\t\210\000\000\t\212\000\000\t\166\021\018/B\t\216\000\000/B\t\218\000\000\t\222\000\000C\214\t^/B\t\232\000\000\t\236\000\000\000\201\t^\000\000\000\000\024\216\000\000\000\000\002^\nF\000\000\000\000\000b\000\000\000\000\000\000.\128\000\000\000\000\000\000\002\186\000\000\001\152\000\000\000\000\000\000\004\024?\140?\140?\140\000\000\003v\003v\003v\003v\000\000\000\000\000\000\000\000\000\000\000\000\001\\\016f\n@\013\170\000M\000\000\000\000\001\"\000\000\t\144\000\000(\028\tv\000\000\001\\\016f\t~\015\008\000\000\001\\\013\170\000\000\000\000\000\000?\140\011\220\000\000\000\000\000\000\t\202\000\129\nBH\140\000\000\005\006Id\000\000\000\000\000\000\006\138\n2\000c\000\000\005\006\000\000\005\012H\140\000\000\000\000\t\140\nB\006\212\t\138\000\000\001\"\000\000\t\144\000\000\020\148\003h\000\000\000\000\n0\000\000\000\000\002^\000\000\003\196\000\000\000\000\000\000.\128\000\000\002\186\000\000\004R\000\000\000\000\000\000\005v\000\000\n\238\004\152\n\238\000\000\006\212\n\238\000\000\004\152\000\000\006\212\000\000\006\212\000\000\006\212\000\000\020\148\000\000\000\000\000\000\000\000\000\000\006\212\000\000\004\152\000\000\006\212\000\000\023\012\000\000\000\000\0082\t\190\000\201\001\206\nZ\006\214\000\000\006\214\n\132\000\000\n\138\000\000\n\140\000\000\000\000\003\176\006\214\003\136\006\214\000\000\000\000\006\142\t\176\000\000\n\000\000\201\t\200\000\000\003F\n\194\000\000\002\024\000\228\n\214\000I\n\214\000\000\000\000\007\166\000\201\000\000\000)\000\000\000\000\000g\000\000\t\210\000\000\000\000\000\000\n\014\000\201\t\214\000\000\000\000\003F\002\024\000\228\007\166\000)\000g\t\216\000\000\002\024\000\228\007\166\000)\000g\t\222\000\000\000\201\000\000\n\222\n\218\n\"\000\201\n|\000\000"), (16, "\011\197\011\197\011\197\011\197\011\197\011\197\011\197\011\197\011\197\011\197\011\197\012\182\011\197\011\197\011\197\011\197\011\197\011\197\011\197\011\197\011\197\011\197\000\n\014\218\001\230\006\222\011\197\008\210\001\238\001\242\011\169\001\230\015\014\011\197\016\134\012\226\001\242\011\197\011\197\011\197\000&\007\181\011\197\001\"\007\150\016\022\011\197\011\197\011\197\011Q\016\138\012\210\006q\008m\014\218\007\181\022\182\011\197\000\n\000*\011\197\011\197\013V\015\014\012i\000\n\011\197\011\197\000\n\011\197\001\230\011\197\019\254\000\n\012\226\001\242\011\197\005\225\011\197\011\197\011\197\011\197\011\197\027\166\017*\021\150\011\197\011\197\011\197\011\169\011\197\011\197\011\197\0119\011\197\011\197\011\197\011\197\0119\0119\000\150\011\197\011\197\016\"\000\n\007\181\006I\001~\007\158\027\154\0119\011\197\011\197\011\197\004q\027\158\011\197\011\197\011\197\011\197\005u\011\197\027~\011\197\0007\000;\011\197\001\"\015\002\011\197\011\197\006\026\012i\012i\016\"\0119\n\158\012i\012\214\017Z\011\197\011i\011i\011\197\000\006\000\"\027v\011\197\011\197\011\197\011\197\004q\011\197\006q\011\197\012\158\007\181\000\n\011\197\011\197\011\197\015\006\011\197\011v\011\197\011\197\000\154\011\197\007\181\011\197\011\197\006\025\000\226\011\197\011\197\006y\006y\006y\006y\006y\006y\006y\006y\006y\006y\006y\011\130\006y\006y\006y\006y\006y\006y\006y\006y\006y\006y\016\022\000\230\011\137\016\022\006y\014\222\014\238\014\254\016\022\014\218\004^\006y\014\218\018\166\005\241\006y\006y\006y\015\014\018V\006y\015\014\024\199\024\203\006y\018Z\006y\024\207\004\138\018^\011n\011i\003e\001\230\000.\006y\006\222\012\226\001\242\005\030\001R\001V\011i\004a\006y\006y\006\129\011i\011i\006y\006y\006\129\006\129\012i\006y\001v\006y\006y\006y\006y\006y\021j\019\210\006\129\006y\006y\006y\000\n\006y\006y\006y\000\022\006y\006y\006y\006y\020.\001\138\011i\006y\006y\004>\n\201\011i\011i\004\222\006\017\006\017\006\129\016\"\006y\006y\016\"\002\206\006y\006y\006y\006y\006\001\006y\008\246\006y\011\170\004\013\006y\001\"\0192\006y\006y\000N\007\182\020N\020v\020\158\020\174\020\214\023\142\006I\012i\012i\001\"\006y\021v\012i\000\n\006y\006y\006y\006y\015\142\006y\006\246\006y\006\t\006\222\000\n\006y\006y\006y\016\166\0206\n\201\006y\006y\006\145\006y\006\145\006y\006y\006\145\000\n\006y\006y\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\004~\006\145\024\239\024\243\006\145\021z\027\002\024\247\006\145\024\182\006\145\006\145\021~\005\217\021\230\006\145\006\145\006\145\006\145\006\145\006\145\n*\006\145\006\145\006\145\004\013\006\145\006\145\0061\006\145\004\013\004\013\001\162\001\"\003\026\006\145\023\134\006A\006\145\006\169\006I\001\"\004\013\027\002\006\145\006\145\006\145\006\145\003f\006\145\006\145\016\170\004v\006\145\006\145\024\182\006\145\021\138\006\145\006\145\006\145\006\161\006\145\000\n\006\145\006\145\006\145\004\013\006\145\006\145\006\145\000\n\006\145\006\145\006\145\006\145\001\"\021\018\nR\004}\006\145\nV\015\138\003j\006\145\025\018\001\"\nZ\003\170\003\174\006\145\006\145\n^\025\022\006\145\006\145\006\145\006\145\006\169\006\145\005\217\006\145\021\234\003\233\006\145\006\145\000\n\006\145\006\145\026'\011Q\003:\004\t\003B\004\014\003R\000\n\026+\006\145\005\217\006\161\006\145\003Z\005\217\011Q\006\145\006\145\026.\006\145\015\170\006\145\011\161\006\145\003\237\021\246\015\146\006\145\022\206\022\214\022\206\022\214\011a\0035\006\145\004\t\006\145\0035\006\145\006\145\003b\011A\006\145\006\145\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\0272\001\014\024\254\001\022\nZ\001\030\0012\001:\001>\n^\025\002\022\222\004}\023\210\004\018\nb\027f\004}\004}\003r\004&\003~\001F\003\134\005\t\003\150\001\166\nr\013^\004}\004}\013b\003\158\013\002\004\157\001N\008\137\014\202\008\129\0176\004\237\004B\019\230\005\t\014\218\004\t\001\178\013\"\018\146\0256\004\t\004\t\012\158\015\014\004}\015\"\013j\025b\025n\003\166\015&\017f\004\t\004\209\020V\001\218\012\158\001\222\004\173\001b\016\030\015.\011\153\008\218\017\170\013~\001\230\0152\004\t\013\130\011\138\001\242\020~\013\134\013\138\n\134\013\142\004\t\007\202\027:\007\210\0156\007\226\003\182\018*\008\137\022\158\008\129\027B\007\234\023\138\n\226\013\146\011I\016\022\015:\015>\013\150\015B\027:\000\n\005\t\015V\014\218\004J\004\137\026G\026K\015b\013\158\006i\026O\015\014\008\014\016\"\008\022\007\242\008&\020^\025\130\005\t\021\218\015\130\018\194\008.\018\150\015\134\015\194\004\173\n\138\004N\013\162\023\142\015\198\004\209\019\006\020\134\013\166\004\173\004\173\000\n\018\214\011q\004\173\015\206\006Q\013\170\004z\006\153\006\153\008\002\0086\002\"\006\153\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\006Y\001\014\024\254\001\022\nZ\001\030\0012\001:\001>\n^\025\002\011Q\026g\026k\023\158\nb\006)\026o\016\"\011\129\008F\011Y\001F\004\130\005\005\020\182\001\166\nr\013^\011Q\004\154\013b\016\022\018\242\0069\001N\0222\014\202\011Q\019\022\004\233\014\218\022\226\005\005\019n\018\198\001\178\008\165\008\165\014\218\015\014\006a\008\165\019\130\011\145\015\"\013j\025b\015\014\019\158\015&\017\174\t.\018\218\t6\001\218\tF\001\222\004\189\001b\016\030\015.\023\214\tN\011y\013~\001\230\0152\022\194\013\130\011\138\001\242\012i\013\134\013\138\n\134\013\142\019N\004\162\020\190\025\194\0156\000\n\025\238\005\233\004\166\004\174\003Y\013>\004\198\tV\n\226\013\146\019R\004\202\015:\015>\013\150\015B\004\210\000\n\005\005\015V\023z\004\230\004\137\016\206\012\158\015b\013\158\018\246\016\"\000\n\001\230\004\250\016\238\019\026\012\226\001\242\016\"\005\005\019r\015\130\023\198\tf\012\158\015\134\015\194\005\014\n\138\019\134\013\162\005.\015\198\012\158\005R\019\162\013\166\005^\004\189\012i\012i\006!\005f\015\206\012i\013\170\000\n\006\177\006\177\004\017\005\186\002\"\006\177\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\005\198\001\014\024\254\001\022\nZ\001\030\0012\001:\001>\n^\025\002\016\022\006\018\006\"\006*\nb\006\170\0272\006\206\025\214\014\218\tr\001F\tz\006\214\t\138\001\166\nr\013^\015\014\007\014\013b\t\146\007\026\007&\001N\027\n\014\202\0072\004\209\007>\007J\007^\001\"\007n\007~\001\178\007\134\007\171\014\218\007\246\007\250\008:\008>\008\158\015\n\013j\027\014\015\014\t\154\015&\008\162\008\178\008\194\027\018\001\218\008\238\001\222\004\217\001b\015*\015.\008\254\000\n\t\018\013~\001\230\0152\tZ\013\130\011\138\001\242\004\017\013\134\013\138\n\134\013\142\004\017\004\017\t^\012q\0156\t\158\t\170\t\162\n\002\n\006\n\026\n2\004\017\016\"\n\226\013\146\nF\nf\015:\015>\013\150\015B\0035\000\n\nn\015V\0035\nv\004\137\n~\n\130\015b\013\158\004\209\n\182\n\194\n\202\004\017\027\026\027:\011\014\011.\016\"\011:\011~\015\130\011\150\011\162\011\190\015\134\015\194\004\217\n\138\011\202\013\162\012R\015\198\012Z\012j\012v\013\166\004\217\004\217\012\146\012\154\012\174\004\217\015\206\012\186\013\170\027\"\008\173\008\173\012\194\012\198\002\"\008\173\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\012\206\001\014\016\134\001\022\nZ\001\030\0012\001:\001>\n^\012\222\012\238\012\246\012\250\013\n\nb\013\018\013*\016\138\0132\004}\013F\001F\013N\013Z\013r\001\166\nr\013^\013z\006\246\013b\013\206\013\218\026\246\001N\007\189\014\202\001\230\014\"\014\154\014\194\012\226\001\242\014\214\014\226\001\178\006\137\014\234\014\218\007\189\014\242\006\137\006\137\014\250\015\n\013j\015F\015\014\015N\015&\015^\015f\015n\027\142\001\218\015v\001\222\015~\001b\015*\015.\000\n\015\186\015\202\013~\001\230\0152\015\210\013\130\011\138\001\242\015\222\013\134\013\138\n\134\013\142\015\226\015\234\006\137\015\238\0156\015\246\015\254\016\014\016.\016r\016z\016~\016\142\007\189\n\226\013\146\027R\016\150\015:\015>\013\150\015B\016\154\000\n\006A\015V\027b\016\162\016\178\016\186\004}\015b\013\158\027\186\027f\004}\004}\016\194\016\198\016\214\016\222\016\246\016\"\016\254\017N\015\130\017\150\004}\004}\015\134\015\194\017\162\n\138\018\022\013\162\018\"\015\198\018B\018n\018z\013\166\018\130\018\158\018\170\007\189\018\178\018\182\015\206\018\190\013\170\018\206\018\226\004}\018\254\019\"\002\"\007\189\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\019:\001\014\019N\001\022\nZ\001\030\0012\001:\001>\n^\019B\019F\019V\019^\019b\nb\019j\019z\019R\019\142\019\170\019\190\001F\019\206\019\222\019\246\001\166\nr\013^\020\006\006\246\013b\020\018\020C\020k\001N\020\147\014\202\001\230\020\171\020\203\020\227\012\226\001\242\020\250\021\022\001\178\021\130\021\171\014\218\022\002\022\023\022?\022K\022[\015\n\013j\022c\015\014\022v\015&\022\127\022\135\022\143\022\170\001\218\022\210\001\222\022\218\001b\015*\015.\000\n\022\234\011\226\013~\001\230\0152\023\007\013\130\011\138\001\242\023\023\013\134\013\138\n\134\013\142\023\031\023+\0237\012q\0156\023C\023V\023_\011\234\023g\023\170\023\222\023\251\024\003\n\226\013\146\024\015\024\031\015:\015>\013\150\015B\011\242\000\n\006A\015V\024'\0242\0122\012:\0246\015b\013\158\024G\024O\024V\024c\024o\012\018\024w\024\130\011\250\016\"\012\n\024\139\015\130\024\147\024\159\024\186\015\134\015\194\025B\n\138\025j\013\162\025z\015\198\025\174\025\182\025\218\013\166\025\254\026\002\026\n\012\026\0263\026\250\015\206\027\006\013\170\027\022\012q\012q\027\030\027&\002\"\012q\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\027O\001\014\024\254\001\022\nZ\001\030\0012\001:\001>\n^\025\002\027V\027_\027j\012\"\nb\027z\027\175\027\190\027\199\027\235\012\002\001F\028\007\028\022\028\026\001\166\nr\013^\028\030\028'\013b\000\000\000\000\005M\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\012B\012*\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\026~\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\nR\004\137\000\000\nV\015b\013\158\000\000\025\018\000\000\nZ\000\000\000\000\000\000\000\000\n^\025\022\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\008\145\008\145\000\000\000\000\002\"\008\145\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\012\182\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\001\230\000\000\001F\000\000\012\226\001\242\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\015\"\013j\000\000\000\000\004\157\015&\0166\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\181\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\012M\0156\000\000\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\011\242\000\n\000\000\015V\000\000\000\000\000\181\000\181\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\012\018\000\000\000\000\011\250\000\000\012\n\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\012\026\000\000\000\000\015\206\000\000\013\170\000\000\012M\012M\000\000\000\000\002\"\012M\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\012\"\nb\000\000\000\000\000\000\000\000\000\000\012\002\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\181\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\181\012*\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025F\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\157\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\011\242\000\n\000\000\015V\000\000\000\000\000\157\000\157\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\011\250\000\000\012\n\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\157\000\000\000\000\015\206\000\000\013\170\000\000\012\153\012\153\000\000\000\000\002\"\012\153\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\157\nb\000\000\000\000\000\000\000\000\000\000\012\002\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\157\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\157\000\157\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025F\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\149\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\149\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\149\000\n\000\000\015V\000\000\000\000\000\149\000\149\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\011\250\000\000\000\149\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\149\000\000\000\000\015\206\000\000\013\170\000\000\012\149\012\149\000\000\000\000\002\"\012\149\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\149\nb\000\000\000\000\000\000\000\000\000\000\012\002\001F\000\000\000\000\000\000\001\166\nr\013^\000\000\000\000\013b\000\000\000\000\000\149\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\149\000\149\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\017\226\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\000R\000V\000f\000\170\002\"\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\013^\000\000\000\000\013b\003.\0036\000\170\001N\000\174\018b\003z\003\190\000\000\003\198\000\000\003\214\000\000\003\222\001\178\003\230\003\242\000\000\003\250\000\000\000\000\000\000\000\000\018r\013j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\013~\001\230\004\n\000\000\013\130\001\238\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\000\000\000\000\013\150\000\000\000\000\000\n\004\026\000\000\000\000\007\214\005\209\000\000\000\000\005\209\013\158\000\000\005\209\008\026\005\209\008Z\005\209\000\000\005\209\000\000\t:\005\209\000\000\005\209\005\209\000\000\005\209\005\209\005\209\005\209\n\138\000\000\013\162\005\209\018v\005\209\005\209\005\209\013\166\005\209\000\000\005\209\005\209\000\n\005\209\018~\005\209\013\170\005\209\005\209\005\209\005\209\005\209\002\"\005\209\000\000\005\209\000\000\005\209\005\209\000\000\000\000\005\209\005\209\005\209\005\209\008\186\000\000\000\000\005\209\005\209\000Z\000\000\005\209\t\n\005\209\n\018\000\000\005\209\000Z\005\209\000Z\005\209\005\209\000\000\005\209\000Z\000\000\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\000\000\000\000\005\209\000\000\000\000\000\000\000\000\005\209\005\209\005\209\005\209\000\000\005\209\000\000\005\209\000\000\000\000\005\209\005\209\005\209\005\209\005\209\005\209\005\209\005\209\000\000\005\209\005\209\005\209\005\209\005\209\005\209\005\209\005\209\005\209\005\209\005\209\000\000\005\209\005\209\005\209\005\209\005\209\005\209\000\000\005\209\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\000\000\000\000\005\209\000\000\005\209\000\000\005\209\005\209\005\209\005\209\000\000\005\209\005\209\005\209\005\209\005\209\000\000\000\000\000\000\000\000\005\209\005\209\000\000\000\000\000\000\005\209\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\001\170\000\000\000\000\001\174\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\206\001\202\000\000\001\210\000\000\000\000\000\000\000\000\nR\000\000\001\218\nV\001\222\000\000\001b\025\018\000\000\nZ\000\000\000\000\001\226\001\230\n^\025\022\001\234\001\238\001\242\002F\001\246\001\250\000\000\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\002\006\016\134\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\014\000R\007\190\007\198\000\170\016\138\000\174\000\000\008\n\008N\002\018\008V\020\254\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\002\022\000\000\021\002\001\230\000\000\000\000\002\026\012\226\001\242\004]\000\000\021\006\008\146\021\n\000\000\002\030\000\000\000\000\000\000\000\000\021\014\002\"\000\000\000\000\000\000\024.\000\000\000\000\021\030\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\000\n\021&\000\000\000\000\000\000\004\157\000\000\000\000\008\170\000\000\000\000\000\000\000\000\022\146\000\000\000\000\000\000\021*\023j\000\000\000\000\000\000\008\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\021.\000\000\000\000\0212\000\000\000\000\007}\007}\001\166\nr\013^\007}\000\000\013b\000\000\0216\000\000\000\000\000\000\014\202\021:\000\n\021>\000\000\021B\021F\000\000\021J\001\178\000\000\000\000\000\000\000\000\021N\000\000\000\000\021R\015R\013j\000\000\000\000\000\000\015&\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\021V\000\000\015.\000\000\021Z\021^\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\nb\000\000\000\000\015\134\015\194\000\000\000\000\000\000\013\162\000\000\015\198\001\166\nr\013^\013\166\000\000\013b\000\000\000\000\000\000\000\000\015\206\014\202\013\170\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013f\013j\000\000\000\000\nR\015&\000\000\nV\000\000\000\000\001\218\025\018\001\222\nZ\000\000\000\000\015.\000\000\n^\025\022\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\016\134\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\161\000\000\015\130\013\161\000\000\000\000\015\134\015\194\000\000\000\000\001\230\013\162\000\000\015\198\012\226\001\242\000\000\013\166\000\000\000\000\000\000\013\161\000\000\000\000\015\206\013\161\013\170\000\000\002:\013\161\000\000\000\000\002\"\000\000\000\000\013\161\000\000\000\000\013\161\013\161\000\000\013\161\013\161\000\000\000\n\002B\000\000\013\161\005&\004\157\000\000\013\161\000\000\000\000\013\161\000\000\013\161\013\161\t\"\t*\000\170\000\000\000\174\000\000\tn\t\178\000\000\t\186\000\000\t\202\000\000\t\210\000\000\t\218\t\230\000\000\t\238\013\161\000\000\013\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\161\t\246\000\000\008\221\008\221\000\000\000\000\0052\008\221\000\000\000\000\000\000\000\000\000\000\t\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\161\013\161\000\000\013\161\013\161\0056\000\000\013\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005>\000\000\000\000\000\000\000\000\013\161\000\000\n\014\013\161\013\161\013\161\013\161\000\000\000\000\000\000\000\000\013\161\013\161\013\161\000\000\013\161\013\161\013\161\001=\001=\001=\001=\000\000\001=\000\000\001=\001=\000\000\001=\000\000\001=\000\000\001=\000\000\001=\001=\001=\001=\000\000\000\000\004\233\000\000\020\238\004\233\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\001=\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\004\233\000\000\000\000\001=\004\233\000\000\001=\004\233\004\233\000\000\001=\000\000\000\000\020\242\004\233\000\000\001=\004\233\004\233\000\000\004\233\004\233\000\000\001=\004\233\000\000\004\233\004\233\001=\000\000\004\233\000\000\000\000\004\233\000\000\004\233\004\233\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\233\001=\004\233\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\233\000\000\000\000\000\000\001=\000\000\000\000\004\233\000\000\001=\000\n\001=\000\000\000\000\001=\000\000\020\246\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\004\233\004\233\000\000\004\233\005\005\004\233\000\000\004\233\000\000\000\000\000\000\000\000\000\000\004\237\001=\004\233\004\237\000\000\001=\001=\004\233\000\000\000\000\004\233\000\000\004\233\000\000\000\000\000\000\021\174\000\000\004\233\004\233\004\233\004\237\004\233\004\233\004\233\004\237\000\000\000\000\004\237\004\237\000\000\000\000\000\000\000\000\000\000\004\237\000\000\000\000\004\237\004\237\000\000\004\237\004\237\000\000\000\000\004\237\000\153\004\237\004\237\000\000\000\000\004\237\000\000\000\000\004\237\000\000\004\237\004\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\000\004\237\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\153\000\153\004\237\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\153\000\000\000\000\011\250\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\004\237\000\000\004\237\005\t\004\237\000\000\004\237\000\153\000\000\000\000\000\000\000\000\013\245\000\000\004\237\013\245\000\000\000\000\000\000\004\237\000\000\000\000\004\237\000\000\004\237\000\000\000\000\000\000\000\000\000\000\004\237\004\237\004\237\013\245\004\237\004\237\004\237\013\245\000\000\000\000\013\190\013\245\000\000\000\000\000\000\000\153\000\000\013\245\000\000\000\000\013\245\013\245\012\002\013\245\013\245\000\000\000\000\013\198\000\000\013\245\013\210\000\000\000\000\013\245\000\000\000\153\013\245\000\000\013\245\013\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\245\000\000\013\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\245\000\000\000\000\000\000\000\000\000\000\000\000\013\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\245\013\245\000\000\013\245\000\000\013\226\000\000\013\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\245\000\000\013\245\000\000\000\000\000\000\000\000\000\000\013\245\013\245\013\245\000\000\013\245\013\245\013\245\nY\nY\nY\nY\000\000\nY\000\000\nY\nY\000\000\nY\000\000\nY\000\000\nY\000\000\nY\nY\nY\nY\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\nY\nY\nY\000\000\000\000\000\000\000\000\000\000\000\000\nY\000\000\001\137\000\000\000\000\nY\001\137\000\000\021\190\000\000\001\137\000\000\021\198\000\000\000\000\000\000\001\137\000\000\nY\001\137\001\137\000\000\001\137\001\137\000\000\nY\000\000\000\000\001\137\000\000\nY\000\000\001\137\000\000\000\169\001\137\000\000\001\137\001\137\nY\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\234\000\000\000\000\001\137\nY\001\137\000\000\nY\000\000\000\000\000\000\000\000\000\000\000\000\011\242\001\137\000\000\000\000\000\000\nY\000\169\000\169\000\000\000\000\nY\000\000\nY\000\000\000\000\nY\000\169\000\000\000\000\011\250\000\000\012\n\000\000\nY\000\000\000\000\nY\001\137\002V\000\000\001\137\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\nY\012\026\000\000\000\000\022\026\nY\001\137\000\000\000\000\001\137\001\137\001\137\001\137\000\000\000\000\000\000\000\000\002\254\001\137\001\137\000\000\001\137\001\137\001\137\nI\nI\nI\nI\000\000\nI\000\000\nI\nI\000\000\nI\000\000\nI\000\000\nI\000\169\nI\nI\nI\nI\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nI\nI\nI\000\169\000\000\000\000\000\000\000\000\000\000\nI\000\000\000\000\000\000\000\000\nI\000\000\000\000\000\000\000\169\000\169\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nI\nM\nM\nM\nM\000\000\nM\nI\nM\nM\000\000\nM\nI\nM\000\000\nM\000\000\nM\nM\nM\nM\nI\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nM\nM\nM\000\000\000\000\000\000\000\000\000\000\nI\nM\000\000\nI\000\000\000\000\nM\000\000\000\000\022\030\000\000\000\000\000\000\000\000\000\000\nI\000\000\000\000\000\000\nM\nI\000\000\nI\000\000\000\000\nI\nM\000\000\000\000\000\000\000\000\nM\000\000\nI\000\000\000\000\nI\000\000\000\000\000\000\nM\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nI\000\000\000\000\000\000\021\194\nI\000\000\000\000\000\000\nM\000\000\000\000\nM\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nM\000\000\000\000\000\000\000\000\nM\000\000\nM\000\000\000\000\nM\000\000\000R\007\190\007\198\000\170\000\000\000\174\nM\008\n\008N\nM\008V\000\000\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\002v\000\000\nM\002\198\000\000\000\000\000\000\nM\000\000\000\000\022&\008\146\022B\000\000\000\000\000\000\000\000\000\000\000\000\022N\000\000\002~\000\000\000\000\008\154\002\005\000\000\000\000\000\000\002\005\000\000\000\000\000\000\000\000\000\000\002\134\000\000\022f\002\005\002\005\000\000\002\230\002\238\000\000\008\170\000\000\000\000\002\005\000\000\022\146\000\000\002\166\000\000\000\000\002\142\000\000\002\158\002\005\008\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\174\022\178\002\005\000\000\023\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\005\000\000\000\000\000\000\023\"\000\000\000\000\000\000\000\000\023.\000\000\008i\000\000\000\000\023:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023F\000\000\000\000\024\006\002\182\000\000\000\000\002\005\002\005\000\000\000\000\002\150\000\000\000}\000\000\000\000\000}\000\000\024\018\000\000\000\000\000\000\000\000\024*\002\005\000\000\000\000\002\005\002\005\002\005\002\005\000\000\000\000\000\000\002~\000\000\002\005\002\005\000}\002\246\002\190\002\005\000}\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\000\000\000\000}\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000e\002\158\000}\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\002\174\000\000\000}\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000\000\000}\002\134\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002\142\000\000\002\158\000e\000\000\000\000\002\182\000\000\000\000\000}\000}\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000e\000}\000\000\000\000\000}\000}\000}\000}\000\000\000\000\000e\000\000\000\000\000}\000}\000\000\000}\002\190\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\002\150\000\000\000]\000\000\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000e\000e\000\000\000\000\000\000\000]\000\000\000e\000e\000]\000e\000e\000e\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\002\142\000a\000]\000]\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000]\000\000\000]\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000\000\000]\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\002\142\000\000\000a\000a\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000a\000]\000\000\000\000\000]\000]\000]\000]\000\000\000\000\000a\000\000\000\000\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000\000\002\150\000\000\000q\000\000\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000\000\002~\000\000\000a\000a\000q\000a\000a\000a\000q\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\002\142\000i\002\158\000q\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\002\174\000\000\000q\000i\000\000\000\000\000\000\000i\000\000\000\000\000\000\000\000\000q\002\134\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\142\000\000\002\158\000i\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000i\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000i\000\000\000\000\000q\000q\000\000\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000\000\002\150\000\000\000m\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000\000\002~\000\000\000i\000i\000m\000i\000i\000i\000m\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000\000\000m\000\000\000\000\000\000\000m\000\000\000\000\002\142\000u\002\158\000m\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\002\174\000\000\000m\000u\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000m\002\134\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000u\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000u\000m\000\000\000\000\000m\000m\000m\000m\000\000\000\000\000u\000\000\000\000\000m\000m\000\000\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000u\000u\000\000\000\000\002\150\000\000\002v\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\000\002~\000\000\000u\000u\000\133\000u\000u\000u\000\133\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\133\000\133\000\000\000\133\002\238\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\002\166\000\000\000\000\002\142\002v\002\158\000\133\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\002\174\000\000\000\133\000y\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\133\002\134\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000y\000\000\000\000\002\182\000\000\000\000\000\133\000\133\000\000\000\000\002\150\000\000\001\153\000\000\000\000\001\153\000\000\000\000\000\000\000\000\002\174\000\000\000y\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000y\001\153\000\000\000\133\000\133\001\153\002\246\002\190\000\133\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\000\000\001\153\000\000\001\153\001\153\000\000\000\000\000\000\002\182\000\000\000\000\000y\000y\001\153\000\000\002\150\001\153\002v\001\153\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\000\002~\001\153\000y\000y\000\129\000y\002\190\000y\000\129\000\000\000\000\000\000\000\000\001\153\002\134\000\000\000\000\000\129\000\129\000\000\000\129\002\238\000\000\000\000\011\146\000\000\000\129\000\000\000\000\000\000\002\166\000\000\004A\002\142\004A\002\158\000\129\004A\000\000\001\153\005\250\000\000\001\153\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\004A\000\000\000\000\000\000\002\174\000\000\000\129\000\000\000\000\004A\004A\000\000\001\153\004A\004A\000\000\000\129\000\000\006\002\004A\000\000\004A\001\153\001\153\001\153\000\000\000\000\000\000\000\000\004A\004A\000\000\000\000\004A\004A\004A\000\000\004A\004A\000\000\004A\000\000\002\182\000\000\000\000\000\129\000\129\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\004A\004A\000\000\000\000\000\000\000\000\004A\000\129\000\000\004A\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\004A\000\129\000\129\000\000\000\129\002\190\000\129\000\000\004A\000\000\004A\001\166\004A\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\000\000\004A\000\000\000\000\000\000\000\000\000\000\004A\000\000\000\000\001\178\000\000\000\000\004A\000\000\000\000\004A\000\000\000\000\n\174\011\006\000\000\004A\011n\011\134\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\n\242\000\000\n\170\000\000\000\000\000\000\000\000\000\000\006\001\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\n\174\011\006\n\250\000\000\011n\011\134\000\000\000\000\012\138\000\000\001\218\n\254\001\222\000\000\000\000\000\000\000\000\002\"\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\n\242\000\000\n\170\000\000\000\000\000\000\000\000\000\000\006\001\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\n\174\011\006\n\250\000\000\011n\011\134\000\000\000\000\011\178\000\000\001\218\n\254\001\222\000\000\000\000\000\000\000\000\002\"\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\n\242\000\000\n\170\000\000\000\000\000\000\000\000\000\000\006\001\000\000\011\142\000\000\011\170\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\n\174\011\006\n\250\000\000\011n\011\134\000\000\000\000\005e\000\000\001\218\n\254\001\222\000\000\000\000\000\000\000\000\002\"\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\003%\n\222\000j\003%\000r\000\000\000\130\003%\000\000\003%\000\000\000\000\000\000\000\138\003%\003%\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\146\003%\006\001\000\000\011\142\003%\011\170\000\000\000\000\000\000\000\000\003!\000\000\000\182\003!\000\190\n\246\000\206\003!\000\000\003!\003%\n\250\000\000\000\214\003!\003!\000\000\001\189\000\000\000\000\n\254\000\000\003%\000\162\000\000\000\000\002\"\000\000\000\000\000\000\003%\000\000\000\000\000\000\003%\003%\000\000\000\000\000\000\000\000\000\222\003!\000\000\000\000\003%\003!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\000\000\000\000\000\000\000\000\003!\000\000\000\000\003%\000\000\000\000\000\000\000\000\003%\000\000\000\000\000\000\003!\000\238\000\000\000\000\000\000\000\000\000\000\000\000\003!\000\000\000\000\000\000\003!\003!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003!\000\000\000\000\000\000\000\000\003%\000\000\000\000\003%\003%\003!\000\000\003%\000\000\000\000\000\000\000\000\003%\003%\000\000\003!\000\000\003%\000\000\000\000\003!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003!\001\178\000\000\003!\003!\000\000\000\000\003!\000\000\000\000\n\174\011\006\003!\003!\011n\011\134\000\000\003!\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\001\161\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\n\242\001\161\000\000\000\000\000\000\001\161\000\000\000\000\006\001\000\000\000\000\001\161\011\170\000\000\001\161\001\161\000\000\001\161\001\161\000\000\000\000\000\000\n\246\001\161\000\000\000\000\000\000\001\161\n\250\000\000\001\161\000\000\001\161\001\161\001\201\000\000\000\000\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000\000\005\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\001\161\000\000\005\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\005\209\000\000\005\209\n]\n]\000\000\000\000\000\000\000\000\005\209\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\005\209\000\000\000\000\000\000\001\161\014\014\005\209\001\161\000\000\000\000\000\000\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n]\000\000\005\209\000Z\000\000\000\000\000\000\001\161\000\000\001\161\000\000\000\000\000\000\000\000\000\000\014\022\001\161\001\161\000\000\001\161\001\161\001\161\000\000\000\000\000\000\n]\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\209\000\000\000\000\000\000\000\000\005\209\005\209\005\209\000\000\005\209\005\209\000\000\005\209\000\000\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\n]\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\001\166\000\000\001\170\000\000\000\000\001\174\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\014\206\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\001N\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\n\162\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\001^\000\000\000\000\000\000\001\226\001\230\001j\011\154\001\234\001\238\001\242\000\000\001\246\001\250\001b\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\254\000\000\000\000\000\000\n\134\002\002\000\000\000\000\000\000\000\000\002\006\000\000\021\002\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\006\002\014\021\n\n\185\n\185\000\000\000\000\000\000\000\n\021\014\000\000\002\018\008y\000\000\021\018\000\000\000\000\021\030\000\000\001\137\000\000\021\"\001\137\002\022\000\000\000\000\000\000\021&\000\000\002\026\000\000\000\000\008y\000\000\008y\000\000\005\249\n\138\002\030\000\000\001\137\n\185\000\000\021*\002\"\000\000\005\249\000\000\001\137\000\000\000\000\005\249\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\001\137\001\137\000\000\000\000\000\000\000\000\n\185\000\000\021.\000\000\001\137\0212\000\000\001\137\000\000\001\137\001\137\000\000\000\000\000\000\000\000\000\000\000\000\0216\000\000\000\000\000\000\000\000\021:\000\n\021>\000\000\021B\021F\000\000\021J\001\137\000\000\001\137\000\000\000\000\021N\000\000\000\000\021R\013\217\000\000\000\000\013\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021V\000\000\000\000\000\000\021Z\021^\n\185\013\217\000\000\000\000\000\000\013\217\000\000\000\000\005\170\001\137\002N\000\000\001\137\001\137\000\000\013\217\001\137\000\000\000\000\013\217\000\000\013\217\013\217\000\000\000\000\005\178\000\000\000\000\005\190\001\137\000\000\013\217\001\137\001\137\013\217\001\137\013\217\000\000\000\000\000\000\003\n\001\137\001\137\000\000\001\137\001\137\001\137\000\000\t~\005\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\217\t\190\005\209\000\000\005\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\217\005\209\005\209\005\209\000\000\000\000\000\000\005\202\000\000\000\000\005\209\005\209\000\000\005\209\000\000\005\209\000\000\000\000\005\209\000\000\005\209\000\000\005\209\000\000\000\000\005\209\013\217\013\217\005\209\013\217\000\000\005\206\005\209\013\217\000\000\000\000\000\000\000\000\005\209\005\209\n>\005\214\000\000\000\000\005\209\000Z\000\000\000\000\000\000\005\209\000\000\013\217\000\000\000\000\005\209\000Z\000\000\013\217\000\000\005\209\000\000\013\217\013\217\013\217\000\000\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\000\000\005\209\000\000\000\000\000\000\000\000\005\209\005\209\005\209\000\000\005\209\005\209\000\000\005\209\000\000\000\000\005\209\005\209\005\209\005\209\005\209\005\209\005\209\005\209\014B\000\000\000\000\014\146\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\000\000\000\000\014J\000\000\005\209\000\000\002\021\000\000\005\209\005\209\002\021\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\002\021\002\021\000\000\014\162\014\170\000\000\000\000\000\000\001%\002\021\000\000\001%\000\000\014r\000\000\000\000\014Z\000\000\014j\002\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014J\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\014z\000\000\002\021\000\000\014R\000\000\000\000\001%\001%\000\000\001%\001%\002\021\000\000\000\000\000\000\001%\000\000\000\000\000\000\014r\000\000\000\000\014Z\000\000\014j\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\000\000\000\000\002\021\000\000\000\000\000\000\014b\014z\001\013\001%\000\000\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\002\021\000\000\002\021\000\000\000\000\000\000\000\000\001\013\000\000\002\021\002\021\001\013\014\178\014\138\002\021\001\013\000\000\000\000\000\000\000\000\000\000\014R\000\000\014\130\001\013\001\013\001%\001\013\001\013\000\000\014b\000\000\001\005\001\013\000\000\001\005\000\000\001\013\000\000\000\000\014Z\000\000\014j\001\013\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\001\005\000\000\001%\001%\001\005\001%\014\138\001%\001\005\000\000\001\013\000\000\001\013\000\000\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\001\013\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\000\000\014Z\000\000\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\014b\001\005\001\t\001\005\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\000\000\001\013\000\000\001\013\000\000\000\000\000\000\000\000\001\t\000\000\001\013\001\013\001\t\001\013\001\013\001\013\001\t\000\000\000\000\000\000\000\000\000\000\001\t\000\000\001\005\001\t\001\t\001\005\001\t\001\t\000\000\014b\000\000\001\025\001\t\000\000\001\025\000\000\001\t\000\000\000\000\014Z\000\000\001\t\001\t\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\014J\000\000\001\005\001\005\001\025\001\005\001\005\001\005\001\025\000\000\001\t\000\000\001\t\000\000\014R\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\t\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\014Z\000\000\014j\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\001\t\000\000\000\000\000\000\014b\014z\001\017\001\025\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\t\000\000\001\t\000\000\000\000\000\000\000\000\014J\000\000\001\t\001\t\001\017\001\t\001\t\001\t\001\017\000\000\000\000\000\000\000\000\000\000\014R\000\000\001\025\001\017\001\017\001\025\001\017\001\017\000\000\014b\000\000\001\021\001\017\000\000\001\021\000\000\001\017\000\000\000\000\014Z\000\000\014j\001\017\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\014J\000\000\001\025\001\025\001\021\001\025\001\025\001\025\001\021\000\000\001\017\000\000\001\017\000\000\014R\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\017\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\014Z\000\000\014j\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\014b\014z\001\029\001\021\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\017\000\000\001\017\000\000\000\000\000\000\000\000\014J\000\000\001\017\001\017\001\029\001\017\001\017\001\017\001\029\000\000\000\000\000\000\000\000\000\000\014R\000\000\001\021\001\029\001\029\001\021\001\029\001\029\000\000\014b\000\000\014B\001\029\000\000\001-\000\000\014r\000\000\000\000\014Z\000\000\014j\001\029\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\014J\000\000\001\021\001\021\001-\001\021\001\021\001\021\001-\000\000\014z\000\000\001\029\000\000\014R\000\000\000\000\001-\001-\000\000\001-\014\170\001\029\000\000\000\000\000\000\001-\000\000\000\000\000\000\014r\000\000\000\000\014Z\000\000\014j\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\000\000\000\000\001\029\000\000\000\000\000\000\014b\014z\014B\001-\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\014J\000\000\001\029\001\029\001!\001\029\001\029\001\029\001!\000\000\000\000\000\000\000\000\000\000\014R\000\000\014\130\001!\001!\001-\001!\001!\000\000\014b\000\000\014B\001!\000\000\001)\000\000\014r\000\000\000\000\014Z\000\000\014j\001!\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\014J\000\000\001-\001-\001)\014\178\014\138\001-\001)\000\000\014z\000\000\001!\000\000\014R\000\000\000\000\001)\001)\000\000\001)\014\170\001!\000\000\000\000\000\000\001)\000\000\000\000\000\000\014r\000\000\000\000\014Z\000\000\014j\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\000\000\000\000\001!\000\000\000\000\000\000\014b\014z\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\001!\001!\000\000\001!\014\138\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\014\130\001\170\000\000\001)\001\174\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\008y\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\001)\000\000\001)\000\000\000\000\001\198\001\202\000\000\001\210\001)\001)\000\000\001)\014\138\001)\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\000\000\001\234\001\238\001\242\000\000\001\246\001\250\001\166\001\254\001\170\000\000\000\000\001\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018f\000\000\000\000\002\002\000\000\000\000\001\178\000\000\002\006\001\182\000\000\000\n\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\002\014\000\000\000\000\000\000\000\000\001\218\020\254\001\222\000\000\000\000\002\018\000\000\000\000\000\000\000\000\001\226\001\230\000\000\021\002\001\234\001\238\001\242\002\022\001\246\001\250\000\000\001\254\021\006\002\026\021\n\000\000\000\000\000\000\000\000\000\000\000\000\021\014\002\030\000\000\000\000\000\000\021\018\002\002\002\"\021\030\000\000\000\000\002\006\021\"\000\000\000\n\000\000\000\000\000\000\021&\000\000\000\000\000\000\000\000\002\014\000\000\000\000\000\000\000\000\000\000\023N\000\000\000\000\n\141\002\018\021*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\n\141\000\000\021.\002\030\000\000\0212\000\000\000\000\000\000\002\"\000\000\001\166\000\000\001\170\000\000\000\000\001\174\0216\000\000\000\000\000\000\000\000\021:\000\n\021>\000\000\021B\021F\000\000\021J\000\000\001\178\000\000\000\000\001\182\021N\000\000\000\000\021R\000\000\001\198\0076\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\021V\000\000\000\000\000\000\021Z\021^\n\141\001\226\001\230\000\000\000\000\001\234\001\238\001\242\000\000\001\246\001\250\001\166\001\254\001\170\000\000\000\000\001\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\001\178\000\000\002\006\001\182\000\000\000\n\000\000\000\000\000\000\001\198\002\n\000\000\001\210\000\000\002\014\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\002\018\000\000\000\000\000\000\000\000\001\226\001\230\006\030\000\000\001\234\001\238\001\242\002\022\001\246\001\250\0049\001\254\0049\002\026\000\000\0049\000\000\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\000\000\000\002\002\002\"\000\000\0049\000\000\002\006\0049\000\000\000\n\000\000\000\000\000\000\0049\0049\000\000\0049\000\000\002\014\000\000\000\000\000\000\000\000\0049\020\254\0049\000\000\000\000\002\018\000\000\000\000\000\000\000\000\0049\0049\000\000\021\002\0049\0049\0049\002\022\0049\0049\000\000\0049\021\006\002\026\021\n\000\000\000\000\000\000\000\000\000\000\000\000\021\014\002\030\000\000\000\000\000\000\021\018\0049\002\"\021\030\000\000\000\000\0049\021\"\000\000\0049\000\000\000\000\000\000\021&\000\000\000\000\000\000\000\000\0049\000\000\000\000\000\000\000\000\000\000\022n\000\000\000\000\005\209\000\000\021*\005\209\000v\000\000\000\000\005\209\000\000\005\209\000\000\000\000\000\000\0049\005\209\005\209\000\000\000\000\000\000\0049\000\000\000\000\000\000\000\000\000\000\n\141\005\209\021.\0049\005\209\0212\000\000\000\000\005\209\0049\005\209\000\000\000\000\000\000\000\000\005\209\005\209\0216\000\000\000\000\005\209\000\000\021:\000\n\021>\000\000\021B\021F\000\000\021J\000\000\000\000\000\000\005\209\000\000\021N\005\209\000\194\021R\000\000\005\209\000\000\005\209\005\209\001\002\000Z\005\209\005\209\005\209\005\209\000\000\000\000\000\000\021V\005\209\005\209\005\209\021Z\021^\n\141\005\209\005\209\005\209\000\000\000\000\000\000\001f\000\000\000\000\000\000\005\209\000Z\000\000\000\000\005\209\000\000\000\000\000\000\005\209\000\000\005\209\005\209\005\209\000\000\000\000\005\209\005\209\005\209\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\005\209\000\000\004\030\000\000\000\000\005\209\000\000\000Z\000\000\004\242\005\209\000\000\000\000\000\000\000Z\000\000\000\000\005\209\005\209\000\000\005\209\000\000\005\209\005\209\000\000\005\209\000\000\000\000\000\000\005\209\005\209\000\000\005\209\005\209\005\209\000\000\000\000\005\209\000\000\005\209\000\000\000\000\005\209\005\209\000\000\000\000\000\000\005\209\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\000\000\005\209\005\209\000\000\000\000\005\209\005\209\000\000\000\000\000\000\005\209\005\209\000\000\000\000\000\000\005\209\001\166\000\000\001\186\000\000\000\000\001\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\005\209\000\000\001\178\005\209\000\000\001\182\005\209\005\209\005\209\005\209\005\209\001\194\001\214\005\209\001\210\005\209\005\209\000\000\000\000\000\000\005\209\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\001\166\005z\001\186\000\000\000\000\001\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005~\000\000\000\000\001\178\000\000\005\130\001\182\000\000\000\n\000\000\000\000\000\000\001\194\007\030\000\000\001\210\005\209\005\138\000\000\005\209\003F\000\000\001\218\005\209\001\222\005\209\000\000\000\000\000\000\000\000\005\209\005\209\005j\001\230\000\000\000\000\005n\001\238\001\242\005\142\005r\005v\000\000\005z\000\000\005\146\000\000\000\000\005\209\000\000\000\000\005\209\003\138\000\000\005\150\005\209\000\000\005\209\000\000\005~\002\"\005\209\005\209\005\209\005\130\005\209\000\000\000\n\005\209\003\202\000\000\000\000\005\209\000\000\005\209\000\000\005\138\005\209\000\000\005\209\005\209\007f\000\000\000\000\000\000\000\000\000Z\000\000\000\000\005\209\000\000\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\142\000\000\000\000\005\209\005\209\000\000\005\146\000\000\005\209\000\000\000\000\005\209\005\209\005\209\000\000\005\150\000\000\000\000\000\000\000\000\000Z\002\"\000\000\005\209\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\000\000\005\209\000\000\005\209\005\209\000Z\005\209\000\000\005\209\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\000\000\005\209\000\000\000\000\000\000\000\000\000\000\000\000\005\209\000\000\000\000\005\209\000\000\000\000\000\000\005\209\005\209\000\000\005\209\005\209\000\000\000\000\005\209\000\000\000\000\000\000\000\000\005\209\005\209\000\000\000\000\000\000\005\209\005\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\001\186\000\000\005\209\001\190\000\000\005\209\005\209\000\000\000\000\005\209\000\000\000\000\000\000\000\000\005\209\005\209\000\000\000\000\001\178\005\209\000\000\001\182\005\209\005\209\000\000\000\000\005\209\001\194\005\134\000\000\001\210\005\209\005\209\000\000\000\000\000\000\005\209\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005~\000\000\000\000\000\000\000\000\005\130\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\005\138\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\024\254\001\022\nZ\001\030\0012\001:\001>\n^\025\002\000\000\000\000\000\000\000\000\005\142\000\000\000\000\001\166\000\000\n\166\005\146\001F\n\170\000\000\000\000\000\000\000\000\000\000\000\000\005\150\000\000\000\000\000\000\000\000\001N\002\"\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\n\186\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001\218\000\000\001\222\000\000\001j\000\000\000\000\000\000\000\000\000\000\n\206\001\230\001b\000\000\n\210\001\238\001\242\000\000\n\214\n\218\001\166\n\222\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\001\178\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\n\174\n\238\000\000\000\000\000\n\n\242\000\000\000\000\000\000\004\137\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\001n\n\210\001\238\001\242\n\246\n\214\n\218\001\166\n\222\n\166\n\250\000\000\n\170\000\000\000\000\000\000\000\000\000\000\000\000\n\254\000\000\000\000\000\000\n\226\n\230\002\"\000\000\001\178\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\n\174\011\006\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\001\238\001\242\n\246\n\214\n\218\001\166\n\222\013^\n\250\000\000\013b\000\000\000\000\000\000\000\000\000\000\000\000\n\254\000\000\000\000\000\000\n\226\n\230\002\"\000\000\001\178\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\013f\014\186\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\000\000\000\013\130\001\238\001\242\n\246\013\134\013\138\001\166\013\142\013^\n\250\000\000\013b\000\000\000\000\000\000\000\000\000\000\000\000\n\254\000\000\000\000\000\000\n\226\013\146\002\"\000\000\001\178\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\013f\013j\000\000\000\000\000\000\013\158\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\000\000\000\013\130\001\238\001\242\013\162\013\134\013\138\001\166\013\142\013^\013\166\000\000\013b\000\000\000\000\000\000\000\000\000\000\000\000\013\170\000\000\000\000\000\000\n\226\013\146\002\"\000\000\001\178\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\013f\013\154\000\000\000\000\000\000\013\158\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013~\001\230\000\000\000\000\013\130\001\238\001\242\013\162\013\134\013\138\000\000\013\142\000\000\013\166\000\000\000\000\000\000\000\000\000\000\008q\000\000\000\000\013\170\000\000\000\000\000\000\n\226\013\146\002\"\000\000\000\000\008q\013\150\000\000\000\000\000\n\000\000\000\000\000\000\000\000\008q\000\000\008q\000\000\013\158\000\000\000\000\000\000\000\000\008q\000\000\000\000\000\000\000\000\008q\000\000\023J\008q\000\000\000\000\000\000\008q\021\202\000\000\000\000\000\000\013\162\008q\021\002\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\000\013\170\000\000\008q\000\000\000\000\021\014\002\"\000\000\000\000\000\000\021\018\000\000\000\000\021\030\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\000\000\021&\000\000\000\000\000\000\008q\000\000\000\000\008q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021*\023j\000\000\008q\000\000\000\000\000\000\000\000\008q\008q\008q\000\000\008q\008q\000\000\008q\000\000\000\000\000\000\000\000\000\000\008q\000\000\000\000\008q\021.\000\000\000\000\0212\000\000\007\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008q\0216\000\000\007\229\008q\008q\021:\000\n\021>\000\000\021B\021F\007\229\021J\007\229\000\000\000\000\000\000\000\000\021N\000\000\007\229\021R\000\000\000\000\000\000\007\229\000\000\020\254\007\229\000\000\000\000\000\000\007\229\000\000\000\000\000\000\021V\000\000\007\229\021\002\021Z\021^\000\000\000\000\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\000\000\000\000\000\007\229\023j\000\000\021\014\000\000\000\000\000\000\000\000\021\018\000\000\000\000\021\030\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\000\000\021&\000\000\000\000\000\000\007\229\000\000\000\000\007\229\000\000\000\000\000\000\024~\000\000\000\000\000\000\000\000\021*\000\000\000\000\007\229\000\000\000\000\000\000\000\000\007\229\007\229\007\229\000\000\007\229\007\229\000\000\007\229\000\000\000\000\000\000\000\000\000\000\007\229\000\000\000\000\007\229\021.\000\000\000\000\0212\000\000\022R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\229\0216\000\000\021\002\007\229\007\229\021:\000\n\021>\000\000\021B\021F\021\006\021J\021\n\000\000\000\000\000\000\000\000\021N\000\000\021\014\021R\000\000\000\000\000\000\021\018\000\000\022j\021\030\000\000\000\000\000\000\021\"\000\000\000\000\000\000\021V\000\000\021&\021\002\021Z\021^\000\000\000\000\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\161\000\000\000\000\021*\000\000\000\000\021\014\000\000\000\000\000\000\000\000\021\018\000\000\000\000\021\030\000\000\000\000\000\000\021\"\000\000\000\000\011\234\000\000\000\000\021&\000\000\000\000\000\000\021.\000\000\000\000\0212\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\021*\000\161\000\161\0216\000\000\000\000\000\000\000\000\021:\000\n\021>\000\161\021B\021F\011\250\021J\012\n\000\000\000\000\000\000\000\000\021N\000\000\000\000\021R\021.\000\000\000\000\0212\000\000\020\254\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\000\021V\0216\000\000\021\002\021Z\021^\021:\000\n\021>\000\000\021B\021F\021\006\021J\021\n\000\000\000\000\000\000\000\000\021N\000\000\021\014\021R\000\000\000\000\000\000\021\018\000\000\020\254\021\030\000\000\000\000\000\000\021\"\000\000\000\000\000\161\021V\000\000\021&\021\002\021Z\021^\012\002\000\000\000\000\000\000\000\000\000\000\021\006\000\000\021\n\000\000\000\000\000\000\023\014\000\161\000\000\021\014\000\000\000\000\000\000\000\000\021\018\000\000\000\000\021\030\000\000\000\000\000\000\021\"\000\161\000\161\000\000\000\000\000\000\021&\000\000\000\000\000\000\021.\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\022\000\000\000\000\0216\000\000\000\000\000\000\000\000\021:\000\n\021>\000\000\021B\021F\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\000\000\000\000\021R\021.\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021V\0216\000\000\000\000\021Z\021^\021:\000\n\021>\000\000\021B\021F\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\000\000\000\000\021R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021V\000\000\000\000\000\000\021Z\021^\004I\004I\004I\004I\000\000\004I\000\000\004I\004I\000\000\004I\000\000\004I\000\000\004I\000\000\004I\004I\004I\004I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001r\000\000\000\000\000\000\004I\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\004I\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\004I\000\254\001F\001\014\000\000\001\022\004I\001\030\0012\001:\001>\000\000\000\000\000\000\004I\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\001^\000\254\001N\001\014\000\000\001\022\001j\001\030\0012\001:\001>\000\000\000\000\000\000\001b\000\000\000\000\000\000\000\000\000\000\004I\000\000\001^\000\000\001F\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\001^\000\000\000\000\000\000\000\000\000\000\004I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\001n\004R\004V\000\n\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\001n\001\022\0121\001\030\0012\001:\001>\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\001F\001\014\000\000\001\022\002-\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\001N\000\000\004Z\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001N\003Q\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\000\000\025\186\004V\000\000\000\000\001^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\000\000\004R\004V\000R\000V\000f\000\170\000\000\000\174\006R\000\178\000\246\006\162\000\254\000\000\001\014\000\n\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\000\002\013\025\190\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\000\000\000\002\013\001N\006\178\006\186\000\000\000\000\000\000\000\237\003I\004b\000\237\002%\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\000\001^\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\213\000\237\000\000\000\213\001b\000\000\000\000\006\138\025\186\004V\000\000\006b\000\000\000\000\000\000\000\237\000\000\000\237\000\237\002\013\000\000\000\213\000\000\000\000\000\000\000\213\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\165\006b\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\006\146\000\000\000\000\002\013\000\000\000\000\000\213\006r\006\138\006j\011\234\006z\000\000\000\205\000\000\000\000\000\205\000\000\000\000\025\198\000\237\000\000\000\000\000\000\011\242\002\013\000\000\000\000\000\000\000\000\000\165\000\165\000\213\000\000\000\205\006\194\006\154\002\013\000\205\000\000\000\165\000\000\000\000\011\250\000\213\012\n\006\146\000\000\000\205\000\237\000\000\000\000\000\205\006r\000\205\000\205\000\000\000\000\000\000\000\209\000\000\000\000\000\209\000\000\000\205\000\000\012\026\006j\000\000\000\205\000\213\000\237\000\000\000\213\000\000\000\000\000\000\006r\000\000\000\000\000\209\000\237\006\154\000\237\000\209\000\000\000\000\000\000\000\000\000\000\000\205\000\173\000\000\000\000\000\209\000\213\000\000\000\000\000\209\000\000\000\209\000\209\000\205\000\000\000\165\000\213\000\213\000\213\000\000\000\000\000\209\012\002\011\234\006j\000\000\000\209\000\225\000\000\000\000\000\225\000\000\000\000\000\000\000\000\000\165\000\000\011\242\000\000\000\205\000\000\000\000\000\205\000\173\000\173\000\000\006r\000\209\006Z\000\000\000\165\000\165\000\225\012\018\000\000\000\000\011\250\000\000\012\n\000\209\000\000\000\000\006b\000\000\000\205\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\205\000\205\000\205\000\000\000\225\012\026\000\000\006j\000\000\006z\000\217\000\209\000\000\000\217\000\209\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\138\006Z\000\000\000\000\000\000\000\217\000\209\000\000\000\000\000\000\000\000\000\000\000\225\012\"\000\000\006b\000\209\000\209\000\209\000\217\012\002\000\217\000\217\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\217\000\000\000\173\006j\000\000\006z\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\006r\000\000\006Z\000\173\000\173\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\217\011\226\000\000\000\000\006b\000\000\000\225\000\000\000\221\000\000\000\221\000\221\000\217\000\000\000\000\000\000\000\225\000\225\000\225\000\000\000\221\000\000\011\234\006j\000\000\006z\000\229\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\217\000\000\000\000\000\217\000\189\012:\000\000\006r\006\138\006Z\000\000\000\000\000\000\000\229\012\018\000\000\000\000\011\250\000\000\012\n\000\221\000\000\000\000\006b\000\000\000\217\000\000\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\217\000\217\000\217\000\000\006\130\012\026\000\000\006j\000\000\006z\006R\000\221\000\000\000\245\000\221\000\000\000\000\000\000\006r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\138\006Z\000\000\000\000\000\000\000\245\000\221\000\000\000\000\000\000\000\000\000\000\000\229\012\"\000\000\006b\000\221\000\221\000\221\000\245\012\002\000\245\006\186\000\000\000\000\000\000\006R\000\000\000\000\000\233\000\000\006\130\000\000\000\189\006j\000\000\006z\000\000\006\146\000\000\000\000\000\229\000\000\000\000\000\000\006r\000\000\006Z\012B\012*\000\000\000\233\000\000\000\000\000\000\000\000\000\000\006\138\000\000\000\000\000\000\006b\000\000\000\229\000\000\000\233\000\000\000\233\000\233\000\245\000\000\000\000\000\000\000\229\000\229\000\229\000\000\006\130\000\000\000\000\006j\000\000\006z\006R\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\146\000\000\000\000\000\245\000\000\000\000\000\000\006r\006\138\006Z\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\013\189\006b\000\000\000\245\000\000\000\241\000\000\000\241\006\186\000\000\000\000\000\000\000\000\006\194\006\154\000\245\000\000\006\130\000\000\000\000\006j\013\189\006z\000\000\006\146\000\000\000\000\000\233\011\030\000\000\000\000\006r\000\000\000\000\000\000\013\189\000\000\000\000\000\000\000\000\000\000\013\189\013\189\006\138\011\226\011&\000\000\000\000\0112\000\233\000\000\013\189\000\000\000\000\013\189\000\241\013\189\000\000\000\000\000\233\006\154\000\233\000\000\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\189\000\000\011\242\000\000\006\146\000\000\000\000\000\241\000\177\000\177\000\000\006r\000\000\011\226\000\000\000\000\000\000\000\000\012\018\011>\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\011\234\000\000\000\000\000\000\013\189\000\241\006\154\000\241\000\000\011B\012\026\013\189\000\000\000\000\011\242\000\000\000\000\000\000\000\000\011J\000\185\012:\000\000\000\000\013\189\000\000\000\000\000\000\000\000\000\000\012\018\000\000\000\000\011\250\000\000\012\n\000\000\000\000\000\000\013\189\013\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\"\000\000\000\000\000\000\000\000\000\000\000\000\012\002\012\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\012*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\"\000\000\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\012*"))
+    ((16, "\000F\000\245\000\000\000\000\023v\000\245\000\000\000\000\000t\000\000\000\000\000\000\001\015\000\000\000\000\000\000\000F\000\000\000}+\210\000\000\021\202\021\202\000\000\000\000D\196\021\202\000\000E\226\021\202\000\000\000\000\021\202\000\000\021\202\000\000\001\011\000\179\021\202\000\000\021\202\000\000\000\000\000\000\021\202\000\000\021\202\000\000EN\021\202\000\000FH\021\202\000\000\000\000\021\202\000\000\021\202\000\000\000\155\000\166\021\202\000\000\021\202\000\000\021\202\000\000\021\202\000\000Vh\021\202\000\000\000\000\021\202\000\000\021\202\000\000\000\017\0010\0010\000\000\000\000\000\000\000\178\000\000\000\000\000m\0010\000\000\000m\000\000\000\000\0010\000\005\001\132\0010\001R\000\000\001\132\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000[\0010\000\000\000Q\003F\0010\000\000\000I\002\224\000\000\000\000\000\000\001(\021\202\000\000E\226\0010\001f\021\202\000\000\000\000\021\202\000\000\000\000\021\202\000\000\021\202\000\000\001\174\002R\021\202\000\000+\210FH/\238\000\000\000\000\000\000\000\000.\182\002\216/\238\004\168\000\000/\238\000\000\000\000\002V\021\202\000\000/\238\000\000\0010\001pG\176\000\000\000\000V\224Wx\000\000]\150\000\000W\252G\176\028\182\028\182]\150G\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000X\148G\176\000\000\000\000X\148X\148X\148\000\000X\148\000\000G\176X\148\000\000\000\000\"d\0010\000\000\023H\028\182G\176\000\000#\176G\176*,G\176*DG\176\000\000\000\000\000\000\000\000\000\000\000\000\000\0009\228G\176\000\000:lG\176-\246G\176/\000G\176\000\000G\176\000\000G\1760\nG\1761\020G\1762\030G\1763(G\17642G\1765<G\176\002\180G\176\000\000\000\000\000\000\000\000\000\000G\176;vG\176;\254G\176=\bG\176=\144G\1766FG\1767PG\1768ZG\176>\154G\176?\"G\176\000\000G\176@,G\176@\180G\176A\190G\176\000\000G\176BFG\176CPG\176\000\000\000\000G\176\000\000\002\250\000\000\000\000\0010\000\000\000\000\000\000\003\n\000\000\003\162\000\000\000\236G\176\000\000\000\236\000\000\000\000\001T+\210\000\000\021\006\021\202\000\000\000\136\021\202\000\000Yf\021\202\000\000\000\000\021\202\000\000\021\202\000\000\003\224\0048\021\202\000\000\021\202\000\000\021\202\000\000\021\202\000\000\001\192\021\202\000\000Yv\021\202\000\000\000\000\021\202\000\000\021\202\000\000\0048\004z\021\202\000\000\021\202\000\000\021\202\000\000\021\202\000\000Y\146\021\202\000\000\000\000\021\202\000\000\021\202\000\000\000\174\0010\004v\021\202\000\000H\202\0010\004\208\021\202\000\000\000\000\021\202\000\000\021\202\000\000\021\202\000\000\005(\005\184\021\202\000\000Vh/\238\005|\021\202\000\0004\2421\212\000\000\002\224\006\146\0010\006x\007L+\210+\210\000\000\000\000\000\000\000sb\\+\210\000\1526*\000\000\000\000\000\000\005\200\007>\0010\007T+\210\000\000\000\000\006\140\000\000\006\144\007b+\210\006\156\000\000\0009\000\000\001p\000\000\000\000\001\230DN\000\000\000\000\000\000\006\158\007\154\000\000\007\160\000\000\023x\007f/\238\006\174\021\202\000\000Y\178/\238\006\176\021\202\000\000\000\000\000\000\0010\007\168\000\000\000\000\000\000\001T\000\000\000\000\028\182\006\200\000\000\006\202]\150\000\000\000\000\000\000\000\000\000\000\000\000X\148\000\000\000\000X\148\000\000\000\000X\148\000\000]\150\000\000\000\0002\196\0010\000\000\023H\023H\000\000\002\186\027\158\023H\030\154G\176\000\000G\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000U\146G\176fnG\176\006\254G\176\000\000G\176f\228G\176gNG\176g\196G\176h.G\176h\164G\176i\014G\176\000\000G\176i\132G\176i\238G\176jdG\176\000\000G\176j\206G\176kD\003Z\024\186\000\000\000\000\003\254\026,\000\000\000\000\000\000\000\000\006\214\000\000G\176\006\222\000\000\000\000\0010\000\000\000\000\000\000\000\000\006\242\000\000\000\000\000\000\000\000\000\000\000\000\006\244\000\000\000\000\000\000\006\250\000\000\000KZ\182\007\192G\176\007~\000\000\000\000]\150\000K\000\000\007\004\000\000\007\004G\176\000\000\028\182\007\006\000\000\000\000\007\226\000\000\028\182\007\n\000\000\000\000\028\182\007\030\000\000\000\000\007\030\000\000\000\000\b\020\000\000[\002/\238\007\"\021\202\000\000\000\000\007\170\000\000\007(\021\202\000\000\000\000\000t+\210\000\000+\210\000\000\007\028\000\000\000t\000\000\019d&\184\021\164\000\000\005\194\021\164\000\000\021\164\021\164\000\000\000\000\021\164\000\000\021\164\000\000\007d\007\148\021\164\000\000\021\164\000\000\021\164\000\000\021\164\000\000\b\130\021\164\000\000\021\180\021\164\000\000\000\000\021\164\000\000\021\164\000\000\007l\007\154\021\164\000\000\021\164\000\000\021\164\000\000\021\164\000\000E\244\021\164\000\000\000\000\021\164\000\000\021\164\000\000\003>\0010\007D\021\164\000\000\021\196\0010\007J\021\164\000\000\000\000\021\164\000\000\021\164\000\000\021\164\000\000\007z\007\168\021\164\000\000f`\000\000\007\\\000\000\001tf`\000\000\000\000\001t\000\000\000\000\021\202/\238\007X\021\164\000\000\000\000\000\000\0001\000\000\000\000\001R\0001\000\000\000\000\000\000\bN\000\000\b\216/\238\007^\021\164\000\000E\244/\238\007b\021\164\000\000\000\000\024\234\021\164\000\000\n\000\021\164\000\000Hl\021\164\000\000\000\000\021\164\000\000\021\164\000\000\007\146\007\192\021\164\000\000\021\164\000\000\021\164\000\000\021\164\000\000\n\180\021\164\000\000H\128\021\164\000\000\000\000\021\164\000\000\021\164\000\000\007\152\007\204\021\164\000\000\021\164\000\000\021\164\000\000\021\164\000\000H\170\021\164\000\000\000\000\021\164\000\000\021\164\000\000\004.\0010\007t\021\164\000\000H\164\0010\007|\021\164\000\000\000\000\021\164\000\000\021\164\000\000\021\164\000\000\007\176\b\000\021\164\000\000H\170/\238\007\190\021\164\000\000\000\000\b\228/\238\007\192\021\164\000\000I\004/\238\007\198\021\164\000\000\000\000\000\000\000\000\000\000\000\000\b\168G\176\007\226 \018\bf\000\000\b\192G\176\007\244\b\190DN\000\000\000\000\000\000+\210\0010\000\000\001dG\176+n\000\000[\218\028\182\007\252\000\000\000\000G\176\b\002\000\000\028\182\b\002\000\000\b\004b\144\000\000\000\000\000\000\000\000\000\000\000\000\000\000X\148\000\000\000\000X\148\000\000\000\000X\148\000\000b\144\000\000\000\000e\178\0010\000\000\023H\b\006\000\000G\176\b\006\000\000\000\000\0010\000\000\000\000\000\000\000\000\000\000\000\000G\176\001VG\176\b\b\000\000\000\000+n+n\000\000\000\000'\164\001n\b\208G\176\000\000\b\152\000\000\000\000\0010\000\000$\204\000\000\bF+n\bV+n\000\000\001l\000\000\000\000\025>G\176\026\178G\176\029<G\176^\176G\176_\240G\176k\174G\176k\182G\176lVG\176\000\000G\176l\184G\176l\192G\176m`G\176\000\000G\176m\194G\176m\202\000\000\001\004,R\000\000\002\1369F+n\000\000\002\212-6\000\000\000\000\000\000\b*\000\000\000\000\b,\000\000\t\"\000\000\0010\000\000\001d\t&\000\000\004\156\t\002\0010\bH\t\"+\210\b\\\004\190\000\000G\176\tN\000\000\000\000\000\000\t<+\210\bp\t`\000\000\005&\002,G\176\tf\000\000\th\000\000\023x\0010\0020G\176\tj\000\000\tl\000\000\0010\002\222G\176\tn\000\000\tp\000\000\000\012\b\176\b\242\000\000\\^\028\182\b\136\000\000\000\000I\206\000\000\tx\000\000\002\250\tTG\176\t\026\000\000\tbG\176\t\"\000\000\002R\000\000\b\242\b\242\028\182\b\166\000\000\b\170c c \000\000\000\000\000\000\000\000\000\000\000\000X\148\000\000\000\000X\148\000\000\000\000X\148\000\000c \000\000\000\000)\"\0010\000\000\023H\b\172\000\000G\176\b\176\000\000\000\000\0010\000\000\000\000\000\000\000\000\000\000F\238G\176\000\000G\176\000\000\b\184\000\000\000\236\000\000\000\000\000\000\000\000\000\000J8G\176KBG\176\b\228G\176\000\000G\176K\184G\176L\194G\176M8G\176NBG\176N\184G\176O\194G\176\000\000G\176P8G\176QBG\176Q\184G\176\000\000G\176R\194G\176S8\000\000\002\250\000\000\002\250\000\000\019d\b\242\b\242\000\000\000\000\000\000\000\003\000\000\000\000\000\000\t\140G\176\b\192 \018 \242\0010\t\176\000\000\t\146S\252\t\182S\252\t\188I\206\b\208 \018 \018\n$\001\172\004V\002\144\001\172\000\000\000\000\004p\011B\000\000\004\236\011\132\000\000\000\000\000\000\000\000\000\000\b\210\000\000\000\000\t\202\000\000\t\204\000\000\000\000\n\n\t\180G\176\b\232\t\216\000\000\t\028\000\000\t\194\023H\b\246 \018\000\000\000\000\000\184\000\000\007t\000\000\000\000\002\250\000\000\tz\000\000\014\234\000M\000\000\014\234\000\000\000\000$\204\000\000\002\190\000\000\000\000\011\238\000\000\014\234\000\000\t\206\023H\t\006\n\024\000\000\002\184\000\000\t\234\0010\t>\n\014+\210\tB\005f\000\000G\176\n2\000\000\n\020+\210\tJ\n:\000\000\003\172G\176\n>\000\000\nB\000\000\023x\0010\005RG\176\nF\000\000\nJ\000\000\000\000\000\000\011\238\000\000\000\000\002\190\000\000\b\242\000\000\002\184\000\000\000\000\001\252 \242\000\000\001\252\000\000\000\000\t`\000\000\000\236\001| \018\000\000\005\246\000M\005\246\000\000\000\184\000\000\b\242\000\000\b\242\000\000\000\000\000\000\td\000\000\000\000\tt\000\000\002j\007t\000M\005\246\000\000\000\000\000\000\002\190\000\000\b\242\000\000\002j\000\000\000\000\r<\000\184\019d\000\000\000\184\000\000\np\019d\000\000\000\000\np\000\000\000\000\tr\000\000\000\000\t\130\000\000\003\196\b\242\000\000\003\196\000\000\000\000\n\000\000\000\002\190\000\000\b\242\000\000\000\000\000\000\020\214T\128\000\000\nr\000\000\020\214\000\000\nt\000\000\nv\000\000+\210\0010\005\190\000\000G\176\nz\000\000\004\214\nL\0010\t\146\nf+\210\t\154\005\244\000\000G\176\n\138\000\000\005\246\000\000G\176\n\146\000\000\023x\0010\005\252\000\000G\176\n\150\000\000\005\136\020\214\000\000$\204\006\004\000\000G\176\n\154\000\000\000\000\000\000\001\148\000\000\n|\023H\t\176\n\160\000\000\003\030\000\000\nr\0010\t\186\n\146+\210\t\198\006<\000\000G\176\n\182\000\000\006x\000\000G\176\n\192\000\000\023x\0010\006\164\000\000G\176\n\200\000\000\005\136\000\000\000\000\t\222\000\000\001\148\014\186\n\\\000\000\000\000\000\000\nj\000\000\002\208\002R\000\000\019d\n\200\000\000\000\000G\176\n\026\b\242\000\000\t\236\000\000\000\012\000\000DN\000\000\000\000\003.\019d\000\000\019d\000\000\t\220\000\000\003.\000\000G\176\003\230G\176\000\000G\176\000\000\t\224\000\000\003\230\000\000G\176\003\230\t\226\000\000 \018\004\172 \018\000\000 \018\000\000\t\228\000\000\004\172\000\000G\176\003\230\t\230\000\000DN\005<DN\000\000DN\000\000\t\234\000\000\005<\000\000G\176\003\230\t\236\000\000\000\000\030(\000\000\000\000\nf;\254\000\000\000\000\000\000\000\000\000\000\nB\005\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0048;\254\000\000\004j\001V\000\000\nF\000\245\000\000\000\000\000\000\000\000\003\012\001V\000\000\000\000\000\000\000\000\n\170\000\000\000\000\000\000\000\000\"d&J\000\000:l\000\000;\254\000\000\004\142;\254\000\000\0044\004l\004l\000\000\003\148\004l\000\000\n\"\000\000\000\000\000\000\000\000\n\182\000\000'\164\000\000)\";\254\000\000\001\002;\254\000\000\n\190\000\000;\254\n\192\000\000?\"U\202\n\194\000\000\n\196\000\000@\180^\024;\254\000\000\000\000\n>;\254\n\202\000\000\n\204\000\000\n\208\000\000+\210\000\000\005\026+\210\000\000\nP\021\164\000\000;\254\n\222\000\000\006V;\254\000\000\005j;\254\000\000\000\031\011d\000\000\011h\000\000;\254;\254\n^\000\000\000\000\000\000\000\000\000\000\000\000\n\234\000\000BFUH\n\236\000\000\n\240\000\000d>^\158;\254\nj;\254\n\244\000\000\n\248\000\000\n\250\000\000;\254\n\162\000\245\000\000\000\000\005\128;\254\000\000\000\031\000\000\011\004\000\000;\254\011\b\000\000d\150_X;\254\n\130;\254\0110\000\000\011B\000\000\011F\000\000\\\248\021\164\000\000\021\164\000\000U\202;\254\n\192;\254\011L\000\000\011N\000\000\021\164\000\000c\220\000\000\000\000\005\184;\254\000\000\006V\007J\004l\n\198\000\000\000\000\001\172\001\172\000\000\000\000\000\000\006d\001\172\000\000\n\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\254\000\000\005\192;\254\000\000\000\003\003\180\000\245\n\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011V\000\000\011Z\000\000;\254\011^\000\000d\248UH\011`\000\000\011b\000\000;\254\011h\000\000\031\136\011\016e\178E\244=\144\n\236\000\000;\254\011v\000\000\011x\000\000\011J\031\136;\254\011\128\000\000;\254\011\132\000\000\011\134\000\000;\254\011\136\000\000\000\245\n\244\000\000\000\000\030(\000\000\000\000\004\030\011\238\000\000\000\000\000\130\000\000\000\000\000\000G\176\000\000\000\000\000\000\004x\000\000\0040\000\000\000\000\000\000\005\246DNDNDN\000\000\002N\002N\002N\002N\000\000\000\000\000\000\000\000\000\000\000\000\002\250\019d\011\228\016h\000M\000\000\000\000\002\190\000\000\011\238\000\000+n\011\b\000\000\002\250\019d\011\014\017\230\000\000\002\250\016h\000\000\000\000\000\000DN\r\022\000\000\000\000\000\000\011^\002\184\011\230`\1808>\000\000\005`b\1408>\005\140`\228\000\000\000\000\007\020\011\214\0010\000\000\005\238a\160\000\000\000\000\000\000\000\000\000\000\011\028\011\232\b\242\011 \000\000\000\000\002\190\000\000\011\238\000\000\025\212\006\186\000\000\000\000\011\214\000\000\000\000\004\030\000\000\004\\\000\000\000\000\000\000G\176\000\000\004x\000\000\005n\000\000\000\000\000\000\007t\000\000\rl\005\230\rl\000\000\b\242\rl\000\000\007d\000\000\b\242\000\000\b\242\000\000\b\242\000\000\025\212\000\000\000\000\000\000\000\000\000\000\b\242\000\000\007d\000\000\b\242\000\000\028^\000\000\000\000\np\011V\000\245\006N\012\000\003\146\000\000\003\146\012,\000\000\0120\000\000\0122\000\000\000\000\002\228\003\146\b\024\003\146\000\000\000\000\000\162\006N\0112\000\000\0114\000\000\011x\000\245\006N\011>\000\000\006\144\012R\000\000\b\014\005\018\012d\003\144\012d\000\000\000\000\000\231\000\245\000\000\002\020\000\000\000\000\000\225\000\000\011X\000\000\000\000\000\000\011\150\000\245\006N\011\\\000\000\000\000\006\144\b\014\005\018\000\231\002\020\000\225\011b\000\000\b\014\005\018\000\231\002\020\000\225\011d\000\000\002\252\003\222\011\128\000\245\011z\007b\007\130\011\164\000\245\000\000\011\166\000\245\000\000\012\004\000\000\011\138\004N\011\134\007b\012\016\000\000\011\142\007b\012\028\000\000\000\000\007b\000\000\012 \000\000"), (16, "\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\000\n\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\r\213\000\150\025\238\025\246\007m\r\213\016V\001z\007M\001^\007m\007m\r\213\031\154\r\213\017\226\025\238\025\246\r\213\r\213\027.\r\213\031\130\000\154\r\213\005\185\002\146\0007\000;\r\213\r\213\r\213\000N\t\214\023>\023f\023v\023\158\023\174\023\214\r\213\011N\025\254\r\213\r\213\000\006\000\"\001:\007m\r\213\r\213\006U\r\213\014\157\r\213\004\242\027\154\000\242\004\250\r\213\005\n\r\213\r\213\011R\r\213\r\213\r\213\005\018\001\146\001\150\r\213\r\213\r\213\ni\001\154\r\213\r\213\r\213\001\158\001\162\000&\r\213\r\213\r\213\r\213\r\213\r\213\na\000\n\t\182\r\213\r\213\004\149\006V\019\014\b\254\001\166\t\173\005\026\007\021\000*\r\213\r\213\r\213\000\n\001\190\r\213\r\213\r\213\r\213\001\202\r\213\tI\r\213\001\218\005\185\r\213\tY\007M\r\213\r\213\002m\006\189\b\213\014\157\014\157\006\189\018\254\031\022\014\157\r\213\r\213\bE\005*\r\213\ni\016V\b\213\r\213\r\213\r\213\r\213\005\186\000.\r\213\017\226\r\213\016&\004\201\na\r\213\r\213\r\213\018\254\r\213\004\201\r\213\r\213\022\238\r\213\t\190\r\213\r\213\006\197\001\150\r\213\r\213\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\004\194\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\r\225\014^\024~\b\213\000\246\r\225\006\221\006\221\000\n\004\149\024\130\001>\r\225\r\185\r\225\004\149\004\149\001r\r\225\r\225\005F\r\225\ra\005N\r\225\005^\r\129\004\149\006\189\r\225\r\225\r\225\005f\019\014\006\229\006b\028\151\028\155\001B\t\157\r\225\028\159\004\218\r\225\r\225\014.\022\"\002\146\001F\r\225\r\225\001R\r\225\004\149\r\225\031\030\b\213\024\142\011\022\r\225\001~\r\225\r\225\005n\r\225\r\225\r\225\024\146\b\213\001\134\r\225\r\225\r\225\000\n\004\194\r\225\r\225\r\225\027F\018b\007\029\r\225\r\225\r\225\r\225\r\225\r\225\r\n\025>\015\"\r\225\r\225\r\014\001v\005\021\r\129\te\028\226\005~\r\018\001B\r\225\r\225\r\225\r\022\028\230\r\225\r\225\r\225\r\225\001F\r\225\0146\r\225\001\238\006~\r\225\rb\tM\r\225\r\225\006\213\ra\006\189\ra\014v\020\"\027J\011Z\016~\020F\r\225\007\r\001\142\r\225\000\n\014B\015j\r\225\r\225\r\225\r\225\004\209\006\189\r\225\002\002\r\225\006\189\0075\004\209\r\225\r\225\r\225\005\021\r\225\018f\r\225\r\225\002.\r\225\005\021\r\225\r\225\016\130\007\029\r\225\r\225\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\020\150\007U\007U\007U\007U\007U\007U\007U\007U\007U\007U\019r\018n\031\142\018\254\007U\016Z\016j\016z\005=\031\146\006\194\007U\016V\007U\002\157\001>\019v\007U\007U\ra\007U\017\226\001B\007U\007E\015\210\0022\015\242\007U\005\133\007U\005\185\001F\021B\031\022\001>\006.\015\174\002^\007U\021F\001r\001B\015\178\021J\015j\005=\015j\007U\007U \006\022>\001F\007U\007U\023\030\020\022\000\n\007U\014\157\007U\007U\001B\007U\007U\007U\001>\022B\rQ\007U\007U\007U\001F\002z\007U\007U\007U\000\n\022\194\007%\007U\007U\007U\007U\007U\007U\001>\n\178\015\174\007U\007U\015.\001\206\001B\015\178\r\193\003\230\000\n\tu\tA\019\014\007U\007U\001F\030\238\007U\007U\007U\007U\001\150\007U\000\n\007U\001B\016\014\007U\007\174\001v\007U\007U\t!\005\185\ra\001F \n\030\242\023&\022\214\000\n\015>\014\157\014\157\030\246\007U\015j\014\157\002}\007U\007U\007U\007U\031&\002q\007U\000\n\007U\027\158\023F\000\n\007U\007U\007U\031\030\024\158\004\150\007U\007U\r\193\007U\004\178\007U\007U\021\022\007u\007U\007U\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u F\007u\007u\007u\007u\007u\007u\007u\007u\007u\007u\006\253\rI\t]\007u\007u\bv\007u\rI\rI\t\017\030\254\007u\000\n\007u\028\134\007u\012v\007u\007u\rI\007u\024\242\024\018\007u\007u\007u\019\186\023N\007u\007u\007u\007u\031r\000\n\025\002\007u\007u\002f\001\150\007u\007u\rq\007u\031\006\004\186\rI\015j\024\246\007u\007u\007u\007u\007\133\007u\r\169\023~\005\030\007u\007u\028\134\007u\007-\007u\007u\007u\007u\001>\015\130\015\158\007u\007u\007u\001>\000\n\007u\007u\007u\002j\005\"\012\185\007u\007u\007u\007u\007u\007u\031j\b\134\015\174\000\n\007u\002M\006\245\001B\015\178\001>\021\150\r\177\007u\001B\005r\007u\007u\001F\007u\007u\007u\007u\007u\001F\007u\005v\007u\007u\007\133\007u\024n\015\174\007u\007u\006\189\024z\001B\015\178\028\191\028\195\023\134\023\182\000\n\028\199\007u\018j\001F\007u\000\n\t=\005e\007u\007u\002\146\007u\012\185\ra\007u\018~\007u\030+\030/\t-\007u\t\234\0303\019\146\t\242\005\194\n\002\007u\000\n\007u\024\230\007u\007u\n\n\015\162\007u\007u\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\023\254\001&\028\206\001.\r\018\0016\002\014\002\022\002\026\r\022\028\210\007\005\024\002\n\018\007e\r\026\021\130\021\246\023\190\005\214\007e\007e\r*\024\006\002\"\024\n\018\138\r\153\002\150\r2\002]\016.\007e\024\014\0162\006\189\001>\006v\r\161\002*\005\254\016F\024\026\021\178\021\198\016V\024\030\021\226\n\"\025\178\002\166\022\006\024\"\029\006\017\226\006\189\rY\019\218\007e\017\246\016\138\0292\029>\001B\017\250\020R\r\137\019\150\024&\002\202\r\145\002\206\005\149\001F\002>\019\006\018\002\015j\027.\022^\016\162\002\214\018\006\006\237\029\150\016\166\014V\002\222\t\145\025\226\006\002\016\170\016\174\rF\rJ\016\178\018\n\005Y\000\n\024*\026\134\018\014\024.\030K\030O\006\022\029\162\007=\030S\022r\t\129\021\134\r\182\016\182\027B\0242\018\018\018\022\016\186\018\026\0246\000\n\024:\018.\024>\024B\005q\024F\027\"\018:\016\194\022\142\027\142\019\014\024J\030\011\003\229\024N\021\182\021\202\003\229\029R\021\230\030\015\018Z\nY\022\n\0062\018^\018\170\005\149\rN\024R\030\018\016\198\029\194\018\174\024V\024Z\002\141\016\206\005\149\005\149\n\133\n\133\000\n\005\149\018\182\n\133\016\210\nE\007}\007}\025\214\022b\003\026\007}\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\030\230\001&\028\206\001.\r\018\0016\002\014\002\022\002\026\r\022\028\210\001>\029\178\022v\005Y\r\026\nY\002f\024\018\031Z\005Y\005Y\r*\027Z\002\"\004\145 \030 \026\002\150\r2\ri\016.\005Y\005Y\0162\022\146\018\254\006:\001B\002*\006>\016F\006z\0272\006\130\016V *\006\146\001F\006\154\002\166\006\158\001>\016V\017\226\006\166\006\214\006\238\005Y\017\246\016\138\0292\017\226\006\218\017\250\020\154\006\226\006\246\007\n\002\202\007\"\002\206\005\165\000\n\002>\019\006\018\002\007B\007J\001B\016\162\002\214\018\006\b\002\b\158\016\166\014V\002\222 o\001F\b\170\016\170\016\174\rF\rJ\016\178\018\n\004\145\b\202\b\230\019\n\018\014\004\141\b\246\t\006\t\014\t&\t.\t>\tJ\tV\003\229\r\182\016\182\000\n\003\229\018\018\018\022\016\186\018\026\tf\000\n\tr\018.\t~\t\142\005q\t\158\t\166\018:\016\194\n>\t\203\019\014\nF\n\022\nV\n\026\004\141\nj\nn\019\014\n\186\n^\018Z\n\206\n\246\n\250\018^\018\170\011\014\rN\011:\011n\016\198\011~\018\174\011\146\011\218\011\222\016\206\012.\005\165\n\133\n\133\0122\012~\018\182\n\133\016\210\012\146\007\141\007\141\012\186\nf\003\026\007\141\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\012\190\001&\028\206\001.\r\018\0016\002\014\002\022\002\026\r\022\028\210\002f\012\210\012\234\004\145\r\026\012\254\002f\nv\004\141\004\145\004\145\r*\r\030\002\"\004\141\004\141\r&\002\150\r2\r.\016.\004\145\030\230\0162\r6\r>\004\141\rB\002*\rz\016F\r\138\r\150\r\158\r\254\001>\014\n\014>\014b\002\166\011v\001>\016V\004\141\014n\014\138\012\226\004\145\016\134\016\138\014\146\017\226\004\141\017\250\031\030\015R\015^\015f\002\202\015z\002\206\005\193\001B\002>\017\254\018\002\015\134\015\142\001B\016\162\002\214\018\006\001F\015\146\016\166\014V\002\222\015\154\001F\015\170\016\170\016\174\rF\rJ\016\178\018\n\015\186\015\194\015\198\014\165\018\014\015\218\015\226\015\250\016\002\016\022\016\030\000\n\016*\016>\016R\r\182\016\182\000\n\016^\018\018\018\022\016\186\018\026\016f\000\n\016n\018.\016v\016\146\005q\016\154\016\250\018:\016\194\011\174\017\006\017>\011\182\017n\011\198\018\030\018&\0186\018>\019\014\018F\011\206\018Z\018N\018V\018\166\018^\018\170\005\193\rN\018\178\018\186\016\198\018\198\018\174\018\202\018\210\018\214\016\206\005\193\005\193\018\222\018\230\018\238\005\193\018\182\019\026\016\210\019^\n\141\n\141\019f\011\214\003\026\n\141\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\019j\001&\019z\001.\r\018\0016\002\014\002\022\002\026\r\022\019\130\019\134\019\142\019\158\019\166\r\026\019\174\019\178\011\230\019\194\005Y\019\202\r*\019\226\002\"\019\234\020:\018b\002\150\r2\012\002\016.\020\130\012\n\0162\012\026\020\142\021\002\030\218\002*\b\221\016F\012\"\021\014\021.\021Z\021j\021r\001B\021\142\002\166\021\154\021\162\016V\b\221\021\166\021\174\021\190\001F\016\134\016\138\021\210\017\226\021\238\017\250\022\018\022*\0222\0226\002\202\022F\002\206\022N\012*\002>\017\254\018\002\022R\022Z\022j\016\162\002\214\018\006\000\n\022~\016\166\014V\002\222\022\154\022\174\022\190\016\170\016\174\rF\rJ\016\178\018\n\022\206\022\230\022\246\023\002\018\014\0233\018f\023[\023s\023\147\023\171\012:\023\203\023\227\b\221\r\182\016\182\031B\023\250\018\018\018\022\016\186\018\026\024\022\000\n\024\134\018.\031V\004\241\024\183\025\014\005Y\018:\016\194\031\174\025#\031Z\005Y\005Y\025K\025W\025g\025o\025\138\019\014\025\147\025\155\018Z\025\163\005Y\005Y\018^\018\170\025\190\rN\025\207\025\242\016\198\025\250\018\174\026\n\026'\0267\016\206\026?\026R\026[\b\221\026c\026k\018\182\026v\016\210\018b\026\155\005Y\026\167\026\186\003\026\b\221\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\001B\001&\026\195\001.\r\018\0016\002\014\002\022\002\026\r\022\001F\026\203\018b\026\211\026\246\r\026\026\255\027\007\027:\027f\027\166\027\199\r*\027\207\002\"\027\219\027\235\027\243\002\150\r2\027\255\016.\028\n\001B\0162\000\n\028\026\028'\028/\002*\0286\016F\028C\001F\028O\028W\028c\028o\028\138\029\018\002\166\029:\029J\016V\029~\018f\029\134\029\182\029\222\016\134\016\138\029\226\017\226\029\234\017\250\030\023\030\222\030\234\000\n\002\202\030\250\002\206\031\002\031\n\002>\017\254\018\002\t1\0317\031?\016\162\002\214\018\006\031F\031S\016\166\014V\002\222\018f\031^\031n\016\170\016\174\rF\rJ\016\178\018\n\031\163\031\178\031\191\014\165\018\014\031\227\031\255 \014 \022 \" . ; B\002a J\r\182\016\182 S Z\018\018\018\022\016\186\018\026 c\000\n w\018.\000\000\000\000\000\000\000\000\000\000\018:\016\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\n\019\014\000\000\000\000\018Z\r\014\000\000\000\000\018^\018\170\028\226\rN\r\018\000\000\016\198\000\000\018\174\r\022\028\230\000\000\016\206\000\000\000\000\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\014\165\014\165\000\000\000\000\003\026\014\165\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\028\206\001.\r\018\0016\002\014\002\022\002\026\r\022\028\210\000\000\000\000\000\000\000\000\r\026\001>\015\130\000\000\000\000\019r\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016.\000\000\000\000\0162\001>\019v\000\000\015\174\002*\000\000\016F\000\000\001B\015\178\000\000\000\000\000\000\004\218\000\000\002\166\000\000\000\000\001F\000\000\000\000\000\000\015\174\000\000\017\246\016\138\000\000\001B\015\178\017\250\030b\000\000\000\000\000\000\002\202\000\000\002\206\001F\000\000\002>\019\006\018\002\000\000\000\n\000\000\016\162\002\214\018\006\005\133\000\000\016\166\014V\002\222\000\000\000\000\000\000\016\170\016\174\rF\rJ\016\178\018\n\000\n\000\000\000\000\000\000\018\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\018\018\018\022\016\186\018\026\000\000\000\n\000\000\018.\000\000\000\000\005q\000\000\000\000\018:\016\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\r\000\000\000\000\000\000\000\000\000\000\018Z\000\000\000\000\000\000\018^\018\170\000\000\rN\000\000\000\000\016\198\000\000\018\174\000\000\000\000\000\000\016\206\000\000\000\000\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\nq\nq\000\000\000\000\003\026\nq\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\022>\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016.\000\000\000\000\0162\001>\022B\000\000\000\000\002*\000\000\016F\000\000\000\000\000\000\000\000\000\000\000\000\004\218\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\015\174\000\000\017\246\016\138\000\000\001B\015\178\017\250\019\"\000\000\000\000\000\000\002\202\000\000\002\206\001F\000\000\002>\019\006\018\002\000\000\000\000\000\000\016\162\002\214\018\006\000\000\000\000\016\166\014V\002\222\000\000\000\000\000\000\016\170\016\174\rF\rJ\016\178\018\n\000\n\000\000\000\000\014\129\018\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\018\018\018\022\016\186\018\026\000\000\000\n\000\000\018.\000\000\000\000\000\000\000\000\000\000\018:\016\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\r\000\000\000\000\000\000\000\000\000\000\018Z\000\000\000\000\000\000\018^\018\170\000\000\rN\000\000\000\000\016\198\000\000\018\174\000\000\000\000\000\000\016\206\000\000\000\000\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\014\129\014\129\000\000\000\000\003\026\014\129\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016.\000\000\000\000\0162\000\000\000\000\000\000\000\000\002*\000\000\016F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\246\016\138\000\000\000\000\000\000\017\250\029\022\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\019\006\018\002\000\000\000\000\000\000\016\162\002\214\018\006\000\000\000\000\016\166\014V\002\222\000\000\000\000\000\000\016\170\016\174\rF\rJ\016\178\018\n\000\000\000\000\000\000\000\000\018\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\018\018\018\022\016\186\018\026\000\000\000\n\000\000\018.\000\000\000\000\000\000\000\000\000\000\018:\016\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018Z\000\000\000\000\000\000\018^\018\170\000\000\rN\000\000\000\000\016\198\000\000\018\174\000\000\000\000\000\000\016\206\000\000\000\000\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\014\205\014\205\000\000\000\000\003\026\014\205\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016.\000\000\000\000\0162\000\000\000\000\000\000\000\000\002*\000\000\016F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\246\016\138\000\000\000\000\000\000\017\250\029\022\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\019\006\018\002\000\000\000\000\000\000\016\162\002\214\018\006\000\000\000\000\016\166\014V\002\222\000\000\000\000\000\000\016\170\016\174\rF\rJ\016\178\018\n\000\000\000\000\000\000\000\000\018\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\018\018\018\022\016\186\018\026\000\000\000\n\000\000\018.\000\000\000\000\000\000\000\000\000\000\018:\016\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018Z\000\000\000\000\000\000\018^\018\170\000\000\rN\000\000\000\000\016\198\000\000\018\174\000\000\000\000\000\000\016\206\000\000\000\000\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\014\201\014\201\000\000\000\000\003\026\014\201\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\002\"\000\000\000\000\000\000\002\150\r2\000\000\016.\000\000\000\000\0162\000\000\000\000\000\000\000\000\002*\000\000\016F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\246\016\138\000\000\000\000\000\000\017\250\020\206\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\019\006\018\002\000\000\000\000\000\000\016\162\002\214\018\006\000\000\000\000\016\166\014V\002\222\000\000\000\000\000\000\016\170\016\174\rF\rJ\016\178\018\n\000\000\000\000\000\000\000\000\018\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\018\018\018\022\016\186\018\026\000\000\000\n\000\000\018.\000\000\000\000\000\000\000\000\000\000\018:\016\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018Z\000\000\000\000\000\000\018^\018\170\000\000\rN\000\000\000\000\016\198\000\000\018\174\000\000\000\000\000\000\016\206\000\000\000\000\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\000R\000V\000f\000\170\003\026\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\000\000\001.\r\018\0016\002\014\002\022\002\026\r\022\000\000\004\230\004\238\000\170\000\000\000\174\000\000\0052\005:\005B\005\134\000\000\005\142\005\150\002\"\005\166\000\000\005\174\002\150\005\182\005\226\016.\005\234\000\000\0162\000\000\000\000\000\000\000\000\002*\000\000\021N\000\000\000\000\000\000\000\000\000\000\000\000\005\242\000\000\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021^\016\138\000\000\000\000\005\250\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\016\162\002\214\000\000\000\000\000\000\016\166\001\150\002\222\000\000\000\000\000\000\016\170\016\174\rF\021b\016\178\000\000\000\000\006\n\000\000\000\000\000\000\t\246\006\181\000\000\000\000\000\000\000\000\000\000\000\000\nJ\006\181\r\182\016\182\006\181\006\181\000\000\000\000\016\186\006\181\000\000\000\n\006\181\006\181\006\181\000\000\006\181\000\000\006\181\000\000\016\194\006\181\006\181\000\000\006\181\000\000\006\181\000\000\000\000\000\000\000\000\000\000\006\181\000\000\006\181\006\181\000\000\006\181\000\000\006\181\006\181\rN\006\181\006\181\016\198\006\181\021f\006\181\006\181\000\000\016\206\006\181\006\181\006\181\006\181\006\181\006\181\021n\006\181\016\210\000\000\006\181\000Z\000\000\006\181\003\026\000\000\006\181\000\000\006\181\000Z\006\181\006\181\n\198\000\000\006\181\0112\006\181\000Z\000\000\006\181\000Z\000\000\006\181\006\181\000\000\006\181\000\000\000\000\006\181\000\000\000\000\006\181\006\181\000\000\006\181\000\000\006\181\006\181\006\181\006\181\000\000\000\000\006\181\000\000\006\181\000\000\000\000\006\181\000\000\000\000\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\000\000\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\000\000\000\000\000\000\006\181\000\000\006\181\006\181\000\000\000\000\006\181\006\181\006\181\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\006\181\000\000\000\000\006\181\000\000\006\181\006\181\000\000\006\181\006\181\006\181\000\000\000\000\006\181\006\181\000\000\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\000\000\000\000\006\181\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\004\230\004\238\000\170\000\000\000\174\000\000\0052\005:\005B\005\134\000\000\005\142\005\150\002\"\005\166\000\000\005\174\002\150\005\182\005\226\002\174\005\234\000\000\002\178\000\000\000\000\000\000\000\000\002*\000\000\000\000\ry\ry\000\000\000\000\000\000\000\000\005\242\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\003>\007:\000\000\002\194\005\250\000\000\007\162\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\007N\002\214\000\000\000\000\000\000\007R\001\150\002\222\000\000\000\000\007\166\007V\007Z\000\000\000\000\007^\002\238\000\000\006\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\000\000\000\000\007f\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ry\007\170\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\ry\000\000\000\000\007r\000\000\000\000\ry\ry\000\000\007z\000\000\000\000\004\233\000\000\000\000\000\000\000\000\000\000\007~\000\000\000R\000V\000f\000\170\003\026\000\174\000\000\000\178\000\186\000\194\001\006\000\022\001\014\001\022\000\000\001&\000\000\001.\ry\0016\002\014\002\022\002\026\ry\ry\011\162\011\170\000\170\000\000\000\174\000\000\011\238\011\246\011\254\012B\000\000\012J\012R\002\"\012b\000\000\012j\002\150\012r\012\158\002\174\012\166\000\000\002\178\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\174\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\003>\007:\000\000\002\194\012\182\000\000\007\162\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\014\170\000\000\000\000\007N\002\214\000\000\000\000\000\000\007R\001\150\002\222\000\000\000\000\007\166\007V\007Z\000\000\000\000\007^\002\238\000\000\012\198\000\000\000\000\014\178\014\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\014\194\000\000\007f\000\000\000\000\000\n\014\202\014\210\000\000\000\000\000\000\000\000\000\000\000\000\007n\000\000\014\218\r\n\000\000\014\226\000\000\014\234\r\014\000\000\000\000\007\170\000\000\028\226\000\000\r\018\000\000\000\000\000\000\000\000\r\022\028\230\000\000\000\000\007r\000\000\000\000\000\000\000\000\000\000\007z\000\000\000\000\t\021\014\242\000\000\000\000\000\000\000\000\007~\000\000\000R\000V\000f\000\170\003\026\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\019r\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\001>\019v\000\000\000\000\014\250\000\000\000\000\000\000\000\000\002\"\000\000\015\002\000\000\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\000\000\015\174\000\000\002*\0065\000\000\001B\015\178\000\000\000\000\000\000\0065\000\000\000\000\002\166\000\000\001F\002\170\000\000\015\n\015\018\000\000\000\000\003>\007:\000\000\002\194\000\000\000\000\007\162\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\n\000\189\000\000\007N\002\214\005\133\000\000\000\000\007R\001\150\002\222\000\000\000\000\007\166\007V\007Z\000\000\000\000\007^\002\238\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\000\000\003\150\007f\000\000\000\000\000\n\000\000\000\189\000\189\000\000\000\000\b\149\b\149\000\000\007n\000\000\b\149\003\190\000\000\000\000\003\158\000\000\003\174\000\000\000\000\007\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007r\000\000\000\000\000\000\000\000\000\000\007z\000\000\000\000\002Q\000\000\003\198\000\000\000\000\000\000\007~\000\000\000R\000V\000f\000\170\003\026\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\000\002\"\000\000\000\000\003\166\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\000\000\000\000\000\000\002*\000\000\000\189\000\000\000\000\000\000\000\000\000\000\000\000\000\189\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\189\003\214\000\000\003>\007:\000\000\002\194\000\000\000\000\007\178\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\000\000\000\000\000\007N\002\214\000\000\000\000\000\000\007R\001\150\002\222\r\n\000\000\007\166\007V\007Z\r\014\000\000\007^\002\238\000\000\028\226\000\000\r\018\000\000\000\000\000\000\000\000\r\022\028\230\000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\000\000\000\000\000\000\007f\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\007n\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\019r\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\007r\001>\019v\000\000\000\000\000\000\007z\000\000\000\000\t%\002\"\000\000\000\000\000\000\002\150\007~\000\000\002\154\000\000\000\000\002\158\003\026\000\000\015\174\000\000\002*\000\000\000\000\001B\015\178\000\000\000\000\000\000\000\000\000\000\000\000\002\166\000\000\001F\002\170\000\000\000\000\000\000\000\000\000\000\002\190\002\186\000\000\002\194\000\000\000\000\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002>\000\000\000\000\000\n\000\165\000\000\002\210\002\214\005\133\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\000\000\003\150\002\246\000\000\000\000\000\n\000\000\000\165\000\165\000\000\000\000\n\189\n\189\000\000\002\254\000\000\n\189\000\165\000\000\000\000\003\158\000\000\003\174\000\000\000\000\003\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\006\000\000\000\000\000\000\000\000\000\000\003\018\000\000\000\000\000\000\000\000\000\165\000\000\000\000\000\000\003\"\000\000\001\133\001\133\001\133\001\133\003\026\001\133\000\000\001\133\001\133\001\133\001\133\000\000\001\133\001\133\000\000\001\133\000\000\001\133\000\000\001\133\001\133\001\133\001\133\000\000\000\000\000\000\000\000\023\238\000\000\000\000\000\000\000\000\000\000\000\000\000\165\000\000\000\000\001\133\001\133\001\133\000\000\003\166\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\165\001\133\000\000\000\000\000\000\001\133\000\000\000\165\023\242\000\000\000\000\001\133\000\000\000\000\000\000\000\165\000\165\000\000\001\133\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\001\225\000\000\000\000\001\225\000\000\001\133\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\001\225\000\000\000\000\001\133\000\000\000\000\001\133\000\000\000\000\001\133\000\000\000\000\000\000\000\000\001\225\000\000\000\000\000\000\001\225\000\000\001\225\001\225\001\133\000\000\000\000\000\000\000\000\001\133\000\000\001\133\001\225\000\000\001\133\001\225\023\246\001\225\000\000\000\000\000\000\001\133\000\000\001\133\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\001\133\000\000\001\225\000\000\001\133\001\133\000\000\000\000\000\000\000R\t\222\t\230\000\170\000\000\000\174\024\186\n*\n2\n:\n~\000\000\n\134\n\142\023\254\n\158\000\000\n\166\000\000\n\174\n\218\002\022\n\226\000\000\000\000\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\001\225\007\186\000\000\001\225\024\006\n\234\024\n\001\225\000\000\000\000\000\000\000\000\000\000\000\000\024\014\000\000\000\000\000\000\000\000\000\000\028\006\001\225\000\000\024\026\000\000\001\225\001\225\024\030\000\000\000\000\000\000\000\000\007\194\024\"\000\000\000\000\001\225\001\225\000\000\000\000\011\002\000\000\000\000\000\000\000\000\025\166\000\000\000\000\000\000\024&\027\018\000\000\000\000\000\000\000\000\011.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\026\000\000\000\000\000\000\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\011F\002\150\r2\024*\016.\000\000\024.\0162\000\000\000\000\000\000\000\000\000\000\000\000\016F\000\000\000\000\000\000\000\000\0242\000\000\000\000\000\000\002\166\0246\000\n\024:\000\000\024>\024B\000\000\024F\018*\016\138\000\000\000\000\000\000\017\250\024J\000\000\000\000\024N\002\202\000\000\002\206\000\000\000\000\000\000\000\000\018\002\000\000\000\000\000\000\016\162\002\214\018\006\024R\000\000\016\166\014V\002\222\024V\024Z\000\000\016\170\016\174\000\000\000\000\016\178\018\n\000\000\000\000\000\000\000\000\018\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\018\018\018\022\016\186\018\026\000\000\000\n\000\000\018.\000\000\000\000\000\000\r\026\000\000\018:\016\194\000\000\000\000\000\000\r*\000\000\000\000\000\000\000\000\000\000\002\150\r2\000\000\016.\018Z\000\000\0162\000\000\018^\018\170\000\000\000\000\000\000\016F\016\198\000\000\018\174\000\000\000\000\000\000\016\206\000\000\002\166\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\016\158\016\138\000\000\000\000\003\026\017\250\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\018\002\000\000\000\000\000\000\016\162\002\214\018\006\000\000\000\000\016\166\014V\002\222\000\000\000\000\000\000\016\170\016\174\000\000\000\000\016\178\018\n\000\000\000\000\000\000\000\000\018\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\018\018\018\022\016\186\018\026\000\000\000\n\000\000\018.\000\000\000\000\000\000\000\000\000\000\018:\016\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018Z\000\000\000\000\000\000\018^\018\170\000\000\000\000\000\000\000\000\016\198\000\000\018\174\000\000\000\000\000\000\016\206\000\000\000\000\000\000\000\000\000\000\000\000\018\182\000\000\016\210\000\000\0129\0129\0129\0129\003\026\0129\000\000\0129\0129\0129\0129\000\000\0129\0129\000\000\0129\000\000\0129\000\000\0129\0129\0129\0129\000\000\000\000\016}\000\000\000\000\016}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0129\0129\0129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0129\000\000\016}\016}\000\000\000\000\0129\016}\000\000\024\202\0032\016}\000\000\024\210\000\000\000\000\000\000\016}\000\000\0129\016}\016}\000\000\016}\016}\000\000\0129\003:\000\000\016}\003N\0129\000\000\016}\000\000\000\000\016}\000\000\016}\016}\0129\0129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0129\000\000\016}\0129\016}\000\000\0129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016}\000\000\000\000\000\000\0129\000\000\000\000\004\154\000\000\0129\000\000\0129\000\000\000\000\0129\000\000\000\000\000\000\000\000\000\000\000\000\0129\000\000\0129\000\000\000\000\0129\016}\016}\000\000\016}\016}\004\158\000\000\016}\000\000\000\000\000\000\000\000\000\000\000\000\0129\0129\004\166\000\000\000\000\025&\0129\016}\000\000\000\000\016}\016}\016}\016}\016}\000\000\000\000\000\000\016}\016}\016}\000\000\016}\016}\016}\016\r\000\000\000\000\016\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\r\016\r\000\000\000\000\000\000\016\r\000\000\000\000\0032\016\r\000\000\000\000\000\000\000\000\000\000\016\r\000\000\000\000\016\r\016\r\000\000\016\r\016\r\000\000\000\000\003:\000\000\016\r\003N\000\000\000\000\016\r\000\000\000\000\016\r\000\000\016\r\016\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\r\000\000\016\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\r\000\000\000\000\000\000\000\000\000\000\000\000\004\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\r\016\r\000\000\016\r\016\r\004\158\000\000\016\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\004\166\000\000\005\233\000\000\000\000\016\r\000\000\000\000\016\r\016\r\016\r\016\r\016\r\000\000\000\000\000\000\016\r\016\r\016\r\000\000\016\r\016\r\016\r\005\233\005\233\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\000\000\005\233\005\233\000\000\001>\005\233\000\000\005\233\005\233\000\000\000\000\005\233\000\000\000\000\005\233\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\005\233\000\000\005\233\bA\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\000\000\005\233\000\000\005\233\000\000\000\000\000\000\005\233\005\233\005\233\000\000\005\233\005\233\005\233\012)\012)\012)\012)\000\000\012)\000\000\012)\012)\012)\012)\000\000\012)\012)\000\000\012)\000\000\012)\000\000\012)\012)\012)\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012)\012)\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012)\000\000\000\000\000\000\000\000\000\000\012)\000\000\000R\t\222\t\230\000\170\000\000\000\174\000\000\n*\n2\n:\n~\012)\n\134\n\142\000\000\n\158\000\000\n\166\012)\n\174\n\218\002\022\n\226\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012)\012)\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\242\000\000\012)\000\000\000\000\012)\000\000\000\000\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\002\012)\000\000\000\000\000\000\000\000\012)\000\000\012)\000\000\000\000\012)\000\000\000\000\000\000\011.\000\000\000\000\012)\000\000\012)\000\000\000\000\012)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011F\012)\012)\000\000\000\000\000\000\024\206\012)\012-\012-\012-\012-\000\000\012-\000\000\012-\012-\012-\012-\000\000\012-\012-\000\000\012-\000\000\012-\000\000\012-\012-\012-\012-\000\000\000\000\005\237\000\000\000\000\005\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012-\012-\012-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012-\000\000\005\237\005\237\000\000\000\000\012-\005\237\000\000\025*\005\237\005\237\000\000\000\000\000\000\000\000\000\000\005\237\000\000\012-\005\237\005\237\000\000\005\237\005\237\000\000\012-\005\237\000\000\005\237\005\237\012-\000\000\005\237\000\000\000\000\005\237\000\000\005\237\005\237\012-\012-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012-\000\000\005\237\012-\005\237\000\000\012-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\237\000\000\000\000\000\000\012-\000\000\000\000\005\237\000\000\012-\000\000\012-\000\000\000\000\012-\000\000\000\000\000\000\000\000\000\000\000\000\012-\000\000\012-\000\000\000\000\012-\005\237\005\237\000\000\005\237\bI\005\237\000\000\005\237\000\000\000\000\000\000\000\000\000\000\000\000\012-\012-\005\237\000\000\000\000\000\000\012-\005\237\000\000\000\000\005\237\000\000\005\237\000\000\005\237\000\000\000\000\000\000\005\237\005\237\005\237\000\000\005\237\005\237\005\237\000R\t\222\t\230\000\170\000\000\000\174\000\000\n*\n2\n:\n~\000\000\n\134\n\142\000\000\n\158\000\000\n\166\000\000\n\174\n\218\002\022\n\226\000\000\000\000\016a\000\000\000\000\016a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0252\n\234\025N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025Z\000\000\016a\016a\000\000\000\000\n\242\016a\000\000\000\000\016\234\016a\000\000\000\000\000\000\000\000\000\000\016a\000\000\025r\016a\016a\000\000\016a\016a\000\000\011\002\016\242\000\000\016a\016\254\025\166\000\000\016a\000\000\000\000\016a\000\000\016a\016a\025\198\011.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011F\000\000\016a\025\210\016a\000\000\026*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016a\000\000\000\000\000\000\026B\000\000\000\000\017\n\000\000\026n\000\000\nA\000\000\000\000\026\158\000\000\000\000\000\000\000\000\000\000\000\000\026\170\000\000\026\214\000\000\000\000\027\210\016a\016a\000\000\016a\000\000\017\014\001\209\016a\000\000\001\209\000\000\000\000\000\000\000\000\027\222\027\246\017\022\000\000\001\209\000\000\028\002\001\209\000\000\000\000\016a\000\000\016a\000\000\000\000\000\000\001\209\001\209\016a\016a\016a\001\209\016a\016a\016a\001\209\000\000\000\000\001\209\001\209\000\000\001\209\000\000\001\209\001\209\001\209\000\000\001\209\001\209\000\000\000\000\000\000\000\000\001\209\000\000\000\000\001\209\001\209\000\000\001\209\001\209\000\000\001\209\001\209\000\000\001\209\000\000\000\000\000\000\001\209\000\000\000\000\001\209\000\000\001\209\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\001\209\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\209\003V\000\000\001\209\001\209\000\000\000\000\001\209\000\000\000\000\000\000\000\000\001\209\003^\000\000\001\209\001\209\000\000\000\000\001\209\000\000\001\209\000\000\000\000\001\209\001\209\001\209\001\209\000\000\000\000\000\000\000\000\004\138\001\209\001\209\000\000\001\209\001\209\001\209\001\209\000\000\000\000\000\000\000\000\004~\001\209\001\209\000\000\001\209\001\209\001\209\002\150\000\000\000\000\rj\000\000\000\000\rn\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\002\166\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\r\130\r\142\000\000\000\000\014.\014F\014J\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\r\162\002\214\000\000\014N\014R\r\166\014V\002\222\000\000\002*\000\000\r\170\r\174\000\000\000\000\r\178\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\r\182\r\186\000\000\006B\000\000\000\000\r\190\000\000\000\000\000\n\000\000\000\000\002>\000\000\000\000\000\000\006F\006J\r\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\213\000\000\014Z\002\150\014v\000\000\rj\006N\000\000\rn\000\000\000\000\000\000\000\000\000\000\r\202\000\000\000\000\000\000\000\000\000\000\r\210\000\000\000\000\000\000\002\166\000\000\004\249\000\000\000\000\r\214\000\000\000\n\000\000\r\130\r\142\003\026\000\000\014.\014F\014J\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\006R\000\000\000\000\r\162\002\214\000\000\014N\014R\r\166\014V\002\222\000\000\000\000\000\000\r\170\r\174\000\000\000\000\r\178\001F\000\000\000\000\005\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\r\186\000\000\000\000\000\000\000\000\r\190\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\213\000\000\014Z\002\150\014v\000\000\rj\000\000\000\000\rn\000\000\000\000\000\000\000\000\000\000\r\202\000\000\000\000\000\000\000\000\000\000\r\210\000\000\000\000\000\000\002\166\000\000\ti\000\000\000\000\r\214\000\000\000\000\000\000\r\130\r\142\003\026\000\000\014.\014F\014J\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\162\002\214\000\000\014N\014R\r\166\014V\002\222\000\000\000\000\000\000\r\170\r\174\000\000\000\000\r\178\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\000\000\000\000\001Y\000\000\r\182\r\186\000\000\000\000\000\000\000\000\r\190\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\198\001Y\001Y\000\000\000\000\000\000\001Y\000\000\000\000\006\213\001Y\014Z\000\000\014v\000\000\000\000\003\150\000\000\000\000\001Y\001Y\000\000\001Y\001Y\r\202\000\000\000\000\000\000\001Y\000\000\r\210\000\000\001Y\000\000\000\000\003\158\002\129\003\174\001Y\r\214\000\000\000\000\000\000\000\000\000\000\003\026\000\000\000\000\004\217\004\217\004\217\004\217\000\000\004\217\000\000\004\217\004\217\004\217\004\217\000\000\004\217\004\217\000\000\004\217\001Y\004\217\001Y\004\217\004\217\004\217\004\217\000\000\000\000\000\000\000\000\000\000\000\000\001Y\000\000\000\000\002Z\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\001Y\000\000\000\000\001Y\001Y\000\000\001M\003\166\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\001Y\000\000\004\217\001Y\001Y\001Y\001Y\001Y\000\000\001M\001M\004\217\001Y\001Y\001M\001Y\001Y\001Y\001M\000\000\000\000\000\000\000\000\000\000\001M\004\217\004\217\001M\001M\000\000\001M\001M\000\000\004\217\000\000\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\003\158\000\000\001M\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\001M\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\001M\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\004\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001M\001M\002\"\001Q\003\166\000\000\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\001M\000\000\000\000\001M\001M\001M\001M\001M\000\000\001Q\001Q\000\000\001M\001M\001Q\001M\001M\001M\001Q\002:\000\000\000\000\000\000\000\000\001Q\002F\000\000\001Q\001Q\000\000\001Q\001Q\000\000\000\000\002>\000\000\001Q\000\000\000\000\000\000\001Q\000\000\000\000\003\158\000\000\001Q\001Q\000\000\002J\002N\000\000\000\000\000\000\000\000\000\000\000\000\002R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\001U\003\166\000\000\001U\000\000\000\000\000\000\000\000\014A\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\001Q\001Q\001Q\000\000\001U\001U\000\000\001Q\001Q\001U\001Q\001Q\001Q\001U\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001U\001U\000\000\001U\001U\000\000\000\000\000\000\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\003\158\000\000\003\174\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\001U\001.\001U\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\001U\000\000\000\000\001U\001U\000\000\001e\003\166\000\000\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\001U\000\000\002F\001U\001U\001U\001U\001U\000\000\003\142\003\182\002>\001U\001U\001e\001U\001U\001U\001e\000\000\000\000\000\000\000\000\000\000\003\150\002J\002N\001e\001e\000\000\001e\001e\000\000\002R\000\000\000\000\001e\000\000\000\000\000\000\001e\000\000\000\000\003\158\000\000\003\174\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016E\000\000\000\000\016E\003\198\000\000\001e\000\000\000\000\000\000\002V\000\000\000\000\000\000\000\000\000\000\000\000\001e\000\000\000\000\000\000\000\000\000\000\000\000\016E\016E\000\000\000\000\000\000\000\000\000\000\000\000\007\150\000\000\000\000\002\181\000\000\000\000\000\000\016E\000\000\000\000\000\000\016E\001e\016E\016E\001e\001e\007\158\001]\003\166\b\162\001]\000\000\016E\000\000\000\000\016E\000\000\016E\000\000\000\000\000\000\000\000\001e\000\000\000\000\001e\001e\001e\001e\001e\000\000\003\142\003\182\000\000\001e\001e\001]\001e\001e\001e\001]\000\000\000\000\000\000\016E\000\000\003\150\000\000\000\000\001]\001]\000\000\001]\001]\000\000\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\000\000\b\174\003\158\000\000\003\174\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016E\016E\000\000\016E\000\000\b\178\000\000\016E\000\000\000\000\001]\000\000\001]\000\000\000\000\000\000\b\186\000\000\000\000\000\000\000\000\016E\000\000\001]\000\000\016E\016E\000\000\000\000\000\000\000\000\000\000\016E\000\000\000\000\000\000\016E\016E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001]\000\000\000\000\001]\001]\000\000\001a\003\166\000\000\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001]\000\000\000\000\001]\001]\001]\001]\001]\000\000\003\142\003\182\000\000\001]\001]\001a\001]\001]\001]\001a\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001a\001a\000\000\001a\001a\000\000\000\000\000\000\000\000\001a\000\000\000\000\000\000\001a\000\000\000\000\003\158\000\000\003\174\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\003\198\001.\001a\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\001a\000\000\000\000\001a\001a\000\000\001i\003\166\000\000\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\001a\000\000\002F\001a\001a\001a\001a\001a\000\000\003\142\003\182\002>\001a\001a\001i\001a\001a\001a\001i\000\000\000\000\000\000\000\000\000\000\003\150\002J\002N\001i\001i\000\000\001i\001i\000\000\002R\000\000\000\000\001i\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\001i\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\001i\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\002\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001i\001i\002\"\001q\003\166\000\000\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\001i\000\000\000\000\001i\001i\001i\001i\001i\000\000\003\142\003\182\000\000\001i\001i\001q\001i\001i\001i\001q\002:\000\000\000\000\000\000\000\000\003\150\006B\000\000\001q\001q\000\000\001q\001q\000\000\000\000\002>\000\000\001q\000\000\006F\006J\003\190\000\000\000\000\003\158\000\000\003\174\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001q\001q\000\000\004\030\003\166\000\000\001m\000\000\t\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001q\000\000\000\000\001q\001q\001q\001q\001q\000\000\003\142\003\182\000\000\001q\001q\001m\001q\003\214\001q\001m\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001m\001m\000\000\001m\001m\000\000\000\000\000\000\000\000\001m\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\001m\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\001m\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001m\001m\002\"\004\030\003\166\000\000\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\001m\000\000\000\000\001m\001m\001m\001m\001m\000\000\003\142\003\182\000\000\001m\001m\001u\001m\003\214\001m\001u\002:\000\000\000\000\000\000\000\000\003\150\029\138\000\000\001u\001u\000\000\001u\004&\000\000\000\000\002>\000\000\001u\000\000\029\142\006J\003\190\000\000\000\000\003\158\000\000\003\174\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001u\001u\000\000\000\000\003\166\002\150\000\000\000\000\rj\000\000\000\000\rn\000\000\000\000\000\000\000\000\000\000\000\000\001u\000\000\000\000\001u\001u\001u\001u\001u\000\000\002\166\000\000\000\000\001u\001u\000\000\001u\003\214\001u\r\130\r\142\000\000\000\000\014.\014F\0152\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\162\002\214\000\000\014N\014R\r\166\014V\002\222\000\000\000\000\003\130\r\170\r\174\003\222\000\000\r\178\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\182\r\186\003\254\004\006\000\000\000\000\r\190\002-\000\000\000\n\000\000\002-\000\000\000\000\000\000\000\000\000\000\004\014\r\198\000\000\002-\002-\000\000\004\022\0046\000\000\000\000\006\213\000\000\002-\000\000\014v\000\000\004>\000\000\nI\004F\000\000\004N\002-\000\000\000\000\r\202\000\000\000\000\000\000\000\129\nI\r\210\000\129\000\000\000\000\000\000\000\000\ty\000\000\000\000\r\214\nI\000\000\nI\000\000\000\000\003\026\000\000\004V\000\000\002-\nI\000\000\003\142\003\182\000\000\000\000\nI\000\129\000\000\nI\002-\000\129\000\000\nI\024\214\000\000\000\000\003\150\000\000\nI\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\003\190\000\000\nI\003\158\004^\003\174\000\129\002-\002-\000\000\000\000\004f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002-\000\000\000\000\002-\002-\002-\002-\003\198\nI\000\129\000\000\nI\002-\002-\000\000\004n\004v\002-\000\000\000\000\000\129\000\000\000\000\000\000\nI\000\000\000\000\000\000\000\000\nI\nI\nI\000\000\nI\nI\000\000\nI\000\000\000\000\000\000\000\000\000\000\000\000\nI\000\000\000\000\nI\003\206\000\000\000\000\000\129\000\129\000\000\000i\003\166\000\000\000i\000\000\000\000\000\000\000\000\nI\000\000\000\000\000\000\000\000\nI\nI\000\129\000\000\000\000\000\129\000\129\000\129\000\129\000\000\000\000\000i\000i\000\000\000\129\000\129\000i\000\129\003\214\000\129\000i\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\023\254\003\158\000\000\003\174\000i\000\000\000\000\000\000\000\000\000\000\000\000\000e\024\002\000\000\000e\000\000\000\000\000\000\000\000\026r\000\000\000\000\000\000\024\006\000\000\024\n\000\000\000\000\000\000\000\000\000i\000\000\000i\024\014\000\000\000e\000e\000\000\000\000\024\018\000e\000\000\024\026\000i\000e\000\000\024\030\000\000\000\000\000\000\003\150\000\000\024\"\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000\000\000e\000\000\026\002\000\000\000e\000\000\024&\003\158\000i\003\174\000e\000i\000i\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000e\024*\000e\000\000\024.\000i\000i\000\000\000i\000i\000i\000\000\000\000\000e\000\000\025~\000\000\0242\000\000\000\000\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\024N\000e\000\000\000\000\000e\000e\000\000\000]\003\166\000\000\000]\000\000\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\024Z\000e\000\000\000\000\000e\000e\000e\000e\000\000\000\000\000]\000]\000\000\000e\000e\000]\000e\000e\000e\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\007\157\003\158\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\004\030\007\157\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\157\000\000\007\157\000\000\000\000\000\000\000\000\000]\000\000\000]\007\157\000\000\003\142\003\182\000\000\000\000\007\157\000\137\000\000\007\157\000]\000\137\000\000\007\157\000\000\000\000\000\000\003\150\000\000\007\157\000\137\000\137\000\000\000\137\004&\000\000\000\000\000\000\000\000\000\137\028\022\000\000\000\000\003\190\000\000\007\157\003\158\000]\003\174\000\137\000]\000]\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000]\000]\003\198\007\157\000\137\000\000\007\157\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\137\000\000\000\000\000\000\007\157\000\000\000\000\000\000\000\000\007\157\007\157\007\157\000\000\007\157\007\157\000\000\007\157\000\000\000\000\000\000\000\000\000\000\000\000\007\157\000\000\000\000\007\157\003\206\000\000\000\000\000\137\000\137\000\000\004\030\003\166\000\000\000}\000\000\000\000\000\000\000\000\007\157\000\000\000\000\000\000\000\000\007\157\007\157\000\137\000\000\000\000\000\137\000\137\000\137\000\137\000\000\000\000\003\142\003\182\000\000\000\137\000\137\000}\004.\003\214\000\137\000}\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\000\000\000\000}\000\000\000\000\000\000\003\190\000\000\025^\003\158\000\000\003\174\000}\000\000\000\000\000\000\000\000\000\000\000\000\000u\024\002\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\006\000\000\024\n\000\000\000\000\000\000\000\000\003\198\000\000\000}\024\014\000\000\003\142\003\182\000\000\000\000\024\018\000u\000\000\024\026\000}\000u\000\000\024\030\000\000\000\000\000\000\003\150\000\000\024\"\000u\000u\000\000\000u\000u\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000\000\024&\003\158\003\206\003\174\000u\000}\000}\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000\000\000\000\000}\000}\000}\000}\003\198\024*\000u\000\000\024.\000}\000}\000\000\000}\003\214\000}\000\000\000\000\000u\000\000\000\000\000\000\0242\000\000\000\000\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\024N\000u\000\000\000\000\000u\000u\000\000\000a\003\166\000\000\000a\000\000\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\024Z\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000a\000a\000\000\000u\000u\000a\000u\000u\000u\000a\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\025v\003\158\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000m\024\002\000\000\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\006\000\000\024\n\000\000\000\000\000\000\000\000\000a\000\000\000a\024\014\000\000\003\142\003\182\000\000\000\000\024\018\000m\000\000\024\026\000a\000m\000\000\024\030\000\000\000\000\000\000\003\150\000\000\024\"\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000\000\000m\000\000\000\000\000\000\000m\000\000\024&\003\158\000a\003\174\000m\000a\000a\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000m\024*\000m\000\000\024.\000a\000a\000\000\000a\000a\000a\000\000\000\000\000m\000\000\000\000\000\000\0242\000\000\000\000\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\024N\000m\000\000\000\000\000m\000m\000\000\000q\003\166\000\000\000q\000\000\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\024Z\000m\000\000\000\000\000m\000m\000m\000m\000\000\000\000\003\142\003\182\000\000\000m\000m\000q\000m\000m\000m\000q\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\023\254\003\158\000\000\003\174\000q\000\000\000\000\000\000\000\000\000\000\000\000\004\030\024\002\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\006\000\000\024\n\000\000\000\000\000\000\000\000\003\198\000\000\000q\024\014\000\000\003\142\003\182\000\000\000\000\024\018\000\133\000\000\024\026\000q\000\133\000\000\024\030\000\000\000\000\000\000\003\150\000\000\024\"\000\133\000\133\000\000\000\133\004&\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\000\003\190\000\000\026.\003\158\000q\003\174\000\133\000q\000q\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000q\000q\003\198\024*\000\133\000\000\024.\000q\000q\000\000\000q\000q\000q\000\000\000\000\000\133\000\000\000\000\000\000\0242\000\000\000\000\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\024N\003\206\000\000\000\000\000\133\000\133\000\000\000y\003\166\000\000\000y\000\000\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\024Z\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\003\142\003\182\000\000\000\133\000\133\000y\000\133\003\214\000\133\000y\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\000\000\000\000y\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000R\000V\000f\000\170\t\218\000\174\r\n\000\178\000\186\000\194\001\006\r\014\001\014\001\022\000\000\001&\028\206\001.\r\018\0016\002\014\002\022\002\026\r\022\028\210\003\206\000\000\000\000\000y\000y\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\002*\000\000\000\000\000\000\000\000\000y\000y\000\000\000y\000y\000y\000\000\003\213\000\000\000\000\000\000\000j\003\213\000\000\000r\002:\000\130\003\213\000\000\003\213\000\000\006B\000\000\000\138\003\213\003\213\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\006F\006J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\rF\rJ\000\000\006N\000\000\000\146\003\213\000\000\000\000\000\000\003\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\213\003\213\003\209\000\n\000\000\000\000\000\198\003\209\005q\000\206\000\000\000\222\003\209\003\213\003\209\000\162\000\000\000\000\000\230\003\209\003\209\000\000\003\213\006R\000\000\000\000\000\000\003\213\003\213\000\000\000\000\000\000\006\205\rN\000\000\000\000\000\000\003\213\000\000\000\000\000\000\003\213\000\000\006\205\000\000\002\161\000\000\000\000\006\205\000\238\003\209\000\000\003\213\000\000\003\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\213\000\000\000\000\000\000\000\000\003\213\000\000\003\209\003\209\000\000\000\000\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\006\181\003\209\000v\000\254\000\000\006\181\000\000\006\181\000\000\000\000\003\209\n\146\006\181\006\181\000\000\003\209\003\209\000\000\000\000\003\213\000\000\000\000\003\213\003\213\006\181\003\209\003\213\000\000\000\000\003\209\000\000\003\213\003\213\000\000\000\000\006\181\003\213\006\181\012=\012=\003\209\000\000\012=\006\181\000\000\006\181\006\181\006\181\000\000\000\000\003\209\006\181\000\000\000\210\006\181\003\209\006\181\000\000\006\181\000\000\000\000\000\000\006\181\006\181\006\181\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000Z\000\000\000\000\006\181\011\138\000\000\012=\000\000\006\181\000Z\000\000\000\000\006\181\000\000\006\181\000\000\003\209\006\181\006\181\003\209\003\209\000\000\006\181\003\209\000\000\000\000\006\181\006\181\003\209\003\209\000\000\006\181\000\000\003\209\000\000\000\000\006\181\012=\000\000\006\181\000\000\006\181\006\181\000\000\000\000\000\000\002B\000\000\000\000\000\000\000\000\000Z\006\181\000\000\006\181\006\181\000\000\006\181\000\000\000\000\006\181\006\181\006\181\006\181\006\181\006\181\000\000\006\181\006\181\006\181\000\000\000\000\000\000\000\000\006\181\000\000\001\233\006\181\006\181\001\233\000\000\000\000\006\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\181\000\000\006\181\006\181\006\181\000\000\000\000\006\181\006\181\012=\001\233\001\233\006\181\006\181\000\000\001\233\000\000\006\181\006\181\001\233\000\000\000\000\000\000\000\000\000\000\001\233\000\000\000\000\001\233\001\233\000\000\001\233\001\233\000\000\000\000\000\000\000\000\001\233\000\000\000\000\000\000\001\233\000\000\000\000\001\233\000\000\001\233\001\233\000\000\000\000\000\000\006\181\000\000\000\000\006\181\006\181\000\000\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\001\233\000\000\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\000\002\154\000\000\000\000\002\158\000\000\000\000\000\000\000\000\000\000\000\000\001\233\017*\000\000\001\233\000\000\000\000\000\000\001\233\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\002\182\002\186\000\000\002\194\000\000\rf\001\233\000\000\001\233\000\000\002\202\000\000\002\206\000\000\0172\001\233\001\233\000\000\001\233\001\233\001\233\002\210\002\214\000\000\000\000\014f\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\011\186\006\181\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\012\014\006\181\000\000\006\181\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\006\181\006\181\002\246\006\181\000\000\000\n\006\181\000\000\012V\006\181\000\000\006\181\000\000\006\181\002\254\000\000\000\000\006\181\006\181\000\000\006\181\006\181\006\181\000\000\006\181\003\002\nQ\006\181\000\000\006\181\006\181\006\181\006\181\000\000\006\181\006\181\000\000\000\000\003\006\006\181\006\181\006\181\006\181\000\000\003\018\006\181\006\181\000Z\006\181\nQ\000\000\006\181\006\181\003\"\006\181\006\181\006\181\000Z\006\181\003\026\000\000\006\181\006\181\000\000\000\000\006\181\006\181\000\000\000\000\006\181\012\138\000\000\006\181\012\202\006\181\000Z\000\000\006\181\000Z\006\181\006\181\000\000\000\000\006\181\006\181\006\181\000\000\006\181\000\000\005\206\006\181\000\000\000\000\006\181\000Z\000\000\006\181\006\181\006\181\006\181\006\181\000\000\006\181\006\181\000\000\006\181\006\181\000\000\006\181\006\181\006\181\006\181\006\181\006\181\000\000\006\181\000\000\006\181\012\246\000\000\000\000\006\181\006\181\000Z\006\181\006\181\006\181\006\181\006\181\006\181\006\181\006\181\000\000\006\181\006\181\006\181\006\181\000\000\000\000\000\000\006\181\000\000\000\000\006\181\000\000\006\181\006\181\000\000\000\000\000\000\006\181\006\181\000\000\006\181\000\000\000\000\006\181\000\000\006\181\000\000\000\000\006\181\000\000\006\181\006\181\000\000\006\181\006\181\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\006\181\000\000\006\181\006\181\000\000\006\181\000\000\002\150\006\181\000\000\002\154\006\181\006\181\002\158\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\016J\000\000\006\181\000\000\000\000\000\000\002\166\006\181\000\000\002\170\000\000\000\000\006\181\006\181\000\000\002\182\002\186\000\000\002\194\000\000\017^\000\000\000\000\017f\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\017v\017~\000\000\002\226\002\230\002=\000\000\002\234\002\238\002=\000\000\000\000\000\000\000\000\000\000\017\134\000\000\000\000\002=\002=\000\000\017\142\017\150\000\000\000\000\002\242\000\000\002=\000\000\000\000\002\246\017\158\000\000\000\n\017\166\000\000\017\174\002=\000\000\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\182\000\000\002=\003\006\000\000\000\000\000\000\000\000\000\000\003\018\000\000\000\000\nQ\002=\000\000\000\000\000\000\000\000\003\"\000\000\000\000\000\000\000\000\000\000\003\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\190\000\000\000\000\002=\000\000\000\000\0015\017\198\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002=\000\000\002=\000\000\000\000\000\000\003\142\003\182\000\000\002=\002=\0015\017\206\017\214\002=\0015\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\0015\0015\000\000\0015\0015\000\000\000\000\000\000\000\000\0015\000\000\000\000\000\000\003\190\000\000\000\000\003\158\001\029\003\174\0015\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\000\000\003\198\001\029\0015\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\003\150\000\000\0015\001\029\001\029\000\000\001\029\001\029\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\001\029\000\000\000\000\003\158\000\000\003\174\001\029\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\0015\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\001\029\000\000\000\000\0015\000\000\0015\000\000\000\000\000\000\000\000\000\000\001\029\0015\0015\000\000\0015\003\214\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\001\025\003\166\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\001\025\001\025\000\000\001\029\001\029\001\025\001\029\001\029\001\029\001\025\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\003\158\001\017\003\174\001\025\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\000\000\001\025\001\017\001\025\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\025\001\017\001\017\000\000\001\017\001\017\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\001\017\000\000\000\000\003\158\000\000\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\017\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\001\017\001\025\001\025\000\000\001\025\001\025\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\004\030\003\166\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\017\000\000\000\000\000\000\003\142\003\182\000\000\001\017\001\017\001=\001\017\001\017\001\017\001=\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001=\001=\000\000\001=\004&\000\000\000\000\000\000\000\000\001=\000\000\000\000\000\000\003\190\000\000\000\000\003\158\004\030\003\174\001=\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\003\198\0011\001=\000\000\000\000\0011\000\000\000\000\000\000\000\000\000\000\003\150\000\000\001=\0011\0011\000\000\0011\0011\000\000\000\000\000\000\000\000\0011\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\0011\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001=\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\0011\000\000\000\000\001=\000\000\001=\000\000\000\000\000\000\000\000\000\000\0011\001=\001=\000\000\004.\003\214\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\0011\000\000\000\000\001)\003\166\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0011\000\000\0011\000\000\000\000\000\000\003\142\003\182\000\000\0011\0011\001)\0011\003\214\0011\001)\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001)\001)\000\000\001)\001)\000\000\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\003\158\001\021\003\174\001)\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\000\000\003\198\001\021\001)\000\000\000\000\001\021\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001)\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\003\158\000\000\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\021\000\000\000\000\001)\000\000\001)\000\000\000\000\000\000\000\000\000\000\001\021\001)\001)\000\000\001)\001)\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\001!\003\166\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\003\142\003\182\000\000\001\021\001\021\001!\001\021\001\021\001\021\001!\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\003\158\001%\003\174\001!\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\001!\001%\001!\000\000\000\000\001%\000\000\000\000\000\000\000\000\000\000\003\150\000\000\001!\001%\001%\000\000\001%\001%\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\000\000\003\158\000\000\003\174\001%\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\001!\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\001%\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\001%\001!\001!\000\000\001!\001!\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\004\030\003\166\000\000\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\003\142\003\182\000\000\001%\001%\0019\001%\001%\001%\0019\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\0019\0019\000\000\0019\004&\000\000\000\000\000\000\000\000\0019\000\000\000\000\000\000\003\190\000\000\000\000\003\158\001-\003\174\0019\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\000\000\000\003\198\001-\0019\000\000\000\000\001-\000\000\000\000\000\000\000\000\000\000\003\150\000\000\0019\001-\001-\000\000\001-\001-\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\003\190\000\000\000\000\003\158\000\000\003\174\001-\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\0019\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\001-\000\000\000\000\0019\000\000\0019\000\000\000\000\000\000\000\000\000\000\001-\0019\0019\000\000\0019\003\214\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\000\002\154\000\000\000\000\002\158\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001-\nQ\000\000\000\000\003\166\000\000\000\000\002\166\000\000\000\000\002\170\000\000\000\000\000\000\000\000\000\000\002\182\002\186\000\000\002\194\000\000\001-\000\000\001-\000\000\000\000\002\202\000\000\002\206\000\000\001-\001-\000\000\001-\001-\001-\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\002\150\002\234\002\238\002\154\000\000\000\000\002\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021R\000\000\000\000\002\242\000\000\000\000\002\166\000\000\002\246\002\170\000\000\000\n\000\000\000\000\000\000\002\182\002\186\000\000\002\194\000\000\002\254\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\003\002\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\003\006\000\000\000\000\002\226\002\230\000\000\003\018\002\234\002\238\000\000\000\000\000\000\023\254\000\000\000\000\003\"\000\000\000\000\000\000\000\000\000\000\003\026\000\000\000\000\024\002\002\242\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\n\000\000\024\006\000\000\024\n\012\145\012\145\000\000\000\000\002\254\000\000\000\000\024\014\000\000\000\000\000\000\000\000\000\000\024\018\000\000\003\002\024\026\000\000\000\000\000\000\024\030\000\000\007\242\000\000\000\000\007\250\024\"\000\000\003\006\000\000\000\000\000\000\000\000\000\000\003\018\000\000\000\000\000\000\000\000\023\254\012\145\000\000\024&\003\"\000\000\000\000\b\n\b\018\000\000\003\026\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\026\024\006\000\000\024\n\0025\000\000\b\"\b*\012e\000\000\012\145\024\014\024*\000\000\000\000\024.\b2\024\018\000\000\b:\024\026\bB\000\000\000\000\024\030\000\000\000\000\000\000\0242\000\000\024\"\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\000\024F\026\238\000\000\000\000\012e\000\000\024&\024J\bJ\006\181\024N\000\000\000\000\000\000\006\181\000\000\001\026\000\000\000\000\006\181\000\000\006\181\000\000\000\000\000\000\024R\006\181\006\181\000\000\000\000\024V\024Z\012\145\000\000\000\000\012e\000\000\024*\000\000\000\000\024.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bR\000\000\000\000\0025\000\000\0242\000\000\bZ\000\000\006\181\0246\000\n\024:\006\181\024>\024B\000\000\024F\000\000\000\000\000\000\0025\000\000\000\000\024J\0025\0025\024N\006\181\006\181\000\000\000\000\000\000\006\014\000\000\000\000\bb\bj\000Z\000\000\000\000\006\181\024R\000\000\000\000\000\000\000\000\024V\024Z\012e\006\181\000\000\000\000\000\000\000\000\006\181\006\181\002\150\000\000\000\000\002\154\000\000\000\000\002\162\000\000\006\181\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\006\181\000\000\002\170\000\000\000\000\000\000\000\000\000\000\002\182\t^\006\181\002\194\000\000\000\000\000\000\006\181\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\000\000\002\234\002\238\000\000\000\000\006\181\000\000\000\000\006\181\006\181\002\150\000\000\006\181\002\154\000\000\000\000\002\162\006\181\006\181\002\242\000\000\000\000\006\181\000\000\003\n\000\000\000\000\000\n\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\002\254\000\000\000\000\000\000\000\000\002\182\tN\000\000\002\194\000\000\000\000\003\002\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\003\014\000\000\002\210\002\214\000\000\000\000\003\018\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\003\022\002\150\002\234\002\238\002\154\000\000\003\026\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\002\166\000\000\003\n\002\170\000\000\000\n\000\000\000\000\000\000\002\182\t6\000\000\002\194\000\000\002\254\000\000\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\003\002\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\003\014\000\000\000\000\002\226\002\230\000\000\003\018\002\234\002\238\000\000\000\000\000\000\000\000\000\000\000\000\003\022\002\150\000\000\000\000\002\154\000\000\003\026\002\162\000\000\000\000\002\242\000\000\000\000\000\000\000\000\003\n\000\000\000\000\000\n\000\000\000\000\000\000\000\000\002\166\000\000\000\000\002\170\002\254\000\000\000\000\000\000\000\000\002\182\002\250\000\000\002\194\000\000\000\000\003\002\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\003\014\000\000\002\210\002\214\000\000\000\000\003\018\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\003\022\000\000\002\234\002\238\006\181\000\000\003\026\000\000\000\000\006\181\000\000\004\254\006\181\000\000\006\181\000\000\006\181\006\181\000\000\005R\002\242\006\181\006\181\000\000\006\181\003\n\006\181\000\000\000\n\006\181\006\181\006\181\000\000\005\154\000\000\000\000\006\181\002\254\006\181\000\000\000\000\000\000\006\181\006\181\006\181\000\000\000\000\006\181\003\002\000\000\000\000\000\000\006\181\000\000\006\181\000\000\006\181\000\000\000\000\006\181\006\181\003\014\000\000\000\000\006\181\000\000\000\000\003\018\000\000\000\000\000\000\006\181\006\181\000\000\006\181\000\000\003\022\000\000\006\181\006\181\006\181\000Z\003\026\000\000\006\181\000\000\000\000\000\000\000\000\000Z\006\181\000\000\006\181\006\181\006\181\000\000\000\000\000\000\006\181\006\181\000\000\006\181\000\000\000Z\000\000\000\000\006\181\006\181\006\181\006\181\006\181\000\000\006\181\000\000\007\002\006\181\006\181\000\000\000\000\000Z\006\181\006\181\006\181\006\181\000\000\000\000\000\000\000\000\000\000\000\000\006\181\006\181\000\000\006\181\006\181\000\000\006\181\006\181\006\181\000\000\000\000\006\181\000\000\000\000\000\000\006\181\006\181\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\181\000\000\000\000\006\181\006\181\006\181\000\000\006\181\006\181\000\000\000\000\006\181\006\181\006\181\000\000\006\181\000\000\006\181\000\000\000\000\006\181\006\181\006\181\000\000\000\000\006\181\006\181\t\002\000\000\006\181\000\000\000\000\000\000\000\000\006\181\006\181\000\000\004\193\006\181\006\181\004\193\006\181\006\181\004\193\006\181\006\181\000\000\000\000\000\000\006\181\006\181\006\181\000\000\000\000\000\000\006\181\006\181\006\181\000\000\004\193\000\000\000\000\004\193\000\000\000\000\000\000\000\000\000\000\004\193\004\193\000\000\004\193\000\000\000\000\000\000\000\000\000\000\000\000\004\193\000\000\004\193\000\000\000\000\000\000\000\000\000\000\000\000\006\181\000\000\004\193\004\193\006\181\000\000\000\000\004\193\004\193\004\193\000\000\000\000\000\000\004\193\004\193\000\000\000\000\004\193\004\193\006\181\006\181\000\000\000\000\000\000\t\134\000\000\000\000\000\000\000\000\000Z\000\000\000\000\006\181\000\000\000\000\004\193\000\000\000\000\000\000\000\000\004\193\006\181\000\000\004\193\000\000\000\000\006\181\006\181\000\000\000\000\000\000\000\000\004\193\000\000\000\000\000\000\006\181\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\004\193\000\000\000\000\000\000\000\000\006\181\004\193\000\000\000\000\000\000\006\181\000\000\000\000\000\000\000\000\004\193\000\000\000\000\000\000\000\000\002\150\004\193\000\000\002\154\000\000\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\006\181\000\000\002\170\006\181\006\181\000\000\000\000\006\181\002\182\rr\000\000\002\194\006\181\006\181\000\000\000\000\000\000\006\181\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\210\002\214\000\000\000\000\000\000\002\218\001\150\002\222\000\000\000\000\000\000\002\226\002\230\000\000\002\150\002\234\002\238\002\154\000\000\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\242\000\000\000\000\002\166\000\000\003\n\002\170\000\000\000\n\000\000\000\000\000\000\002\182\0166\000\000\002\194\000\000\002\254\000\000\026\218\000\000\026\226\002\202\000\000\002\206\000\000\000\000\000\000\003\002\000\000\026\234\000\000\000\000\002\210\002\214\027\n\000\000\000\000\002\218\001\150\002\222\003\014\024\002\000\000\002\226\002\230\000\000\003\018\002\234\002\238\000\000\000\000\000\000\024\006\000\000\024\n\003\022\000\000\000\000\000\000\000\000\000\000\003\026\024\014\000\000\000\000\002\242\000\000\000\000\024\018\000\000\003\n\024\026\000\000\000\n\000\000\024\030\000\000\000\000\000\000\000\000\000\000\024\"\002\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\002\000\000\000\000\000\000\024&\027\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\014\000\000\000\000\000\000\000\000\000\000\003\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\022\000\000\000\000\000\000\000\000\000\000\003\026\024*\000\000\000\000\024.\000\000\000\000\000\000\000\000\002\150\000\000\000\000\002\174\000\000\000\000\002\178\000\000\0242\000\000\000\000\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\000\024F\000\000\002\166\000\000\000\000\002\170\000\000\024J\000\000\000\000\024N\002\198\007:\000\000\002\194\000\000\000\000\023\254\000\000\000\000\000\000\002\202\000\000\002\206\000\000\024R\000\000\000\000\000\000\024\002\024V\024Z\007N\002\214\000\000\000\000\000\000\007R\001\150\002\222\024\006\000\000\024\n\007V\007Z\000\000\000\000\007^\002\238\000\000\024\014\000\000\000\000\000\000\000\000\000\000\024\018\000\000\000\000\024\026\000\000\000\000\000\000\024\030\000\000\007b\000\000\000\000\000\000\024\"\007f\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\025z\000\000\007n\000\000\023\254\024&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\000\007r\024\006\000\000\024\n\000\000\000\000\007z\000\000\012e\000\000\024*\024\014\000\000\024.\000\000\007~\000\000\024\018\000\000\000\000\024\026\003\026\000\161\000\161\024\030\000\000\0242\000\000\000\000\000\000\024\"\0246\000\n\024:\000\000\024>\024B\003\150\024F\000\000\000\000\026J\000\000\000\161\000\161\024J\024&\000\000\024N\000\000\000\000\000\000\000\000\000\161\000\000\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\024Z\012e\023\254\000\000\000\000\000\000\012e\000\000\024*\000\000\000\000\024.\000\000\000\000\024\002\000\000\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0242\024\006\000\000\024\n\000\000\0246\000\n\024:\000\000\024>\024B\024\014\024F\000\000\000\000\000\000\000\000\024\018\000\000\024J\024\026\000\000\024N\000\000\024\030\000\000\000\000\000\000\000\000\000\000\024\"\000\000\000\161\000\000\000\000\000\000\000\000\024R\000\000\003\166\000\000\026\178\024V\024Z\012e\000\000\024&\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\161\000\161\000\000\000\000\000\000\000\000\000\000\012e\000\000\024*\000\000\000\000\024.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\000\0242\000\000\000\000\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\153\024F\000\000\000\000\000\000\000\000\000\153\000\153\024J\000\000\000\000\024N\000\000\000\000\000\000\000\000\000\153\000\000\000\000\003\158\000\000\000\153\000\000\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\024Z\012e\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\153\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\002\"\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\153\000\000\000\000\000\000\000\000\000\000\000\000\003\166\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\153\000\000\002*\000\000\029\138\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\002>\000\000\000\153\000\153\029\142\006J\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\029\138\000\000\000\000\000\000\000\000\000\000\000\000\006N\000\000\002>\000\000\000\000\000\000\029\142\006J\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\006N\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\146\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\005\001\000\000\029\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002:\000\000\000\000\000\000\000\000\000\000\029\138\000\000\000\000\000\000\t\133\000\000\000\000\000\000\000\000\002>\000\000\000\000\000\000\029\142\006J\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\006N\001.\000\000\0016\002\014\002\022\002\026\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\002\"\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\000\000\000\000\000\000\000\000\002*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\146\002\"\000\000\000\000\000\000\000\000\000\000\002\150\000\000\000\000\rj\000\000\002:\rn\000\000\000\000\002*\000\000\006Z\000\000\000\000\000\000\002\145\000\000\000\000\000\000\000\000\002>\000\000\002\166\000\000\006F\006J\000\000\000\000\000\000\002:\000\000\r\130\r\142\000\000\000\000\029\154\000\000\000\000\000\000\000\000\000\000\002\202\006N\002\206\002>\000\000\000\000\000\000\029\142\006J\000\000\000\000\r\162\002\214\000\000\000\000\000\000\r\166\001\150\002\222\000\000\000\000\000\000\r\170\r\174\000\000\006N\r\178\000\000\000\000\000\000\000\000\002\150\000\000\000\000\016.\000\000\000\000\0162\000\000\000\000\000\000\000\000\000\000\r\182\r\186\000\000\000\000\000\000\000\000\r\190\000\000\000\000\000\n\002\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\198\016\158\016\138\000\000\000\000\000\000\000\000\t\177\000\000\000\000\000\000\002\202\000\000\002\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\162\002\214\r\202\000\000\000\000\016\166\001\150\002\222\r\210\t\149\000\000\016\170\016\174\000\000\t\t\016\178\000\000\r\214\000\000\000\000\000\000\000\000\000\000\003\026\000\000\000\000\t\t\000\000\000\000\000\000\000\000\000\000\r\182\016\182\000\000\000\000\000\000\t\t\016\186\t\t\000\000\000\n\000\000\000\000\000\000\000\000\000\000\t\t\000\000\000\000\016\194\000\000\000\000\t\t\000\000\000\000\t\t\000\000\000\000\000\000\t\t\000\000\000\000\026F\000\000\000\000\t\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\198\024\002\000\000\000\000\000\000\000\000\016\206\000\000\t\t\027\018\000\000\000\000\024\006\000\000\024\n\016\210\000\000\000\000\000\000\000\000\000\000\003\026\024\014\000\000\000\000\000\000\000\000\000\000\024\018\000\000\000\000\024\026\000\000\026\174\000\000\024\030\000\000\000\000\000\000\t\t\000\000\024\"\t\t\000\000\000\000\024\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\t\024\006\024&\024\n\000\000\t\t\t\t\t\t\000\000\t\t\t\t\024\014\t\t\000\000\000\000\000\000\000\000\024\018\000\000\t\t\024\026\000\000\t\t\000\000\024\030\000\000\000\000\023\254\000\000\000\000\024\"\000\000\000\000\024*\000\000\000\000\024.\t\t\000\000\024\002\000\000\000\000\t\t\t\t\000\000\000\000\024&\000\000\000\000\0242\024\006\000\000\024\n\000\000\0246\000\n\024:\000\000\024>\024B\024\014\024F\000\000\000\000\000\000\000\000\024\018\000\000\024J\024\026\000\000\024N\000\000\024\030\000\000\000\000\000\000\024*\000\000\024\"\024.\000\000\000\000\000\000\000\000\000\000\024R\000\000\000\000\000\000\000\000\024V\024Z\0242\000\000\027\226\000\000\000\000\0246\000\n\024:\000\000\024>\024B\000\000\024F\000\000\000\000\000\000\000\000\000\000\000\000\024J\000\000\000\000\024N\000\000\000\000\000\000\000\000\023\254\000\000\000\000\000\000\000\000\000\000\024*\000\000\000\000\024.\024R\016)\024\002\000\000\000\000\024V\024Z\000\000\000\000\000\000\000\000\000\000\0242\024\006\000\000\024\n\000\000\0246\000\n\024:\000\000\024>\024B\024\014\024F\016)\016)\000\000\000\000\000\000\000\000\024J\024\026\r\238\024N\000\000\024\030\000\000\000\000\000\000\016)\000\000\024\"\000\000\000\000\000\000\016)\016)\000\000\024R\r\246\000\000\000\000\014\002\024V\024Z\016)\000\000\024&\016)\000\000\016)\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\002\014\002\022\002\026\000\000\000\000\016)\024*\000\000\000\000\024.\000\000\000\000\000\249\000\000\000\000\000\249\000\000\000\000\002\"\000\000\000\000\000\000\0242\000\000\000\000\014\014\000\000\0246\028\014\024:\000\000\024>\024B\002*\024F\000\000\003\142\003\182\000\000\000\000\000\000\024J\000\000\000\000\024N\016)\000\000\000\000\000\000\000\000\014\018\003\150\016)\002:\000\000\000\249\000\000\000\249\000\249\024R\000\000\014\026\000\000\000\000\024V\024Z\016)\003\190\002>\000\000\003\158\000\225\003\174\016)\000\225\000\000\000\000\000\000\000\000\000\000\000\000\016)\016)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\006\000\000\000\000\000\000\000\000\000\225\000\225\000\000\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\225\000\221\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\249\000\000\000\000\000\000\003\166\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\249\000\000\000\000\003\150\000\249\000\249\000\000\000\221\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\249\003\214\000\000\000\000\000\221\000\000\000\000\003\158\000\213\003\174\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\003\166\000\000\000\213\000\213\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\213\000\225\000\225\000\000\000\213\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\225\000\225\004\030\000\000\000\213\001\001\000\000\003\158\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\221\000\000\000\000\003\150\000\221\000\221\000\000\001\001\000\000\001\001\004&\000\000\000\000\000\000\000\000\000\221\000\221\000\000\000\000\003\190\000\000\000\000\003\158\004\030\003\174\000\000\000\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\003\150\000\213\000\213\000\000\000\245\000\000\000\245\000\245\000\000\000\000\000\000\000\000\000\213\000\213\000\237\000\000\003\190\000\237\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\001\001\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\001\001\000\000\000\000\003\150\001\001\001\001\000\000\000\237\000\000\000\237\000\237\000\000\000\000\000\000\000\000\004.\003\214\000\000\000\000\000\237\000\000\000\000\003\158\000\217\003\174\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\245\000\000\000\000\000\000\003\166\000\000\000\217\000\217\000\000\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\000\000\217\000\245\000\245\000\000\000\217\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\245\003\214\000\229\000\000\000\217\000\229\000\000\003\158\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\237\000\000\000\000\003\150\000\237\000\237\000\000\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\237\000\237\000\000\000\000\000\229\000\000\000\000\003\158\000\233\003\174\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\003\150\000\217\000\217\000\000\000\233\000\000\000\233\000\233\000\000\000\000\000\000\000\000\000\217\000\217\004\030\000\000\000\233\000\253\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\229\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\198\000\000\000\229\000\000\000\000\003\150\000\229\000\229\000\000\000\253\000\000\000\253\004&\000\000\000\000\000\000\000\000\000\229\000\229\000\000\000\000\003\190\000\000\000\000\003\158\000\241\003\174\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\233\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\003\150\000\233\000\233\000\000\000\241\000\000\000\241\000\241\000\000\000\000\000\000\000\000\000\233\000\233\004\030\000\000\003\190\000\000\004\030\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\253\000\000\000\000\000\000\003\166\000\000\003\142\003\182\000\000\000\000\003\142\003\182\000\000\000\000\000\000\000\000\003\198\000\000\000\253\000\000\000\000\003\150\000\253\000\253\000\000\003\150\000\000\000\197\004&\000\000\000\000\000\185\000\185\000\253\003\214\000\000\000\000\003\190\000\000\000\000\003\158\003\190\003\174\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\241\000\000\000\000\000\000\003\166\000\000\000\000\000\177\000\000\000\000\003\198\000\000\000\000\000\000\003\198\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\241\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\142\003\182\000\241\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\000\003\206\000\000\000\177\000\177\003\206\000\000\000\157\003\166\000\000\000\000\000\169\003\166\000\177\000\000\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\197\000\000\000\000\000\000\000\185\000\000\000\000\000\197\000\000\000\157\000\157\000\185\000\000\003\142\003\182\004.\003\214\000\000\000\000\000\185\003\214\000\000\000\000\003\198\000\157\000\000\000\000\000\000\003\150\000\000\000\157\000\157\000\000\000\000\000\169\000\169\000\000\000\000\000\000\000\000\000\157\000\000\000\000\003\158\000\169\000\157\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000\000\000\173\003\166\000\000\000\157\000\000\000\000\000\000\000\169\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\177\000\000\003\142\003\182\000\000\000\000\000\000\000\000\000\177\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\150\000\000\000\000\000\000\000\157\000\000\000\173\000\173\000\169\000\000\004\030\003\166\000\000\000\000\000\181\003\166\000\173\000\000\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\169\000\000\000\000\000\157\000\000\003\142\003\182\000\169\000\000\003\142\003\182\000\157\000\157\000\000\000\000\000\169\000\169\000\000\000\000\003\198\003\150\000\000\000\000\000\000\003\150\000\000\000\193\004&\000\000\000\000\000\181\000\181\000\000\000\000\000\000\000\000\003\190\000\000\000\000\003\158\003\190\003\174\000\000\003\158\000\000\003\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\003\166\000\000\003\198\000\000\000\000\000\000\003\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\206\000\000\000\000\000\000\003\206\000\000\000\000\003\166\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\181\000\000\000\000\000\193\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\193\003\214\000\000\000\000\000\181\000\181"))
   
   let lhs =
-    (16, "\000\012\000\011\000\n\000\t\000\008\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001\n\001\n\001\n\001\t\001\t\001\t\001\t\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\008\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\007\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\006\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\005\001\004\001\004\001\004\001\004\001\003\001\002\001\002\001\002\001\001\001\001\001\001\001\000\001\000\001\000\000\255\000\255\000\255\000\254\000\253\000\252\000\251\000\251\000\250\000\250\000\249\000\249\000\248\000\248\000\247\000\247\000\246\000\245\000\245\000\244\000\244\000\243\000\243\000\243\000\242\000\242\000\241\000\240\000\239\000\238\000\237\000\236\000\235\000\234\000\233\000\232\000\231\000\230\000\229\000\228\000\228\000\227\000\227\000\226\000\226\000\225\000\225\000\224\000\224\000\224\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\223\000\222\000\221\000\221\000\221\000\221\000\220\000\220\000\219\000\219\000\218\000\218\000\217\000\217\000\217\000\216\000\216\000\216\000\215\000\215\000\215\000\215\000\214\000\214\000\214\000\214\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\213\000\212\000\211\000\211\000\210\000\210\000\210\000\209\000\209\000\208\000\208\000\208\000\207\000\207\000\206\000\206\000\206\000\205\000\204\000\203\000\203\000\202\000\202\000\201\000\201\000\200\000\200\000\199\000\199\000\198\000\197\000\196\000\196\000\195\000\195\000\194\000\194\000\194\000\193\000\192\000\191\000\191\000\190\000\189\000\189\000\189\000\189\000\189\000\188\000\188\000\188\000\188\000\187\000\187\000\187\000\187\000\186\000\186\000\186\000\186\000\185\000\184\000\184\000\183\000\183\000\183\000\182\000\181\000\181\000\181\000\181\000\180\000\179\000\179\000\178\000\178\000\177\000\177\000\176\000\176\000\176\000\176\000\175\000\175\000\174\000\174\000\174\000\174\000\173\000\173\000\173\000\173\000\172\000\172\000\172\000\172\000\172\000\171\000\170\000\170\000\170\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\162\000\162\000\162\000\162\000\162\000\161\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\143\000\143\000\142\000\142\000\141\000\141\000\140\000\140\000\139\000\139\000\138\000\138\000\137\000\137\000\136\000\136\000\135\000\135\000\134\000\134\000\133\000\133\000\132\000\132\000\131\000\131\000\130\000\130\000\129\000\129\000\128\000\127\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000~\000}\000|\000{\000z\000y\000x\000w\000v\000u\000t\000t\000t\000s\000s\000s\000r\000r\000r\000r\000q\000p\000o\000n\000m\000l\000k\000k\000j\000j\000j\000i\000i\000h\000h\000h\000g\000g\000f\000e\000e\000e\000d\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000\\\000[\000[\000Z\000Z\000Y\000Y\000X\000X\000W\000W\000V\000V\000V\000V\000V\000U\000U\000T\000T\000T\000T\000S\000R\000Q\000Q\000Q\000P\000P\000P\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000J\000J\000J\000J\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000I\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000F\000E\000E\000E\000E\000E\000D\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000C\000B\000A\000@\000@\000?\000>\000=\000=\000<\000<\000;\000;\000:\0009\0009\0009\0009\0009\0009\0009\0008\0008\0008\0008\0008\0008\0007\0006\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000(\000(\000'\000'\000&\000&\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000%\000$\000$\000$\000#\000#\000#\000#\000\"\000\"\000\"\000\"\000\"\000!\000 \000 \000 \000\031\000\031\000\030\000\029\000\028\000\028\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\025\000\025\000\025\000\024\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\013\000\013\000\013\000\013\000\013")
+    (16, "\000\012\000\011\000\n\000\t\000\b\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001(\001(\001(\001'\001'\001'\001'\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001&\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001%\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001$\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001#\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001!\001!\001!\001!\001 \001\031\001\031\001\031\001\030\001\030\001\030\001\029\001\029\001\029\001\028\001\028\001\028\001\027\001\026\001\025\001\024\001\024\001\023\001\023\001\022\001\022\001\021\001\021\001\020\001\020\001\019\001\018\001\017\001\016\001\015\001\014\001\r\001\012\001\011\001\n\001\t\001\b\001\007\001\006\001\005\001\004\001\004\001\003\001\003\001\002\001\002\001\001\001\001\001\000\001\000\001\000\001\000\000\255\000\255\000\255\000\255\000\254\000\254\000\254\000\254\000\253\000\253\000\253\000\253\000\252\000\252\000\252\000\252\000\251\000\251\000\251\000\251\000\250\000\250\000\250\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\249\000\248\000\247\000\247\000\247\000\247\000\247\000\246\000\246\000\245\000\244\000\243\000\243\000\243\000\243\000\242\000\242\000\242\000\242\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\241\000\240\000\239\000\239\000\238\000\238\000\238\000\237\000\237\000\236\000\236\000\236\000\235\000\234\000\233\000\233\000\232\000\232\000\231\000\230\000\230\000\229\000\229\000\228\000\228\000\227\000\227\000\226\000\225\000\224\000\224\000\223\000\223\000\222\000\222\000\221\000\221\000\220\000\220\000\219\000\218\000\218\000\217\000\217\000\217\000\217\000\217\000\217\000\216\000\216\000\216\000\215\000\214\000\213\000\213\000\213\000\213\000\212\000\212\000\211\000\210\000\210\000\210\000\209\000\209\000\209\000\209\000\209\000\208\000\208\000\208\000\208\000\207\000\207\000\207\000\207\000\206\000\206\000\206\000\206\000\205\000\204\000\204\000\203\000\203\000\203\000\202\000\201\000\201\000\201\000\200\000\199\000\199\000\198\000\198\000\197\000\197\000\196\000\196\000\196\000\196\000\195\000\195\000\194\000\194\000\194\000\194\000\194\000\194\000\193\000\193\000\193\000\192\000\192\000\192\000\192\000\192\000\192\000\191\000\190\000\189\000\189\000\188\000\188\000\187\000\187\000\186\000\186\000\185\000\185\000\184\000\184\000\183\000\183\000\183\000\183\000\183\000\183\000\183\000\183\000\182\000\181\000\180\000\180\000\179\000\179\000\178\000\178\000\177\000\177\000\176\000\176\000\175\000\175\000\174\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\150\000\149\000\149\000\148\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\147\000\146\000\146\000\146\000\145\000\144\000\143\000\142\000\141\000\140\000\139\000\138\000\137\000\136\000\135\000\134\000\134\000\134\000\133\000\133\000\133\000\132\000\132\000\132\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000{\000{\000z\000z\000z\000y\000y\000x\000x\000x\000w\000w\000w\000v\000u\000u\000u\000t\000s\000s\000r\000r\000r\000r\000r\000r\000r\000q\000q\000q\000q\000q\000q\000q\000p\000p\000p\000p\000p\000p\000p\000o\000o\000o\000o\000o\000o\000o\000n\000n\000n\000n\000n\000n\000n\000m\000m\000m\000m\000m\000m\000m\000l\000l\000k\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000d\000d\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000^\000^\000^\000]\000]\000\\\000\\\000\\\000\\\000[\000Z\000Y\000Y\000Y\000X\000X\000X\000W\000W\000W\000W\000W\000W\000V\000V\000V\000V\000V\000U\000U\000U\000U\000U\000U\000U\000T\000T\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000I\000H\000G\000F\000F\000E\000E\000D\000C\000C\000C\000B\000B\000A\000A\000@\000?\000?\000?\000?\000?\000?\000?\000>\000>\000>\000>\000>\000>\000>\000=\000=\000=\000=\000=\000<\000<\000;\000;\000;\000;\000:\000:\0009\0009\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000(\000(\000(\000'\000'\000'\000'\000&\000&\000%\000$\000$\000$\000#\000#\000#\000#\000#\000#\000#\000\"\000\"\000!\000!\000 \000\031\000\030\000\030\000\030\000\030\000\029\000\029\000\029\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\026\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\r\000\r\000\r\000\r\000\r")
   
   let goto =
-    ((16, "\001'\000\228\000\000\000\000\000\000\000l\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\191\000\000\001#\000J\000\000\000\251\000\205\000\000\000\000\000\000\0003\000\000\000%\000\022\000\000\000\000\000D\000\000\000\150\000\000\000\000\000\000\001t\000\000\001\188\000\000\000\000\000\000\000\000\002\024\000\000\002D\002\148\000\000\000\000\002\182\000\000\003&\000\000\000\000\000\000\003X\000\000\004\018\000\000\004l\000\000\004\212\005\000\000\000\000\000\005v\000\000\005|\000\000\000?\000\000\000\000\005\168\000\000\005\200\000\000\000\000\006\020\000\000\006\160\000\000\000\000\000\000\007\008\000\000\000v\0078\002\024\000\000\000\000\000\000\000\208\001Z\003X\000\000\000\000\007>\000\000\000\246\000\000\002x\0013*\012\000\000\000\000\000\028\000\000\000\023\000\000\000\013+.\"\218'|\"\218\003\022(\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136'|\000\000\000\000\002V\000\000\007\136\000\000\0006\000\000\000\000\000\000\000\000\003h\000\000\000\166\000\000\000\000\016\178\000\000\016\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\000\000\003\136\000\000\004\200\000\000\006\008\000\000\007H\000\000\t@\000\000\n\128\000\000\011\192\000\000\022\144\000\000\022\236\000\000+r\000\000\0002\000\000\000\000\000\000\000\000\000\000\023\194\000\000\025\006\000\000\029\n\000\000\024V\000\000\000\000\026\028\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\007t\000\000\000\000\007\186\000\000\007\220\007\230\000\000\000\000\008(\000\000\008z\000\000\000\000\000\000\008~\000\000\008\154\000\000\000\000\008\182\000\000\008\196\t\020\000\000\000\000\t&\000\000\t0\000\000\000\000\000\000\tB\000\000\th\000\000\t\224\000\000\n\000\n\014\000\000\000\000\n@\000\000\nH\000\000\004,\nz\000\000\n|\000\000\n\132\000\000\n\136\000\000\000\000\000\000\n\154\000\000\n\160\020&\000\000\n\176\000\000\000X\007<\000\000\003\004\000\000\003v\000\000\000\000\003|\000\000\000\000\000\237\008\190\000\000\000\000\000\000\000\000\004H\000\000\004\248\000\000\004\188\000\000\0132\000\000\000\000\000\000\000\000\000\000\000\000\012\138\000\000\000\000\000\000\000\000\001\172\000\000\000\000\000\000\000\000\000\000\000\000\000;\005n\0216\000\000\n\184\000\000\n\186\025&\000\000\n\206\000\000\000\000\003\188\000\000\000\000\000\000\000\000\000\000$ \000\0002\018\000\000\000\000\000\000\0062\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\196\000\000\000\000\000\000\000\000\000\000\000\000\011\004(\018\000\000\015\002\000\000\023\004\013\150\000\000\000\000\000\000\006\146\000\000\014\252\000\000\000\00026\000\000\000\000\000\000\006\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\244\000\000\030\180\000\000\000\000\000\000\000\000\001\188\000\000\000\0002l\000\000\000\000\000\000\004V\002|\000\000\000\000\000\000\000\000\000\000\000\000\008\200\000\000\tP\000\000\n\144\000\000\019b\000\000\024~\000\000\027.\000\000\031\198\000\000!\186\000\000!\204\000\000#\240\000\000+\204\000\000\003n\000\000%\012\000\000%*\000\000%r\000\000\000\000\000\000\000\000\000\000\005\1282\134\000\000\006X\000\000\000\000\005x\003\242\000\000\006\184\000\000\000\000\000\000\001\222\000\000\000\000\000\000(~\000\000\000\000\000\000\000\000\000\000)\n\000\000\000\000\000\000\000\000\000\000\000\000\001\015\000\000\000\000\000\000\n\216\028\164\000\000\n\226\000\000\000\000\000\000\000\000\000\000\n\244\000\000\000\000\001\184\0046\000\000\005\006\000\000\000\000\000\000\001\238\000\000\011\132\004\254\n\248\000\000\000\000\011\004\000\000\011\016\011\024\000\000\000\000\011 \000\000\011(\000\000\000\000\000\000\011,\000\000\0116\000\000\000\000\011@\000\000\011J\011N\000\000\000\000\011Z\000\000\011b\000\000\000\000\000\000\011f\000\000\011x\000\000\011z\000\000\011\128\011\130\000\000\000\000\011\136\000\000\011\138\000\000\007,\011\146\000\000\011\150\000\000\011\158\000\000\011\166\000\000\000\000\000\000\011\180\000\000\001h\000\000\000\000\011\188\030\002\000\000\011\192\000\000\000\000\004N\000\000\000\000\004\252\000\000\000\000\000\000\000\000\000\000\007r\"^\000\000\011\200\000\000\011\222-\014\000\000\011\226\000\000\000\000\012\234\011\240\000\000\000\000\011\250\000\000\011\252\011\254\000\000\000\000\012\004\000\000\012\014\000\000\000\000\000\000\012\024\000\000\012&\000\000\000\000\012,\000\000\0120\0122\000\000\000\000\012>\000\000\012D\000\000\000\000\000\000\012N\000\000\012Z\000\000\012d\000\000\012h\012l\000\000\000\000\012r\000\000\012v\000\000\007v\012\132\000\000\012\138\000\000\012\140\000\000\012\142\000\000\000\000\000\000\012\144\000\000\012\146-\240\000\000\012\158\000\000\000\000\007\224.\128\000\000\012\166\000\000\012\1700\204\000\000\012\180\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\252\000\000$\196\000\0003\002\000\000\000\000\0114\000\000\000\000\004\208\0050\000\000\000\000\027\204\012\128\000\000\018\186+\242\000\000\000\000).\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021@).\000\000\021\232\000\000\023\152\000\011)0\000\000\td\000\000\000\000\000\000\007\240\000\000\026\004\000\000\000\0003&\000\000\000\000\000\000\008T\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003L\000\0003\166\000\000\000\000\000\000*\132\000\000\000\000\000\000,\022\000\000\000\000\000\000\000\000\008|\000\000\000\000\000\000\000\000\011@\000\000\000\000\020\178\000\000\001\130\000\000\000\000\000\000\002\168\000\000\012\140\000\000\021\004\000\000\028\026\000\000\029\008\000\000#\154\000\000$\230\000\000%\208\000\000&f\000\000'\000\000\000(r\000\000*\226\000\000,H\000\000\000\000\000\000\000\000\000\000,:\000\000\017\172\000\000\019L\n\000\000\000\021\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000'\000\000\000\000\000\000\000\000\007.\000\000\005\132\000\000\000\000\013~\000\000\000\000\000\000,\026\000\000\000\000\000\000\000\000\000\000\014\138\000\000\000\000\000\000\000\000,\254\000\000\000\000\000\000\000\000\001\160\006p\000\000-\"\000\000\000\000\000\000\000\000\008\184\000\000-R\000\000\000\000\000\000\000\000\000\229\000\000\006\132\000\000\017f\000r)\182\000\000\000\000\000\000\002|\000\000\000\000\000\000\000\000\000\000\000\000\027$)\182\000\000\030\144\000\000\0312\026@\000\000\000\000\000\000\008\140\000\000 \006\000\000\000\0003\220\000\000\000\000\000\000\008\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031t\000\000#b\000\000\000\000\000\000\007\012\000\000\000\000\000\000\000\000\000\000\000\000\013\000\000\000\0158\000\000\018\022\000\000\018\156\000\000\020\246\000\000\023X\000\000\027\176\000\000 \166\000\000\"\188\000\000)\146\000\000-\210\000\000\013\236\000\0003f\000\0005V\000\0005\142\000\000)\206\000\000\000\000\000\0004,\000\000\000\000\000\000\002\170\000\0004|\000\000\000\000\000\0004\178\000\000\000\000\000\174\000\000\024 \000!\0058\000\000\005X\000\000\012\000\002\000\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\254\000\000$\232#6\008\218\000\000\000\000\000\000-\212\000\000.\022\000\000.Z\000\000%<&\n\000}\003\178\t\018\000\000\000\000\000\000\003\200\000\000\000\000\005\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005\012\000\000\000\000\000\000\000\000!>\000\000&\202\000\000\000\000\000\000\000\000\000\000\000\000\012\196\000\000\006\026\000\000\000\000\000\000\024\142\002\012\000\000\025r\000\000\000\000\008\184\000\000\0028\000\000\000\000\013T\000\000\026\030\000\000\000\000!\162\000\000\000\000\000\000\007V\000\000\000\000\006H\000\000\000\000\018\014\000\000\000\000\000\000.\174\000\000\000\000\000\000\024\198\000\000\000\000\000\000\000\000.\220\000\000\000\000\000\000\000\000\003b\011V\000\000/0\000\000\000\000\000\000\000\000\000\000\000\000\014\016\000\000\000\000\006\030\000\000\014\160\000\000\007V\000\000\000\000\007H\028\188\000\000\007\188\000\000\000\000\000\000\000\000\007\012\000\000&\228\000\000\026\192\003\214\027^\000\000\004\022\000\000\015\\\000\000\015\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008N\028\000\001\018\028\172\000\000\000\000\000\000\002B\000\000\016\172\000\000\008\238\000\000\000\000\007V\t\140\029h\000\000\t\202\000\000\017\150\030\n\000\000\000\000\018>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t:\007\196\000\000\t`\000\000\000\000\000\000\000\000\007~\000\000\018\214\000\000\000\000\000\000\"\0305B\000\000\000\000\000\000 \182\000\000\000\000\000\000\000\000\005\152\006h\000\000\000\000/j\000\000\000\000\002\014\000\000\006\196\000\000\000\000\030\170\000\000\000\000\000\000/\192\000\000\000\000\000\000\000\0000T\000\000\000\000\004&\006\208\000\000\000\0000l\000\000\000\000\t\130\"F\000\000\007\140\000\000\000\0000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\204\000\000\000\000\000\000\002\206\000\000\000\000\007\210\000\000\000\000\"\184\000\000\000\000\000\0000\182\000\000\000\000\000\000\000\00018\000\000\000\000\008X\008\146\000\000\000\0001V\000\000\000\000\t\178\000\000\000\000\000\000\000\000\007\012\005x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\n\000\000\019N\000\000\000\000\000\0005\140\000\000\008@\000\000\000\000\000\000\004\146\000\000\017|\000\000\000\000\004\202\0204\000\000\020\220\000\000\000\000\000\000\008V\000\000\005\150\t\014\006\214\000\000\008\022\000\000\000\000\000\000\t\198\000\000'\030\t\244'8\000\000'\248\000\000\000\000\000\000\n\020\000\000\016\008\n<\000\000\000\000\0284\nV\031h\000\000 \140\000\000\000\000\000\000\nf\000\000\017\194\n\138\000\000\000\000\000\000\000\217\000\000\000\000\000\000\005\026\000\000\000\000\000\000\000\000\000\000\000\000\013j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000f\000\000\000\000\007\\\000\000\000\000\013l\000\000\000\000\000\000\000\000\008\240\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013p\000\000\000\000\013H\000\000\000$\000\000\000\000\006\142\000\000\000/\012\254\000\172\000\000\000\000\005\218\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\242\015$\000\000\000\000\002v\000\000\000\000\000\000\015Z\000\000\000\000\016|\017\024\000\000\000\000\000\000\000\000\019.\019\202\001:\000\000\019\230\000\000\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000\000\0066\000\000\000\000\012\200\000\000\000\000\006.\000\000\000\000\000#\000\000\004\\\000\000\000\000\000\000\000\000\013\138\003\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\162\020\150\000\000\000\000\000\000\000\000\021$\000\000\000\000\012x\000\000\000\000\016\144\000\000\000\000\011\176\0212\005\022\000\000\021\152\000\000\000\000\000\000\000\000\013N\000\000\000\000\000\000\np\000\000\008J\006\004\000C\000\000\000\000\000\000\000\000\001\140\000\000\000\000\000\000\000\000\000\000\000\000\t\192\000\000\000\000\001\202\000\000\005d\013\146\005F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\242\000\000\000\000\019\238\022@\000\000\000\000\000\000\000\000\002 \000\000\013j\011\180\000\000\019\218\000\000\000\000\000\000\000\000\000\000\013\218\0226\000\000\000\000\023p\000\000\000\000\000\000\000\000\011\216\000\000\026:\000\000\000\000\000\000\000\000\000h\000\000\000\000\000\000\003\n\000\000\000\000\002\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\230\000\000\000\000\000\000\000\011\000\000\000\000\000\000\000\000\000\000\000\018\006\016\011\156\013R\000\000\007.\008\194\t&\tb\000\000\000\000\000\000\000\000\000\000\000\000\0078\021\132\000\000\030\182\n\204\000\000\000\000\n\216\000\000\022D\000\000*\142\000\000\000\000\007\162\022\208\000\000\031X\000\000\t\030\031\246\000\000\000\000\000\000\003>\007.\000\000\000\000\000\000\000\000\000y\000\000\002\158\000\000\003\n\001\136\000\000\000\000\000\000\004H\000\000\004\248\000\000\005\n\000\000\000\000\002Z\000\000\000\000\000\000\000\000\t\004\000\000\000\000\n\254\000\000\023\144\000\000\007V\013X\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\0001|\000\000\007\250\000\000\000\000\000\000\000\000\000\000\001p\000\000\t\128\0064\nD\000\000\002\196\n\192\000\000\007^\000\000\003@\000\000\004\004\000\000\004\128\000\000\007V\000\000\000\000\000\000\000\000\000\000\005D\000\000\008\012\000\000\005\192\000\000\007V\013\178\000\000\002\188\000\000\013\174\012\158\000\000\008 \000\000\t\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\248\000\000\nX\000\000\000\000\000\000\000\000\000\000\000\000\013\184\000\000\000\000\012\210\000\000\000\000\012\190\008\192\013\254\000\000\014\002\000\000\000\000\t\208\008\136\000\000\012\242\000\000\000\000\013*\000\000\000\000\000\000\000\000\000\000\000\000\013\252\000\000\000\000\000\000\013\012\012\238\n\142\nh\013\012\013D\000\000\000\000\012\248\n\188\n\130\013\026\013R\000\000\000\000\005<\000\000\000\000\000\000\000\000\014 \000\000\000\000"), (16, "\003l\003\131\0017\000\013\001\212\001g\000J\001~\000\140\000\138\001g\002\193\001\203\000\139\002\197\000_\005\229\005:\005m\002\164\004Y\004A\001\214\006\144\006\145\003l\003\131\005\178\000\016\000\017\000\138\003)\006d\000\025\001\209\005\230\001.\000J\006e\001B\000_\000\138\005\004\000\138\006f\000\139\004\018\000\139\005\176\000J\005\179\005h\004\019\005n\003n\000\018\000\024\000\140\003o\005u\001i\000\140\000\140\000\140\001j\001i\000\141\002\198\000_\001j\000\142\002\199\005\131\003l\003\131\000_\006\149\004\019\001\013\003n\005v\000\017\000\140\003o\000\138\005y\005h\000\141\001V\001\131\000_\000\142\001w\000\140\005\\\000\140\000\151\001w\000\141\000\138\000\141\000\007\000\142\000\147\000\142\004\136\001\213\003\136\005\132\001\181\006:\005i\000g\006;\000_\005Z\003\234\000\151\005]\005h\006'\006m\000\005\006h\001\213\000\140\001/\003n\000\151\006?\000\151\003o\0068\000\028\005|\000_\000\140\005\006\001\223\004\246\000 \000\141\006i\003\253\005\231\000\142\005i\000K\003\237\003\238\003\240\000\140\005o\003|\000_\000f\000\141\000e\004\002\000h\000\142\000\004\004\003\004\020\002\212\003}\004\138\004g\003\253\000\031\001x\000\151\000g\004m\000\152\001x\002\213\004U\003|\005i\003\136\001\204\000\005\004\002\001\181\0068\000\151\004\003\004\020\006j\003}\000g\000\"\004\007\001\134\000\152\000\153\004B\006k\004a\003l\003\131\006\132\003*\004\028\005\234\000\152\004x\000\152\0049\003\140\000_\006)\006\158\005}\000_\001\144\000\153\004\007\006f\006\159\004\018\004\023\006\134\005\157\005h\003|\000_\000\153\004\028\000\153\003\141\006\136\000$\0049\003\140\003\142\001\145\003}\0017\003\143\000J\001\146\000\155\002\215\003\144\001\147\005\233\005\133\000\152\003\138\001\148\004\019\000\181\003n\000\138\003\141\000\159\003o\000\139\001\229\003\142\000\203\006\178\000\152\003\143\005\230\001\015\001E\0016\003\144\000\153\003l\003\131\005\243\000\155\003G\001Q\000\197\000\198\000\200\000\201\001\189\003\140\000\203\005i\000\153\000_\004\015\000\157\006s\002\164\004Y\004A\006\015\005\241\005\244\005h\004\016\000_\000a\001\225\000e\002=\003\141\002,\000\202\000\140\000\203\003\142\004\022\000\183\000\141\003\143\006\179\000\138\000\142\005\240\003\144\001S\004\016\004o\001\012\005\128\004\019\004m\003n\001\015\004\247\0016\003o\003:\000_\000\155\003l\003m\000g\000\184\005\241\005\244\005h\000\185\000\151\003\253\000(\002\246\001\015\000\157\0016\001G\000\008\001\217\004\249\003|\003\197\003\198\002\193\005i\004\002\002\197\001\140\005\142\004\003\004\020\006\180\003}\000_\000\140\0010\001\234\003l\003\131\000\141\006k\000_\005\231\000\142\006\182\004h\003\136\000*\001\181\005\140\005h\000J\000_\000\140\001\236\003n\006f\006\164\004A\003o\004\007\005\166\006{\001\237\004\023\006\184\002\245\005i\006\016\000\151\001\189\004\028\000\203\006\243\006\186\000\140\0049\003\140\001g\002\198\001~\001\236\003\253\002\199\006t\006\244\006u\000\152\000\203\004\019\001\141\003n\003|\000/\003:\003o\006{\004\002\003\141\003l\003\131\004\003\004\020\003\142\003}\006\175\004j\003\143\000h\000\153\005i\003;\003\144\000_\000_\0003\004U\006B\006f\006\164\004A\000J\001g\001\143\001h\001/\000_\000a\000b\000e\000\140\0017\004\007\001i\001\012\000\138\004B\001j\004a\000\139\004r\0060\0061\004\028\000_\004\252\004x\000\152\0049\003\140\002\165\004\019\004\181\003n\003|\0002\001\197\003o\001\015\0065\0016\000h\001\131\000g\002H\001w\003}\006\169\004:\000\153\003\141\000J\0005\006\019\000\140\003\142\002\212\001i\000J\003\143\003\253\001j\006+\006,\003\144\006}\001\141\000\140\002\213\006t\003|\006u\000\141\000\203\004[\004\002\000\142\003l\003\131\004\003\004\020\006\170\003}\000_\000h\001\215\001\"\004.\006\252\001w\006k\006x\000_\000J\004\005\0068\006f\006\164\004A\006~\001\027\006\127\000\151\006t\000\004\006u\004[\000\203\0007\0017\004\007\000h\003\130\005\167\004B\000\203\006\172\000_\001g\0026\001~\004\028\003\253\001x\006\174\000\005\0049\003\140\004\224\004\019\005\170\003n\003|\000;\001\132\003o\002\247\004\002\002:\003l\003\131\004\003\004\020\006\170\003}\006\171\004\187\001\134\003\141\000J\002\250\006C\006k\003\142\000_\0014\004\005\003\143\006f\006\164\004A\000\144\003\144\000J\005\189\005\190\0029\001x\000h\001\144\000\140\003\231\004\007\001i\001\012\000\138\004B\001j\006\172\000\139\000\152\006y\003\233\004\028\000_\006g\006\174\003F\0049\003\140\001\145\004\019\005\191\003n\000_\001\146\005o\003o\001\015\001\147\0016\005\192\000\153\000h\001\148\001w\0026\006\173\0024\001%\003\141\0011\001\018\001\172\001\028\003\142\001\029\002=\000\203\003\143\003\253\000_\003\232\004c\003\144\0028\000=\000\140\003\197\003\198\003|\002\165\000\141\003\232\001\145\004\002\000\142\003l\003\131\004\003\004\020\006\170\003}\005Y\003\197\003\198\001\"\001C\001\148\000\155\006k\000J\000_\0029\004\005\004^\006f\006\164\004A\000\251\001\027\002\166\000\151\000\161\005Z\005\213\005h\005]\005h\000\004\004\007\000?\007\004\001-\004B\001\191\006\172\000\203\001g\000J\001~\004\028\003\253\001x\006\174\007\005\0049\003\140\005\007\004\019\000\005\003n\003|\005\186\000_\003o\005\250\004\002\005\251\003l\003\131\004\003\004\020\006\170\003}\006\181\005\016\001\142\003\141\001\231\000J\000\203\006k\003\142\000_\003:\004\005\003\143\006f\006\164\004A\000J\003\144\000C\005\018\005\252\005i\002;\005i\001\144\000\140\004\163\004\007\001i\005\253\000\138\004B\001j\006\172\000\139\000\152\003\197\003\198\004\028\005\127\000B\006\174\006z\0049\003\140\001\145\004\019\003\200\003n\000_\001\146\004G\003o\006B\001\147\001\192\001(\000\153\001\186\001\148\001w\004\016\006\185\003\199\001%\003\141\001&\004\251\000_\001\028\003\142\001\029\006\161\000\203\003\143\003\253\000J\005\175\005\006\003\144\005\230\003-\000\140\003F\000h\003|\001\194\000\141\005\169\001\188\004\002\000\142\003l\003\131\004\003\004\020\006\170\003}\005\176\000E\005\179\005h\000G\000J\000\155\006k\002H\000_\001\233\004\005\000\203\002\164\004Y\004A\000J\001<\002\166\000\151\000\163\005}\000h\006\176\005x\004.\000L\004\007\000h\005j\002\167\004B\000J\006\172\006y\001g\000J\001~\004\028\003\253\001x\006\174\000N\0049\003\140\005v\004\019\003+\003n\003|\005y\005h\003o\000J\004\002\005\247\003l\003\131\004\003\004\020\006\170\003}\004\n\005i\005\021\003\141\004\224\000J\001\186\006k\003\142\000_\0030\004\005\003\143\002\164\004Y\004A\000J\003\144\000Q\003\197\003\198\004\169\000J\004\186\001\144\000\140\003\234\004\007\001i\005\236\000\138\004B\001j\006\172\000\139\000\152\006G\001\187\004\028\000_\001\014\006\174\000e\0049\003\140\001\145\004\019\006M\003n\005i\001\146\002\166\003o\001O\001\147\001\192\006G\000\153\003\236\001\148\001w\006\161\000\138\005d\000h\003\141\001R\004\147\000J\003:\003\142\002\166\003\197\003\198\003\143\003\253\000g\004\016\005e\003\144\000h\006D\000\140\000\203\000h\003|\001\193\000\141\000S\003:\004\002\000\142\003l\003\131\004\003\004\020\001\186\003}\004\255\004g\005\167\001l\000\203\000J\000\155\000J\005\193\000_\004%\004\005\006\167\002\164\004Y\004A\000\140\001u\000J\000\151\000\165\000\141\004\249\006\015\004P\000\142\004\164\004\007\000h\003\139\003H\004B\002=\004a\000h\001g\001\192\001~\004\028\003\253\001x\004!\000W\0049\003\140\006O\004\019\003L\003n\003|\006\161\000\151\003o\000J\004\002\004R\003l\003\131\004\003\004\020\000J\003}\004e\004g\005\023\003\141\001\228\001\194\000J\000d\003\142\000_\004\172\004\005\003\143\002\164\004Y\004A\004\188\003\144\002\031\000h\004P\0017\003;\006\152\001\144\000\140\006\153\004\007\001i\006K\006\021\004B\001j\004a\000\205\000\152\006]\006\183\004\028\000h\006\203\004!\004.\0049\003\140\001\145\004\019\001\012\003n\006K\001\146\004Q\003o\002B\001\147\002x\000J\000\153\004\230\001\148\001w\006\229\001g\003@\001h\003\141\000h\000\152\006\031\000\208\003\142\001\015\000_\0016\003\143\003\253\000J\006\157\006G\003\144\003D\005\237\000\005\0043\000J\003|\000\212\000J\002\166\000\153\004\002\000\211\003l\003\131\004\003\004\020\004u\003}\004\140\004g\0047\000h\003\197\003\198\000\155\005g\000J\000_\002\143\004\005\004\197\002\164\004Y\004A\000\140\005\238\002\201\001i\000\167\000J\005e\001j\000\138\000J\000\214\004\007\000\139\004w\006G\004B\001g\004a\001h\0068\001\026\005\019\004\028\003\253\001x\004!\002\193\0049\003\140\002\197\004\019\004\215\003n\003|\001\027\001w\003o\000J\004\002\005\018\003l\003\131\004\003\004\020\006G\003}\005\003\004g\005\025\003\141\002H\000\216\002\210\000\220\003\142\000_\006\210\004\005\003\143\006f\000\140\004\018\004u\003\144\006\227\000\141\004z\000\222\000\140\000\142\001\144\001i\002\236\004\007\001g\001j\001h\004B\000\140\004a\003q\000\225\002\198\000h\004\028\005\175\002\199\004!\000\229\0049\003\140\001\145\004\019\004v\003n\000\151\001\146\004z\003o\004\141\001\147\005\240\000h\001w\002\193\001\148\005\176\002\197\005\179\005h\006\177\003\141\006b\001x\005\026\003z\003\142\006J\004\141\003\215\003\143\003\253\005\241\005\244\005h\003\144\000\140\004\231\000\228\001i\004\143\003|\005\028\001j\004\236\004\132\004\002\000\231\003l\003\131\004\003\004\020\000\233\003}\006\130\004g\003O\003\230\001\028\004\142\001\029\000\237\000\203\000_\006\203\004\005\002\238\006f\004\236\004\018\002\198\001w\006\203\003S\002\199\004\238\004}\006I\000\138\005i\000\239\004\007\000\139\000\152\006\238\004B\001g\004a\001h\002\212\001\145\001x\004\028\003\253\005i\004!\005\224\0049\003\140\004\237\004\019\002\213\003n\003|\001\150\000\153\003o\006H\004\002\006\230\003l\003\131\004\003\004\020\006\163\003}\005\029\005\222\006\162\003\141\006\203\005\225\005h\006k\003\142\000_\006S\006\166\003\143\006f\000\140\004\018\006V\003\144\005\028\000\141\004\016\005$\000\140\000\142\000\241\001i\004\016\004\007\001g\001j\001|\004\023\006\168\001x\002\239\006\133\000\155\005'\004\028\005&\000\245\006\174\001\145\0049\003\140\004\016\004\019\000\244\003n\000\151\000\169\002\212\003o\002\214\003\029\005&\001\152\001w\002\193\005*\002\242\002\197\006\237\002\213\006\165\003\141\005i\000_\005\199\006\248\003\142\002\164\000\247\0052\003\143\003\253\000\249\005\028\006\204\003\144\000\140\0055\006\255\001i\005\254\003|\006\206\001j\002\245\006\247\004\002\0054\003l\003\131\004\003\004\020\006\163\003}\0058\0054\001}\000\252\000\254\002\166\003N\006k\001\000\000_\001\002\006\166\002\238\002\164\006\254\004\018\002\198\001w\005\028\001\006\002\199\000_\001F\000J\000\138\006B\003 \004\007\000\139\000\152\001\011\004\023\006\168\002\247\001;\001A\006\208\001x\004\028\003\253\006\237\006\174\005\221\0049\003\140\001@\004\019\002\248\003n\003|\001\222\000\153\003o\006\237\004\002\001\221\003l\003\131\004\003\004\020\006\163\003}\005\221\005\222\001\227\003\141\001\241\005\225\005h\006k\003\142\000_\001\244\006\166\003\143\002\164\000\140\004\018\001\248\003\144\005\011\000\141\001\247\005\222\004\135\000\142\001\250\005\225\005h\004\007\001\252\003U\002\000\004\023\006\168\001x\002\239\002\002\000\155\005\239\004\028\006\238\002\005\006\174\001\145\0049\003\140\002\t\004\019\002\008\003n\000\151\000\171\002\212\003o\002\011\002\241\004\020\001\154\002\013\002\193\002\017\002\242\002\197\006\238\002\213\002\193\003\141\005i\002\197\002\019\002\021\003\142\000h\002\025\002\024\003\143\003\253\002\027\002\029\000_\003\144\004\133\002 \005\175\002\"\004\135\003|\005i\002$\002\245\005\008\004\002\002&\003l\003\131\004\003\004\020\004\028\003}\002*\004!\004\011\0049\0023\005\176\0022\005\179\005h\000_\002A\004|\002\238\002\164\004\013\004\018\002\198\004;\000\140\006L\002\199\002G\002\198\002F\003l\003m\002\199\004\007\002\138\000\152\002J\004\023\004~\002\247\004?\002M\002Q\002P\004\028\003\253\002S\004!\001\"\0049\003\140\002U\004\019\002\248\003n\003|\002Y\000\153\003o\006D\004\002\000\203\001\027\002[\004\003\004\020\002^\003}\002b\002a\000_\003\141\003l\003\131\005i\002d\003\142\006\000\002f\004|\003\143\004\025\000\140\002j\003n\003\144\000_\000_\003o\002l\006B\002\164\004\026\004A\002n\004\007\002r\006$\002q\004\023\004~\002t\002\239\002v\000\155\001g\004\028\001h\000_\004!\002y\0049\003\140\002{\002}\002\127\002\131\002\137\000\173\002\212\003\019\003$\003\022\002\136\004\019\002\212\003n\002\142\002\242\002\148\003o\002\213\001\"\003\141\002\147\005G\005b\002\213\003\142\005\137\005t\005\130\003\143\003\253\005\172\006\015\001\027\003\144\003l\003m\003\025\005\188\005\220\003|\002=\005\249\002\245\000\140\004\002\006\142\001i\006\188\004\003\004\020\001j\003}\003l\003\131\005\240\006\192\001\"\001%\006\211\001+\006\215\004D\001\028\004F\001\029\005\205\000\203\000_\006\220\003|\001\027\002\164\004\026\004A\006\221\005\241\005\244\005h\001w\004\007\006\226\003}\006\225\004\023\004H\002\247\000\140\006\233\003n\006\235\004\028\002\247\003o\004J\006\241\0049\003\140\006\245\006\246\002\248\006\249\003\253\006\250\006\253\004\019\002\252\003n\007\000\006\023\007\001\003o\003|\007\t\000\000\000\000\000\000\004\002\003\141\000\000\000\000\004\003\004\020\003\142\003}\003l\003\131\003\143\000\000\000_\000\000\006C\003\144\000\000\004I\000\000\004\005\000\000\005i\006\026\000_\000\000\001$\000\000\002\164\004\026\004A\001\028\003\141\001\029\000\000\000\203\004\007\000\000\000\000\000\000\004B\001x\004C\000\000\000\000\000\000\003\146\004\028\000\000\006D\004!\000\203\0049\003\140\000\000\000\138\000\000\000\000\001g\000\147\001{\004\019\000\000\003n\001%\000\000\0033\003o\000\000\001\028\000_\001\029\003|\000\203\003\141\001\"\000\000\000\000\000\000\003\142\003\253\000\000\000\000\003\143\003}\003l\003m\000\000\003\144\001\027\003|\000\000\000\000\000\000\000\000\004\002\000\000\000\000\000\000\004\003\004\020\000\000\003}\003l\003\131\005\139\000\000\000\140\001y\000\000\000\140\000\000\000\141\001i\004\005\000\000\000\142\001j\000_\002H\000\000\000\000\002\164\004Y\004A\000\000\005\140\005h\006\029\003\168\004\007\000\000\005\139\000\000\004B\000\000\004C\000\140\000\000\003n\000\000\004\028\000\151\003o\004!\001w\0049\003\140\000\000\000\000\003\141\000\000\003\253\005\140\005h\004\019\000\000\003n\000\000\000\000\000\000\003o\003|\000\000\003\144\000\000\000\000\004\002\003\141\000\000\000\000\004\003\004\020\003\142\003}\003l\003\131\003\143\000\000\000\000\000\000\000\000\003\144\000\000\000\000\000\000\004\005\005i\000\000\001g\000_\001~\000\000\000\000\002\164\004Y\004A\000\000\001%\000\000\003=\000\000\004\007\001\028\000\000\001\029\004B\000\203\004C\000\000\000\000\000\000\000\000\004\028\005i\000\000\004!\000\000\0049\003\140\000\152\000\000\000\000\001x\000\000\000\000\000\000\004\019\000\000\003n\000\000\000\000\000\000\003o\000\197\001n\000\200\000\201\003|\000\000\003\141\000\140\000\153\000\000\001i\003\142\003\253\000\000\001j\003\143\003}\000\000\000\000\000\000\003\144\000\000\003|\000\000\000\000\000\000\000\000\004\002\000\202\000\000\000\203\004\003\004\020\000\183\003}\000\000\004`\003l\003\131\000\000\000\138\000\000\001w\005\139\000\149\000\000\004\005\000\000\000\000\000\000\000\138\005\175\000_\000\000\000\149\000\155\002\164\004Y\004A\000\184\005\143\000\000\004\007\000\185\005\140\005h\004B\000\000\004a\000\157\000\000\001G\005\176\004\028\005\179\005h\004!\000\000\0049\003\140\000\000\000\000\003\141\000\000\003\253\000\000\000\000\005\146\000\000\004\019\000\000\003n\000\140\000\000\003|\003o\003\148\000\141\000\000\004\002\003\141\000\142\000\140\004\003\004\020\003\142\003}\000\141\004b\003\143\000\000\000\142\000\000\000\000\003\144\000\000\000\000\000\000\004\005\000\000\001x\005\139\000\000\000\000\000\000\005i\000\000\000\151\000\000\000\000\003l\003\178\000\000\000\000\004\007\005i\000\000\000\151\004B\000\000\004a\000\000\005\140\005h\005)\004\028\000\000\000\000\004!\000\000\0049\003\140\000\000\000\000\003l\003\131\000_\000\000\000\000\000\000\002\164\000\000\000\000\000\000\000\000\002\193\001\144\000\000\002\197\000_\000\000\000\000\003\141\002\164\004\127\004A\001g\003\142\001~\000\000\003\253\003\143\000\140\000\000\003n\000\000\003\144\001\145\003o\000\000\003|\000\000\001\146\003N\000\000\004\002\001\147\000\000\000\000\004\003\004\020\001\148\003}\005i\004t\000\152\004\019\000\000\003n\000\000\000\000\000\000\003o\000\000\004\005\000\152\000\000\002\238\003l\003m\000\000\002\198\000\000\000\000\000\000\002\199\000\000\000\153\000\140\000_\004\007\001i\005\152\000\000\004B\001j\004a\000\153\003l\003\131\005\208\004\028\004\129\000\000\004!\000\000\0049\003\140\000\000\000\000\000\000\000\000\000\154\000_\000\000\000\000\000\000\002\164\004\127\004A\000\000\000\000\000\154\001w\000\000\000\000\000\000\000\000\003\141\000\000\000\140\000\000\003n\003\142\000\155\000\000\003o\003\143\005\t\000\194\000\000\000\000\003\144\003|\000\155\003l\003m\000\000\000\157\000\156\004\019\001\"\003n\000\000\000\000\003}\003o\003\253\000\157\000\000\002\193\002\239\000\000\002\219\004\020\001\027\000\000\003|\000\000\000\000\005\150\000\000\004\002\000\000\003l\003\131\004\003\004\020\002\212\003}\000\000\003\026\000\000\004\149\000\000\000\000\004\131\002\242\000\000\000_\002\213\004\005\000\000\002\164\004\026\004A\000\000\000\140\005\008\003n\000\000\001x\000\000\003o\000\000\004\028\000\000\004\007\004!\003\028\0049\004B\000\140\004\130\000\000\002\245\002\198\005\240\004\028\000\000\002\199\004!\000\000\0049\003\140\0057\004\019\000\000\003n\000\000\000\000\003|\003o\002\193\003l\003\131\002\197\000\000\005\241\005\244\005h\003\253\000\000\003}\001g\003\141\001h\001\144\005\139\000_\003\142\003|\003\"\002\164\003\143\004\018\004\002\000\000\002\247\003\144\004\003\004\020\000\000\003}\000\000\000\000\000\000\000\000\001\145\005\140\005h\000\000\002\248\001\146\001%\004\005\004(\001\147\000\000\001\028\000\000\001\029\001\148\000\203\000\000\002\238\004\019\000\000\003n\002\198\000\000\004\007\003o\002\199\000\000\004B\000\140\004\130\003|\001i\005i\000\000\004\028\001j\000\000\004!\000\000\0049\003\140\003\141\003}\000\000\000\000\002\212\000\000\000\000\000\000\003\253\000\000\000\000\004\253\000\000\000\000\003\150\004\135\002\213\005\139\003|\000\000\003\141\005i\001w\004\002\005\240\003\142\000\000\004\003\004\020\003\143\003}\005\139\000\000\005\175\003\144\000\000\000\000\000\000\005\140\005h\003l\003\131\004\005\000\000\000\000\005\241\005\244\005h\000_\000a\001\t\000e\005\140\005h\005\176\000_\005\179\005h\004\007\002\164\002\239\004\018\004B\000\000\004C\000\000\000\000\003\141\003\253\004\028\000\000\000\000\004!\000\000\0049\003\140\000\000\002\212\003|\000\000\003\026\003\152\000\000\004\002\000\000\000g\002\242\004\003\004\020\002\213\003}\000\000\004\019\000\000\003n\000\000\003\141\006\003\003o\005i\001x\003\142\004|\002\193\000\000\003\143\002\197\005i\003\028\000\000\003\144\000\000\000\000\005i\002\245\000\000\000\000\005i\004\007\005\139\000\000\000\000\004\023\004~\003l\003\131\005\013\000\000\005\163\004\028\004\135\000\000\004!\000\000\0049\003\140\000\000\003l\003m\000_\005\140\005h\000\000\002\164\002\193\004\018\000\000\002\197\000\000\000\000\000\000\003!\000\000\000\000\000\000\002\238\003\141\002\247\000\000\002\198\000\000\003\142\000\000\002\199\000\000\003\143\000\000\001\145\000\000\000\000\003\144\002\248\000\000\000\000\002\193\000\000\004\019\002\218\003n\000\000\000\000\001\156\003o\003\253\000_\000a\0019\000e\000\000\000\140\005\139\003n\000\000\003|\000\000\003o\000\140\005\139\004\002\000\000\002\198\005i\004\003\004\020\002\199\003}\005\161\000\000\003l\003\131\005\015\005\140\005h\006\017\004\135\000\000\001\012\004|\005\140\005h\005\159\000g\006\t\000_\000\000\000\000\000\140\002\164\000\000\004\018\002\198\000\000\000\000\004\007\002\199\000\000\000\000\004\023\004~\002\239\001\015\000\000\0016\000\000\004\028\000\000\000\000\004!\005\139\0049\003\140\002\193\000\000\000\000\002\197\000\000\002\212\000\000\002\193\002\244\004\019\002\217\003n\000\000\000\000\002\242\003o\003\253\002\213\005\140\005h\003\141\005i\000\000\000\000\000\000\003\142\003|\000\000\005i\003\143\000\000\004\002\000\000\000\000\003\144\004\003\004\020\000\000\003}\003|\000\000\000\000\002\245\006P\000\000\000\000\002\212\004\135\000\000\000\000\004|\003}\002\238\003l\003\131\000\000\002\198\005\197\002\213\000\140\002\199\000\000\006X\002\198\000\000\000\000\004\007\002\199\000_\000\000\004\023\004~\002\164\004\026\004A\005\240\002\212\004\028\000\000\005i\004!\005\139\0049\003\140\000\000\002\247\000\000\000\000\002\213\000\000\000\000\000\138\000\000\000\000\000\000\000\139\005\241\005\244\005h\002\248\003\253\001\012\005\140\005h\003\141\004\019\000\000\003n\000\000\003\142\003|\003o\000\000\003\143\000\000\004\002\000\000\003\141\003\144\004\003\004\020\000\000\003}\003l\003\131\001\015\002\247\0016\005\202\000\000\000\000\003\154\000\000\000\000\004|\005\217\002\239\000\138\000_\000\000\002\254\000\139\002\164\000\140\004\018\000\000\000\000\000\000\000\141\001g\004\007\001z\000\142\002\212\004\023\004~\003\026\000\000\005i\000\000\002\212\004\028\002\242\005i\004!\002\213\0049\003\140\000\000\000\000\000\000\000\000\002\213\000\000\000\000\004\019\000\000\003n\000\151\000\000\000\000\003o\000\000\000\000\003\028\000\000\005\215\000\000\003\141\000\140\002\245\003l\003m\003\142\000\141\000\000\003\253\003\143\000\142\000\000\000\000\000\140\003\144\000\000\001i\000\000\003|\000\000\001j\006^\000\000\004\002\000\000\004\135\000\000\004\003\004\020\000\000\003}\003l\003\131\000\000\000\000\002\193\000\151\000\000\002\216\003\031\006\135\000\000\004\005\000\000\005\240\002\247\000_\000\000\001w\000\000\002\164\004\026\004A\000\000\000\000\000\140\000\138\003n\004\007\002\248\000\139\003o\004B\000\000\004C\005\241\005\244\005h\000\152\004\028\000\000\000\000\004!\000\000\0049\003\140\006\024\000\000\003\253\000\000\000\000\000\000\006\007\004\019\000\000\003n\000\000\000\140\003|\003o\000\153\002\198\000\000\004\002\000\000\002\199\003\141\004\003\004\020\000\000\003}\003\142\004\144\003l\003\131\003\143\000\000\000\000\000\140\000\000\003\144\000\000\004|\000\141\000\152\000\000\000\000\000\142\000_\000\000\000\000\000\000\002\164\000\000\004A\000\000\001x\005i\004\007\000\000\000\138\000\000\004\023\004~\000\149\000\000\000\153\000\155\000\000\004\028\000\000\000\000\004!\000\151\0049\003\140\000\000\000\000\000\000\000\000\001g\000\175\001h\000\000\000\000\004\019\003|\003n\003l\003\131\000\000\003o\000\000\000\000\000\000\000\000\003\141\000\000\003}\000\000\004E\003\142\000\000\000_\003\253\003\143\000\000\002\164\000\000\004\018\003\144\000\000\000\140\000\155\003|\000\000\000\000\000\141\002\212\004\002\000\000\000\142\000\000\004\003\004\020\000\000\003}\000\177\000\000\000\000\002\213\000_\000\140\000\000\000\000\001i\000\000\000\000\004\005\001j\004\019\000\000\003n\000\000\000\000\000\000\003o\000\151\000\138\000\000\000\000\000\152\000\139\000\000\004\007\000\000\000\000\000\000\004B\000\000\004C\000\000\000\000\006\027\003\141\004\028\000\000\001w\004!\000\000\0049\003\140\000\000\000\153\000\000\000\000\003\253\000\000\003\156\000_\000a\001>\000e\000\000\000\000\000\000\003|\000\000\000\000\000\000\000\000\004\002\003\141\001\"\000\000\004\003\004\020\003\142\003}\000\000\000\140\003\143\003l\003\131\000\000\000\141\003\144\001\027\000\000\000\142\004\146\000\000\000\000\000\000\004\017\000\000\000g\000_\000\000\000\000\000\155\002\164\000\000\004\018\000\000\000\152\004\007\000\000\000\000\000\000\004B\003\253\004\148\000\000\000\187\000\151\000\000\004\028\000\000\000\000\004!\003|\0049\003\140\000\000\001x\004\002\000\153\000\000\000\000\004\003\004\020\000\000\003}\004\019\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\000\000\003\141\004\021\000\000\000\000\000\000\003\142\000\000\000\000\000\154\003\143\000\000\000\138\000\000\000\000\003\144\000\147\000\000\004\007\000\000\000\000\000\000\004\023\004\024\000\138\003l\003\131\000_\000\149\004\028\000\000\000\155\004!\000\000\0049\003\140\000\193\004\027\000\000\000\000\000_\000\000\003l\003m\002\164\000\157\004\018\000\000\000\000\001\145\000\152\000\000\000\000\001%\000\000\0040\003\141\000\000\001\028\000\000\001\029\003\142\000\203\001\158\000\140\003\143\000\000\000\000\005\240\000\141\003\144\000\000\000\153\000\142\000\000\000\000\000\140\004\019\000\000\003n\000\000\000\141\003\253\003o\001\012\000\142\000\000\000\000\000\000\005\241\005\244\005h\003|\000\000\000\140\000\000\003n\004\002\000\000\000\151\003o\004\003\004\020\000\000\003}\000\000\003l\003\131\001\015\000\000\0016\000\151\000\000\000\000\000\000\000\000\004\021\000\000\000\000\000\155\000\000\000_\000\000\000\000\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\007\000\189\000\000\000\000\004\023\004\024\000\000\000\000\000\000\000\000\000\000\004\028\000\000\000\000\004!\000\000\0049\003\140\000\000\005i\000\000\000\000\000\000\000\000\003l\003\129\004\019\000\000\003n\001g\000\000\001h\003o\000\000\000\000\000\000\003\253\000\000\003\141\000\000\000\000\000\000\000\000\003\142\000\000\000\152\003|\003\143\000\000\000\000\000\000\004\002\003\144\003l\003\131\004\003\004\020\000\152\003}\000\197\002\203\000\200\000\201\003|\000\000\000\000\000\000\000\153\000_\000\000\004\021\000\000\002\164\000\000\004\018\003}\000\140\000\000\003n\000\153\000\000\000\140\003o\000\000\001i\000\000\004\007\000\202\001j\000\203\004\023\004\024\000\183\000\000\003l\003m\000\000\004\028\000\000\000\000\004!\000\000\0049\003\140\000\154\004\019\000\000\003n\000\138\000\000\000\000\003o\000\147\000\000\000\155\000\000\001w\003\253\000\184\000\000\000\000\000\000\000\185\000\000\003\141\006\"\000\155\003|\000\157\003\142\001G\000\196\004\002\003\143\003l\003\131\004\003\004\020\003\144\003}\000\157\003~\000\000\000\000\000\000\004d\000\140\002\193\003n\000_\002\197\004]\003o\002\164\000\000\004\018\000\000\000\000\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\004\007\000\000\000\142\000\000\004\023\004_\000\000\000\000\000_\000\000\003|\004\028\002\164\000\000\004!\000\000\0049\003\140\000\000\004\019\000\000\003n\003}\000\000\000\000\003o\000\000\001x\000\151\003\253\000\000\000\000\000\140\000\000\000\000\000\000\002\198\000\000\003\141\003|\002\199\000\000\000\000\003\142\004\002\003N\000\000\003\143\004\003\004\020\000\000\003}\003\144\003l\003\131\000\000\000\000\004\\\000\000\000\000\000\000\003l\003\131\004]\000_\000a\001\219\000e\000_\000\000\000\000\000\000\002\164\000\000\004\018\000\000\000\000\000\000\000\000\004\007\003|\000\000\004O\004\023\004_\000\000\000\000\000\000\000\000\000\000\004\028\000\000\003}\004!\001\145\0049\003\140\000\000\003&\002\193\000\138\000g\002\197\000\000\000\139\004\019\000\152\003n\001\160\000\000\003\253\003o\000\000\002\238\000\000\003n\000\000\003\141\000\000\003o\003|\000\000\003\142\002\234\000\000\004\002\003\143\000\000\000\153\004\003\004\020\003\144\003}\002\212\000\000\000\000\000\000\004p\000\000\000\000\000\000\000\000\000\000\000\000\004q\002\213\000\000\003l\003\131\000\000\000\000\000\140\000\140\000\183\000\000\002\198\004\020\000\141\003\141\002\199\004\007\000\142\000_\000\000\004\023\004s\002\164\000\000\004\018\000\000\000\000\004\028\003\158\000\000\004!\000\155\0049\003\140\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\151\000\000\000\157\005-\000\000\000\000\000\000\000\000\000\000\003\253\004\028\003\141\004\019\004!\003n\0049\003\142\003\253\003o\003|\003\143\000\000\000\000\000\000\004\002\003\144\002\247\003|\004\003\004\020\000\138\003}\004\002\000\000\000\149\000\000\004\003\004n\000\000\003}\003\000\003l\003\131\004]\000\000\001\012\000\000\000\000\000\000\000\000\004{\004\005\000_\000a\0020\000e\000_\000\000\000\000\004\007\002\164\000\000\004\018\004\023\004_\002\212\000\000\004\007\000\000\001\015\004\028\0016\000\000\004!\000\000\0049\003\140\002\213\000\152\000\000\000\000\000\000\000\140\000\000\003\140\000\000\000\000\000\141\000\000\000g\000\000\000\142\000\000\004\019\000\000\003n\000\000\003\141\000\000\003o\000\153\000\000\003\142\003\253\000\000\003\141\003\143\000\000\003l\003\128\003\142\003\144\000\000\003|\003\143\000\000\000\000\000\151\004\002\003\144\000\000\000\000\004\003\004\020\000\000\003}\000\138\003l\003\131\000\000\000\149\004\128\000\000\000\000\000\000\000\000\000_\004|\006T\000\000\000\000\000\000\000_\000\000\000\000\002\247\002\164\000\155\004\018\000\000\000\000\000\000\000\000\004\007\000\000\000\000\000\000\004\023\004~\003\002\000\140\000\191\003n\000\000\004\028\000\000\003o\004!\000\000\0049\003\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\140\004\019\000\000\003n\000\000\000\141\003\253\003o\000\000\000\142\000\000\003l\003\127\003\141\000\000\000\000\003|\000\152\003\142\000\000\001\"\004\002\003\143\000\000\000\000\004\003\004\020\003\144\003}\000\000\003l\003\131\000\000\000\000\001\027\000\151\000\000\000\000\000\000\000\153\004|\006`\001\012\000\000\000\138\000_\000\000\000\000\000\149\002\164\000\000\004\018\000\000\000_\000\000\000\000\004\007\002\164\000\000\000\000\004\023\004~\000\000\000\140\000\154\003n\001\015\004\028\0016\003o\004!\000\000\0049\003\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\019\003|\003n\001g\000\155\001h\003o\000\000\003N\001\128\003\253\000\000\003\141\003}\000\140\000\000\000\000\003\142\000\157\000\141\003|\003\143\000\000\000\142\000\000\004\002\003\144\003l\003\131\004\003\004\020\000\152\003}\000\000\000\000\000\138\000\000\000\000\006c\000\147\000\000\000\000\000_\000\000\006U\000\000\002\164\000\000\004\018\000\151\000_\000\000\000\000\000\153\000\000\000\140\000\000\000\000\001i\000\000\004\007\001%\001j\004\175\004\023\006W\001\028\000\000\001\029\000\000\000\203\004\028\000\000\000\000\004!\000\000\0049\003\140\000\154\004\019\000\000\003n\003|\000\000\000\000\003o\000\000\000\140\000\000\000\000\001w\003\253\000\141\000\000\003}\000\000\000\142\000\000\003\141\000\000\000\155\003|\000\000\003\142\000\000\001\130\004\002\003\143\000\000\000\000\004\003\004\020\003\144\003}\000\157\003l\003m\000_\000\000\004\020\000\000\002\164\000\151\003l\003\131\006U\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000_\000\000\000\000\004\007\004\162\000\000\000\000\004\023\006W\000\000\000\000\000\153\000\000\000\000\004\028\005/\003N\004!\000\000\0049\003\140\000\000\004\028\000\000\000\000\004!\004\193\0049\000\000\000\140\001x\003n\003\253\000\000\000\000\003o\000\154\004\196\000\000\003n\000\000\003\141\003|\003o\000\000\000\000\003\142\004\002\000\000\000\000\003\143\004\003\004\020\000\138\003}\003\144\000\000\000\147\000\155\000\000\000\000\004\202\000\152\003\133\000\000\000\000\006U\000\000\000_\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\197\003s\000\200\000\201\000\000\000\000\004\007\000\000\000\153\000\000\004\023\006W\000\000\004\239\000\000\000\000\003\136\004\028\001\181\000\000\004!\001\145\0049\003\140\000\000\000\000\000\000\000\138\000\202\000\140\000\203\000\147\000\000\000\183\000\141\001\162\000\000\000\000\000\142\001g\000\000\001h\000_\000\000\003\141\000\000\000\000\000\000\001g\003\142\001h\004\020\000\000\003\143\003|\000\155\000\000\000\000\003\144\000\184\000\000\000\000\003|\000\185\000\151\000\000\003}\000\000\000\000\000\157\000\000\001G\004\203\000\000\003}\000\000\000\000\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\0051\004\241\000\000\000\142\003l\003\131\000\140\004\028\000\000\001i\004!\000\000\0049\001j\000\000\000\140\000\000\000\000\001i\000_\000\000\000\000\001j\004\162\003l\003\131\000\000\000\000\004\206\000\151\000\000\004\242\000\000\004\229\003\140\000\000\000\000\000\000\000\000\000_\000\000\001w\000\000\004\162\000\000\004\243\000\000\003\141\000\000\000\000\001w\000_\000a\002?\000e\003\141\004\196\000\152\003n\000\000\003\142\003\160\003o\000\000\003\143\004\195\000\000\000\000\000\000\003\144\000\000\000\197\003\255\000\200\000\201\000\000\004\196\000\000\003n\000\153\004\202\000\000\003o\003l\003m\000\000\000\000\000\000\000g\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000_\000\000\000\138\000\202\004\202\000\203\000\147\000\000\000\183\000\000\000_\000\152\000\000\000\000\000\000\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\000\001x\000\000\000\197\004\030\000\200\000\201\000\000\000\155\000\000\001x\000\153\000\184\000\000\000\000\000\000\000\185\000\140\000\000\003n\000\000\000\000\000\157\003o\001G\000\140\003l\003\131\000\000\000\000\000\141\000\202\000\140\000\203\000\142\000\000\000\183\000\141\000\000\003|\001\"\000\142\000\000\000\000\000\000\000\000\000\000\004M\000\138\004\203\000\000\003}\000\149\000\000\001\027\000\000\000\000\000\000\000\155\003|\000\151\000\000\000\184\004\204\000\000\000\000\000\185\000\151\001\145\004\203\000\000\003}\000\157\000\000\001G\000\000\002\193\001\145\002\238\002\197\003n\000\000\001\164\004\204\003o\000\000\000\000\000\000\001\179\001\181\004\206\001\166\000\000\004\211\000\000\004\229\003\140\000\000\000\000\000\000\000\140\001\012\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\004\206\000\000\000\000\004\211\000\000\004\229\003\140\003\141\003|\001g\000\000\001h\003\142\000\000\000\000\001\015\003\143\0016\000\140\004S\003}\003\144\002\198\003\136\000\000\000\151\002\199\003\141\000\152\000\000\000\000\000\000\003\142\000\138\000\000\000\152\003\143\000\147\000\000\000\000\000\000\003\144\000\197\004\208\000\200\000\201\000\000\000\000\000_\000\000\000\153\000\000\001\183\001%\000\000\004\218\000\000\000\153\001\028\003\253\001\029\000\140\000\203\000\000\001i\000\000\000\000\000\000\001j\003|\000\202\000\000\000\203\000\000\004\002\000\183\000\000\001\189\004\003\000\203\000\000\003}\000\183\000\000\000\000\000\140\003\141\000\000\000\000\000\000\000\141\000\000\000\000\004U\000\142\000\000\001w\000\155\000\000\000\000\003\162\000\184\000\000\000\152\000\155\000\185\000\000\000\000\000\184\004\007\000\000\000\157\000\185\001G\000\000\003l\003\131\000\000\000\157\002\212\000\151\000\000\000\000\000\000\000\000\000\153\003\140\000\000\000\000\000\000\000\000\002\213\002\193\003l\003\131\002\197\003\246\005\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\141\000\000\000\000\000\154\001g\003\142\001h\003\246\004V\003\143\000\000\000\000\000\000\000\000\003\144\000\000\000\000\000\000\000\000\001g\002\238\001h\003n\000\000\000\000\000\155\003o\001x\003l\003\131\003\135\000\000\000\000\000\000\000\000\000\000\000\000\000\140\002\238\000\157\003n\002\198\000\000\000\000\003o\002\199\000\000\000\000\000\000\003\246\004L\000\152\002\247\000\000\000\000\001g\000\140\001h\000\000\001i\000\000\000\000\000\000\001j\000\000\001I\003\004\000\000\000\201\000\000\000\000\000\140\000\000\000\153\001i\000\000\000\000\000\000\001j\000\000\002\238\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\000\000\000\000\001w\000\000\000\202\001\145\000\203\000\000\000\000\000\183\000\000\000\000\000\000\002\193\000\000\000\000\002\197\001w\000\140\001\168\000\000\001i\003\253\000\000\000\138\001j\000\000\000\000\000\147\000\000\000\000\000\155\003|\000\000\000\000\000\184\000\000\004\002\0066\000\185\003\253\004\003\003l\003\131\003}\000\157\000\000\001G\000\000\002\212\003|\000\000\000\000\001w\000\000\004\002\004\005\000\000\000\000\004\003\000\000\002\213\003}\003\246\003\247\000\140\000\000\000\000\000\000\002\198\000\000\000\000\004\007\002\199\004\005\000\000\000\140\000\000\000\000\000\000\001x\000\141\003\253\000\000\000\000\000\142\000\000\000\000\002\193\003\140\004\007\002\197\003|\000\000\002\238\001x\003n\004\002\000\000\000\000\003o\004\003\000\000\000\000\003}\000\000\000\000\003\140\000\000\000\000\003\141\000\151\000\000\000\000\000\000\003\142\004\005\000\000\000\000\003\143\000\000\000\000\000\000\000\000\003\144\000\000\000\000\000\000\003\141\002\247\000\000\001x\004\007\003\142\000\000\000\000\000\000\003\143\003l\003\131\000\140\000\000\003\144\003\006\002\198\000\000\000\000\001\145\002\199\003\140\000\000\003l\003\131\000\000\000\000\000\000\000\000\000\000\000\000\003\246\004\001\001\174\001\145\000\000\000\000\002\193\002\212\000\000\002\197\000\000\003\141\000\000\003\246\004X\000\000\003\142\001\176\000\000\002\213\003\143\003l\003\131\000\000\000\000\003\144\003\253\000\000\000\000\000\000\000\152\002\238\000\000\003n\003l\003\131\003|\003o\000\000\001\145\000\000\004\002\003\246\005\031\002\238\004\003\003n\0067\003}\000\000\003o\000\000\000\153\001\178\000\000\003\246\005!\000\000\000\140\000\000\004\005\000\000\002\198\000\000\000\000\000\000\002\199\000\000\000\138\000\000\000\000\000\000\000\147\002\238\000\000\003n\004\007\000\183\000\000\003o\000\000\000\000\002\212\000_\000\000\000\000\002\238\002\247\003n\000\000\000\000\000\000\003o\003\140\002\213\000\000\000\000\000\000\000\000\000\155\000\000\003\008\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003\141\000\000\000\000\000\000\000\000\003\142\000\140\000\000\003\253\003\143\000\000\000\141\000\000\000\000\003\144\000\142\003l\003\131\003|\000\000\000\000\003\253\000\000\004\002\000\000\000\000\000\000\004\003\000\000\000\138\003}\003|\000\000\000\147\000\000\000\000\004\002\003\246\005#\000\000\004\003\000\151\004\005\003}\000_\002\212\000\000\000\000\002\247\000\000\003\253\000\000\000\000\000\000\000\000\004\005\000\000\002\213\004\007\000\000\003|\000\000\003\n\003\253\000\000\004\002\000\000\000\000\002\238\004\003\003n\004\007\003}\003|\003o\003\140\000\000\002\193\004\002\000\000\002\197\000\140\004\003\000\138\004\005\003}\000\141\000\147\003\140\000\000\000\142\000\000\000\000\000\000\000\000\000\000\003\141\004\005\000_\000\000\004\007\003\142\000\000\000\000\000\000\003\143\000\000\000\000\000\000\003\141\003\144\000\000\000\000\004\007\003\142\000\000\000\151\003\140\003\143\000\152\000\000\000\000\000\000\003\144\000\000\002\247\000\000\000\000\000\000\000\140\003\140\000\000\000\000\002\198\000\000\000\140\001T\002\199\003\141\003\012\000\141\000\153\000\000\003\142\000\142\000\000\000\000\003\143\000\000\000\000\000\000\003\141\003\144\000\138\000\000\000\000\003\142\000\147\000\000\003\253\003\143\001\195\000\000\000\203\000\000\003\144\000\183\000\000\000_\003|\000\151\000\138\000\138\000\000\004\002\000\147\000\147\000\000\004\003\000\000\000\000\003}\000\000\000\000\000\000\000\000\000_\000_\000\155\000\000\000\000\000\000\000\184\004\005\000\152\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\140\000\000\000\000\000\000\004\007\000\141\001W\000\000\000\000\000\142\000\000\000\153\000\000\000\000\000\000\000\000\003l\003m\000\140\000\140\000\000\003\140\000\000\000\141\000\141\002\212\000\000\000\142\000\142\000\000\000\000\001Y\000\000\000\203\000\138\000\151\000\183\002\213\000\147\000\000\000\000\000\000\003\141\000\152\000\000\000\000\000\138\003\142\000\000\000_\000\147\003\143\000\000\000\151\000\151\000\000\003\144\000\000\000\155\000\000\001W\000_\000\184\000\000\000\000\000\153\000\185\000\000\000\140\000\000\003n\000\000\000\157\000\000\003o\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\001\201\000\140\000\203\000\000\000\000\000\183\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\002\247\000\000\000\142\000\000\000\000\000\000\000\000\000\155\000\152\000\000\000\000\000\184\000\000\000\000\003\014\000\185\000\151\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\140\001T\000\152\000\152\000\151\000\141\000\153\000\000\002\193\000\142\000\000\002\197\000\000\002\193\000\000\000\000\002\197\000\000\000\000\002\176\002\176\001\210\000\000\000\000\000\153\000\153\001\207\000\000\000\203\000\000\000\000\000\183\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\000\003|\000\000\000\000\000\000\002\178\002\195\000\203\000\203\000\000\000\183\000\183\000\000\003}\000\155\000\000\002\193\000\000\000\184\002\197\000\000\002\238\000\185\000\000\000\000\002\198\002\238\000\000\000\157\002\199\002\198\000\152\000\155\000\155\002\199\000\000\000\184\000\184\000\000\000\000\000\185\000\185\000\000\000\152\000\000\000\000\000\157\000\157\003\\\000\000\000\000\000\000\000\000\000\153\000\138\000\000\000\000\000\000\000\147\000\000\003\\\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\140\000\000\000\000\000\000\002\198\003^\000\152\000\203\002\199\000\000\000\183\003\141\000\000\000\000\000\000\000\000\000\000\003\176\000\000\000\203\000\138\000\000\000\183\000\182\000\147\003\164\000\000\000\000\000\153\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\002\239\000\140\000\000\000\185\000\000\002\239\000\141\000\155\000\000\000\157\000\142\000\184\000\000\000\000\000\000\000\185\000\183\002\212\003\019\003\020\003\022\000\157\002\212\003\019\006Z\003\022\002\242\000\000\000\138\002\213\000\000\002\242\000\147\000\000\002\213\000\140\000\151\000\000\000\155\000\000\000\141\000\000\000\184\000\000\000\142\000\000\000\185\000\138\003\025\000\000\000\000\000\147\000\157\003\025\002\245\000\000\000\179\001\198\000\000\002\245\000\000\000\000\000\000\000\000\002\212\000\138\000\000\000\138\000\000\000\147\000\151\000\147\000\000\000\000\000\000\000\000\002\213\000\000\000\000\000\000\000\140\000\000\000\000\002\193\000\000\000\141\002\197\000\000\000\000\000\142\002\193\000\000\000\000\002\197\000\000\000\000\000\000\002\247\000\000\000\140\000\000\001\170\002\247\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\000\002\248\000\000\000\000\000\152\000\151\002\248\000\140\000\000\000\140\000\000\000\000\000\141\000\000\000\141\000\000\000\142\000\000\000\142\000\000\000\000\001\183\000\000\000\000\000\151\002\238\000\153\000\000\000\000\002\198\000\000\000\000\000\140\002\199\002\247\000\000\002\198\000\000\000\152\000\000\002\199\000\000\000\151\000\000\000\151\002\173\000\000\000\000\003\016\000\000\000\000\000\183\000\000\000\000\000\000\000\182\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\155\000\000\000\147\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\152\000\000\000\183\000\000\000\157\000\000\000\138\000\000\000\000\000\000\000\147\000_\000a\002D\000e\000\000\000\000\000\182\000\000\000\152\000\000\000\000\000\153\000\000\000\155\000\000\002\239\000\000\000\184\002\232\000\138\0037\000\185\000\000\000\147\000\000\001\183\000\152\000\157\000\152\000\140\000\153\000\000\002\212\003\024\000\141\003\022\000\183\000g\000\142\002\212\000\000\002\242\000\000\002\234\002\213\002\234\000\000\000\140\000\153\000\000\000\153\002\213\000\141\000\000\000\000\000\183\000\142\000\000\000\155\000\000\000\000\000\000\000\184\003\025\000\151\000\000\000\185\000\000\000\000\002\245\000\000\000\140\000\157\000\183\000\000\000\183\000\141\000\155\000\000\000\000\000\142\000\184\000\151\000\138\000\138\000\185\000\000\000\147\000\147\000\000\000\000\000\157\000\000\000\000\000\000\000\155\000\000\000\155\000\000\000\184\000\000\000\184\000\000\000\185\000\000\000\185\000\151\000\000\000\000\000\157\000\000\000\157\002\247\000_\000a\002\134\000e\000\138\000\000\002\247\000\000\000\147\000\000\000\000\000\000\000\000\002\248\000\000\000\000\000\000\000\000\000\000\000\000\003\018\003B\000\140\000\140\000\000\000\000\000\000\000\141\000\141\000\152\000\000\000\142\000\142\000\000\000\000\000\000\000\000\000g\000\138\003J\000\000\000\000\000\147\003\166\003\219\000\000\002\234\000\152\000\000\000\000\000\000\000\153\000\000\000\000\000\000\001\012\000\140\000\151\000\151\000\000\000\000\000\141\000\000\003Q\002\234\000\142\000\000\000\000\000\000\000\153\000\000\000\152\000_\000a\002\140\000e\000\183\003\221\000\000\001\015\000\138\0016\000\000\000\000\000\147\000\000\000\000\000\000\002\234\000\000\000\140\000\151\000\000\000\153\000\183\000\141\000\000\000\000\000\155\000\142\000\000\000\000\000\184\000\138\000\000\000\000\000\185\000\147\000\000\000g\000\000\003\223\000\157\000\000\000\000\000\000\000\155\000\000\000\183\000\000\000\184\000\000\000\000\000\000\000\185\000\151\000\000\000\000\000\000\000\000\000\157\000\000\000\140\000\000\000\000\000\152\000\152\000\141\000\000\000\000\000\155\000\142\000\000\000\000\000\184\000\138\000\000\000\000\000\185\000\147\000\000\000\000\000\182\000\182\000\157\000\140\000\000\000\153\000\153\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\151\001\012\000\152\000\000\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\183\000\183\000\000\000\000\000\182\000\000\000\000\000\000\000\151\000\153\001\015\000\000\0016\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\152\000\155\000\155\000\142\000\000\000\184\000\184\000\000\000\000\000\185\000\185\000\000\000\000\000\183\000\138\000\157\000\157\000\182\000\147\000\000\000\000\000\000\000\153\000\140\000\000\000\000\000\000\000\000\000\141\000\151\000\000\000\000\000\142\000\000\004,\000\155\000\000\001\012\000\000\000\184\000\000\000\000\000\152\000\185\000\000\000\000\000\000\000\183\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0045\000\151\002\234\000\000\001\015\000\000\0016\000\153\000\152\000\140\000\000\000\000\000\155\000\000\000\141\000\000\000\184\000\000\000\142\000\000\000\185\000\000\000\000\000\000\000\000\002\234\000\157\000\000\000\000\000\000\000\153\000\138\000\183\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\004=\000\138\000\151\000\000\000\000\000\147\000\000\000\000\000\152\000\000\000\000\000\000\000\155\000\183\000\000\000\000\000\184\000\138\000\000\000\000\000\185\000\147\000\000\000\000\000\000\002\234\000\157\000\000\000\000\004\167\000\153\000\000\000\000\000\000\000\000\000\155\000\000\000\152\000\138\000\184\000\000\000\140\000\147\000\185\000\000\000\000\000\141\000\000\000\000\000\157\000\142\000\000\000\000\000\140\002\234\000\183\000\000\000\000\000\141\000\153\000\000\000\000\000\142\000\000\000_\000a\002\145\000e\000\000\000\140\000\000\000\000\004\179\000\000\000\141\000\000\000\151\000\155\000\142\000\000\000\152\000\184\000\000\000\000\000\183\000\185\000\000\000\000\000\151\000\000\000\140\000\157\000\000\000\000\000\000\000\141\000\000\002\234\000\000\000\142\000\000\000g\000\153\000\138\000\151\000\000\000\155\000\147\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\138\000\000\000\157\000\000\000\147\000\000\000\000\000\151\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\004\184\000\000\000\000\000\155\000\000\006\150\000\000\000\184\000\152\000\140\000\000\000\185\004\191\000\000\000\141\000\000\000\000\000\157\000\142\000\000\000\152\000\000\000\000\000\000\000\140\002\234\000\000\000\000\004\200\000\141\000\153\000\000\000\000\000\142\000\000\000\000\000\152\002\234\000\000\000\000\000\000\000\000\000\153\000\140\000\151\000\000\000\000\000\000\000\141\004\222\000\000\000\000\000\142\002\234\000\000\000\183\000\000\000\152\000\153\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\183\000\000\000\000\000\147\000\000\000\000\000\000\002\234\000\000\000\000\000\155\000\151\000\153\000\000\000\184\000\000\000\183\000\138\000\185\001\012\000\000\000\147\000\155\000\000\000\157\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\183\000\155\000\000\000\000\000\000\000\184\001\015\000\138\0016\000\185\004\227\000\147\000\000\000\000\000\140\000\157\000\000\000\000\000\152\000\141\000\138\000\000\000\155\000\142\000\147\004\234\000\184\000\000\000\000\000\000\000\185\000\000\000\140\000\152\000\000\002\234\000\157\000\141\000\000\000\000\000\153\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\151\002\234\000\000\000\152\000\000\000\000\000\153\000\000\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\183\000\000\000\151\000\142\0067\000\000\000\000\000\140\000\000\000\153\000\000\000\000\000\141\000\000\000\138\000\183\000\142\000\138\000\147\000\000\000\000\000\147\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\151\000\185\000\000\000\000\000\000\000\183\000\138\000\157\000\155\000\000\000\147\000\000\000\184\000\151\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\138\000\000\000\155\000\000\000\147\000\000\000\184\000\000\000\152\000\000\000\185\000\000\000\140\003l\003m\000\140\000\157\000\141\000\000\000\000\000\141\000\142\000\000\000\000\000\142\001K\000\152\000\000\000\000\000\000\000\153\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\001q\000\000\000\138\000\000\000\151\000\153\000\147\000\151\000\000\000\140\000\152\000\000\000\183\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\000\000\140\000\152\003n\000\151\000\000\001\138\003o\000\138\000\183\000\000\000\153\000\147\000\155\000\000\000\000\000\000\000\184\000\000\001\185\000\000\000\185\000\000\000\151\000\153\000\000\000\000\000\157\000\000\000\000\000\000\000\155\000\000\000\140\000\000\000\184\000\183\000\000\000\141\000\185\000\000\000\000\000\142\000\000\000\000\000\157\000\000\000\000\000\138\000\183\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\140\000\152\000\184\000\000\000\152\000\141\000\185\000\000\000\151\000\142\000\000\000\155\000\157\000\000\000\000\000\184\000\000\000\000\002\155\000\185\000\000\002\159\000\152\000\153\000\000\000\157\000\153\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\151\000\000\000\000\000\000\002\206\000\140\000\152\003|\000\000\000\153\000\141\000\000\000\000\000\183\000\142\000\000\000\183\000\000\000\000\003}\000\138\000\000\000\000\002\221\000\147\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\183\000\155\000\000\000\000\000\155\000\184\000\151\000\000\000\184\000\185\000\000\000\140\000\185\000\000\000\000\000\157\000\141\000\152\000\157\000\183\000\142\000\000\000\155\000\000\000\138\000\000\000\184\000\000\000\147\000\000\000\185\000\138\000\000\000\000\002\223\000\147\000\157\000\000\000\140\000\153\000\000\000\155\000\000\000\141\000\152\000\184\000\151\000\142\000\000\000\185\000\000\003\141\000\000\000\000\000\000\000\157\000\000\000\000\000\138\000\000\000\000\003v\000\147\000\000\000\183\003\170\000\153\000\000\003l\003m\000\000\000\000\000\000\000\151\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\140\000\152\000\142\000\155\000\000\000\141\000\000\000\184\000\183\000\142\000\000\000\185\000\138\003l\003m\000\000\000\147\000\157\003\181\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\140\000\151\000\000\000\155\000\000\000\141\000\000\000\184\000\151\000\142\000\140\000\185\003n\000\000\000\152\000\000\003o\000\157\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\186\000\000\000\000\000\000\000\151\000\153\000\140\000\140\000\000\003n\000\152\000\141\000\155\003o\000\000\000\142\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003\190\000\000\000\000\000\183\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\000\000\000\000\155\000\000\000\000\000\152\000\184\000\183\000\000\000\000\000\185\000\000\000\000\000\000\000\000\003\211\000\157\000\000\000\000\000\000\000\153\000\000\003\250\000\000\000\000\000\000\000\000\000\153\000\000\000\155\003|\000\000\000\152\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\003}\000\157\000\000\000\183\000\000\000\000\000\000\004\155\000\000\000\000\000\183\000\000\000\153\000\000\000\000\000\000\003|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\152\003}\000\184\000\000\000\000\000\155\000\185\000\000\000\000\000\184\000\183\000\000\000\157\000\185\000\000\000\000\000\000\005\001\000\000\000\157\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\003\141\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\183\000\000\000\000\000\000\000\000\000\000\003\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\141\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\003\174\000\000\000\157"))
+    ((16, "\001)\000\002\000\000\000\000\000\000\000\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000\000\001m\002\242\000\000\001Q\001A\000\000\000\000\000\000\000\169\000\000\001\028\001x\000\000\000\000\002\158\000\000\003\210\000\000\000\000\000\000\003\248\000\000\004\"\000\000\000\000\000\000\004\166\000\000\004\212\000\000\000\000\005\"\000\000\005P\005\176\000\000\000\000\005\218\000\000\005\252\000\000\000\000\000\000\006\002\000\000\006(\000\000\006\136\000\000\007\146\000\000\007\148\007\160\000\000\000\000\b\002\000\000\b\020\000\000\0003\003\232\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\243\000}\000\000\000\142\000\000\000\000\t\186\000\000\000\000\004\196\000\000\000\000\000\000\001h\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\218\000\000\000\000\001P\011L\000\000\000\000\r,\000\000\000\000\000\000\000\000\bd\000\000\b\168\004\024\000\000\b\210\000\000\000\000\t\022\000\000\000\000\tT\000\000\t\\\000\000\000\000\000\000\td\000\000\002b\t\194\000\160\000\000\000\000\000\000\000\000\000\000\000\000\000\152\003\230\000\000\000\170\000\000\000\000\000\000\t\196\000\000\005F\000\000\000\137\001\023\000\r\000\000\000\000\003\136\003\156\000\000\004\172\000\000\b\132\000\224*\134\n0\026\164\007\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\174*\134\000\000\000\000\rh\r\130\016V\000\000\018\128\000\000\nf\018\184\000\000\000\000\000\000\000\140\000\000\005\198%H\011\208\000\000\000\0007P\000\000\001\254\000\000\030,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006T\000\000\000\000\012b\000\000\rH\000\000\016.\000\000\016\144\000\000\016\228\000\000\019x\000\000\0210\000\000\023X\000\000\023\248\000\000\026V\000\000\031D\000\0007d\000\000\000\000\000\000\000\000\000\000\027\154\000\000 \028\000\000!\134\000\000\"\208\000\000'\252\000\000)\018\000\000>\182\000\000>\202\000\000?\018\000\000?<\000\000?\206\000\000?\232\000\000?\234\000\000@\014\000\000@\028\000\000@*\000\000\031\134\000\000\000\000!\188\000\000\000\000\000\000\000\000\003v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\0307|\000\000\001\172\000\000\000\000\002 \004\"\000\000\002n\t\200\000\000\000\000\t\220\000\000\t\228\t\254\000\000\000\000\n\"\000\000\n0\000\000\000\000\000\000\n6\000\000\n8\000\000\n:\000\000\nX\000\000\000\000\nf\000\000\nl\np\000\000\000\000\nv\000\000\n\160\000\000\000\000\000\000\n\162\000\000\n\164\000\000\n\168\000\000\n\182\000\000\n\190\n\194\000\000\000\000\n\196\000\000\n\222\000\000\000\018\004\128\000\000\n\226\000\000\n\232\bd\000\000\n\236\000\000\000\000\n\238\000\000\n\240\000\000\011\016\000\000\000\000\000\000\011\024\000\000\011\026\000\210\000\000\011$\000\000\r\228\014z\000\000\004\220\000\000\005\024\000\000\000\000\001\134\r\144\000\000\000\000\000\000\000\000\rl\018f\000\000\018\220\000\000\000\000\000\000\005\174\000\000\005\226\000\000\005L\000\000\000\000\000\000\000\000\000\000\000\000\005\210\000\000\000\000\000\228\000\000\001\n\000\000\000\000\000\000\025x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002n\007:\005\144\000\000\011B\000\000\011J\nZ\000\000\011L\000\000\000\000\000\000\006h\000\000\000\000\000\000\000\000\002`\000\000\000\000*\198\000\000\000\000\000\000\025p\000\000\000\000\000\000\000\000\000\000\000\000\021\146\000\000\000\000\024.\000\000\000\000\025:\000\000\028\190\000\000\000\000\000\000\007\244\000\000\027\132(v\000\000\000\000(\250)\134\000\000-\030\000\000.,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@D\000\000.\204\000\0007\128\000\000@\242\000\000A\000\000\000A\028\000\000A\134\000\000A\188\000\000A\216\000\000A\252\000\000B\n\000\000B\030\000\000B,\000\000Bf\000\000B\184\000\000B\224\000\000\000\000)\160\000\000\000\000\000\000)\242\000\000\000\000\000\000\000\000\000\000\000\0008\012\000\000\000\000\000\000\b\216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\023\000\000\000\0008n\000\000\000\000\000\000\002\182\001\208\000\000\000\000\000\000\000\000\r\156\000\000+\020\000\000\000\000\000\000\000\000\000\000+f\000\000\000\000\000\000+\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011N\018\186\000\000\011P\000\000\000\000\000\000\000\000\000\000\011V\000\000\000\000\002H\004n\000\000\005\030\000\000\000\000\000\000\002\174\000\000\r\194\003<\011Z\000\000\000\000\011^\000\000\011b\011t\000\000\000\000\011v\000\000\011z\000\000\000\000\000\000\011\138\000\000\011\150\000\000\011\162\000\000\011\180\000\000\000\000\011\182\000\000\011\186\011\192\000\000\000\000\011\198\000\000\011\200\000\000\000\000\000\000\011\208\000\000\011\214\000\000\011\220\000\000\011\232\000\000\012\n\012\028\000\000\000\000\012 \000\000\0120\000\000\001\166\014\156\000\000\0124\000\000\0126\015\190\000\000\0128\000\000\000\000\012B\000\000\012P\000\000\012R\000\000\000\000\000\000\012X\000\000\002\220\000\000\000\000\000\000\003\020\005\174\000\000\000\000\003\176\000\000\000\000\012Z\021.\000\000\012\\\000\000\000\000\000\000\001\014\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\n\180\026\160\000\000\012h\000\000\012l\028\022\000\000\012p\000\000\000\000\r\150\012x\000\000\000\000\012\130\000\000\012\134\012\144\000\000\000\000\012\146\000\000\012\158\000\000\000\000\000\000\012\162\000\000\012\178\000\000\012\188\000\000\012\192\000\000\000\000\012\200\000\000\012\212\012\214\000\000\000\000\012\220\000\000\012\226\000\000\000\000\000\000\012\230\000\000\r\006\000\000\r\b\000\000\r\014\000\000\r\024\r(\000\000\000\000\r,\000\000\r0\000\000\004l\017T\000\000\r8\000\000\r>\0204\000\000\rF\000\000\000\000\rJ\000\000\rT\000\000\rd\000\000\000\000\000\000\rp\000\000\rv\029\232\000\000\r~\000\000\000\000\011\170#\244\000\000\r\132\000\000\r\134$\152\000\000\r\140\000\000\000\000\000\000\000\000\000\000\000\000\000\0008\210\000\000\014`\000\000\000\000\000\00096\000\000\000\000\000B\000\000\000\000\000\000\003.\006\196\000\000\000\000/4,N\000\000\027h,\172\000\000\000\000\000\000/8\000\000\000\000-F\000\000\000\000\000\000\000(\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\000\000\000\000\000\030\212\000\000\000\000 \000\000\000\t\236\000\000\000\000\000\000\t\216\000\000#h\000\000\000\0009`\000\000\000\000\000\000\011\194\000\000\000\000\000\000\000\000\000\000\000\0009\196\000\0009\200\000\000\000\000\000\000-h\026\002\000\000\000\000\000\000\000\000\000\000/\160\000\000\000\000\000\000\000\000\r0\000\000\000\000\000\000\000\000\011\134\000\000\015\218\000\000\000\222\000\000\000\000\000\000CF\000\000Cf\000\000C\204\000\000C\236\000\000C\238\000\000C\250\000\000D\028\000\000DT\000\000D\162\000\000D\196\000\000E\n\000\000E\014\000\000E\030\000\000E*\000\000\000\000\000\0000\n\000\000\000\000\002V0v\000\000\000\0001\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\000\000\000\000\000\000\000\000\003\130\000\000\b.\000\000\000\000\012\154\000\000\000\000\000\0000\142\000\000\000\000\000\000\000\000\000\000\016\250\000\000\000\000\000\000\001\023\000\0001b\000\000\000\000\000\000\000\000\004\182\016\152\000\0001\132\000\000\000\000\000\000\000\000\020n\000\0001\196\000\000\000\000\000\000\000\000\002\148\000\000\007Z\000\000 \024-v\000\000\000\000\000\0009\228\000\000\000\000\000\000\003\196\000\000:\014\000\000\000\000\000\000:\182\000\000\000\000\000\230\000\000\025*\000!.\016\000\000\000\000\000\000\004d\007\130\000\000\000\000\000\000\000\000\000\000\000\000&\n\000\000\000\000-\014\000\000\000\000/\232\000\000\007\190\000\000\000\000\000\000\r\134\000\000#\234\000\000\000\000;\014\000\000\000\000\000\000\014\002\000\000\000\000\000\000\000\000\000\000\000\000><\000\000>V\000\000\000\000\000\000\005Z\000\000\000\000\000\000\000\000\000\000\000\000E\164\000\0001\224\000\000;\156\000\000E\196\000\000E\212\000\000E\228\000\000F\022\000\000F>\000\000F~\000\000F\230\000\000F\244\000\000G\030\000\000G\142\000\000G\156\000\000G\196\000\000G\244\000\000\000\000\004\130\000\000\005f\000\000\r\252\0026\b\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\182\000\000\019\"\007&\014F\000\000\000\000\000\0002P\000\0002\152\000\0002\232\000\000%\172&\168\000\145\t \000\000\000\142\012\138\000\000\000\000\000\000\r~\000\000\000\000\015\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000;\252\000\000\000\000\000\000\000\000\000\000\000\000$~\000\000&\208\000\000\000\000\000\000\000\000\015~\000\000\000\000\007\234\000\000\000\000\000\000\026\140\001P\000\000\027\026\000\000\000\000\020n\000\000\002\170\000\000\000\000\016\016\000\000\027\156\000\000\000\000$\150\000\000\000\000\000\000\n\020\000\000\000\000\011\168\000\000\000\000#R\000\000\000\000\000\0003$\000\000\000\000\000\000-~\000\000\000\000\000\000\000\0003\180\000\000\000\000\000\000\000\000\004\204\021\202\000\0003\204\000\000\000\000\000\000\000\000\000\000\000\000\016|\000\000\000\000\003J\000\000\016\164\000\000\n\020\000\000\000\000\005~*@\000\000\005\250\000\000\000\000\000\000\000\000\005Z\000\000'\014\000\000\028\152\005\192\029\026\000\000\0066\000\000\017\246\000\000\018x\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\250\029T\003\224\030l\000\000\000\000\000\000\005\204\000\000\018\160\000\000\006\"\000\000\000\000\n\166\003\188\031\000\000\000\005\226\000\000\020\030\031\146\000\000\000\000\020\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006.\tT\000\000\006\184\000\000\000\000\000\000\000\000\004\228\000\000\020\200\000\000\000\000\000\000!\234<\000\000\000\000\000\000\000\"\198\000\000\000\000\000\000\000\000\000\000\003\180\014\190\000\000\000\0004@\000\000\000\000\004\"\000\000\015\024\000\000\000\000/\\\000\000\000\000\000\0004b\000\000\000\000\000\000\000\0004z\000\000\000\000\007\176\017\188\000\000\000\0004\210\000\000\000\000\006\234#\210\000\000\018D\000\000\000\0005z\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\194\000\000\000\000\000\000\003\226\000\000\000\000\018\166\000\000\000\000/\218\000\000\000\000\000\0005\164\000\000\000\000\000\000\000\00062\000\000\000\000\007\200\019N\000\000\000\0006\138\000\000\000\000\007\014\000\000\000\000\000\000\000\000\005Z\003\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\030\000\000\021J\000\000\000\000\000\000<d\000\000\t\142\000\000\000\000\000\000\005\006\000\000\001\232\000\000\000\000\005\000\022F\000\000\022\200\000\000\000\000\000\000\006\192\000\000<\142\007\030<\242\000\000=V\000\000\000\000\000\000\007\242\000\000=\174\b\012\000\000\000\000'\220\b*'\244\000\000(\218\000\000\000\000\000\000\b8\000\000=\234\bZ\000\000\000\000\001\016\bb\b\002\000\000\b\166\000\000\000\000\000\000\tV\000\000=\238\tx\000\000\000\000\000\000\006~\000\000\000\000\000\000\020\004\000\000\000\000\000\000\000\000\000\000\000\000\007\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\158\000\000\000\000\0038\000\000\000\000\014h\000\000\000\000\000\000\000\000\000\000\005 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014v\000\000\000\000\014P\000\000\004\210\000\000\000\000\0024\000\000\000\197\r\240\002\\\000\000\000\000\006\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\t\214\000\000\000\000\000\230\000\000\000\000\000\000\014r\000\000\000\000\019j\023\020\000\000\000\000\000\000\000\000\025\028\025n\b\024\000\000\000\000\000\000\025\170\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\003\028\000\000\000\000\r\182\000\000\025\246\000\000\000\000\000\000\t\178\000\000\000\000\001\128\000\000\000k\000\000\000\000\000\000\000\000\007\000\026*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021H\028\218\000\000\000\000\000\000\000\000\030~ 4\011|\000\000 \196\000\000\000\000\000\000\000\000\000\000\000\000\tr\000\000\014\152\000\000\000\000\000\000\003\250\000\000\000\006\000\000\000\000\000\000\028Z\000\000\000\000!\158\"\n\011\166\000\000\".\000\000\000\000\000\000\000\000\000\000\000\000\004D\r\208\000\000\r\212\000\000\"h\015\180\000\000\"\238\000\000\000\000\000\000\000\000\r\214\000\000\014Z\000\000\000\000\000\000\000\028\000\000\000<\014\030\002\250\000\000\000\000\000\000\0042\005\250\000\000\000\000\000\000\000\000\004z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000U\000\000\000\000\019Z\000\000\002\168\014\178\004.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\226\000\000\000\000\028\186#\228\000\000\000\000\000\000\000\000$\002\000\000\000\000\0006\000\000\007\138\012X\000\000\000\000\000\000\016\188\000\000\000\000\000\000\000\000\000\000\000%\017\002\000\000\000\000\020\148\000\000\000\000\000\000\000\000\015\148\000\000\000\000\007\240\000\000\000\000\000\000\000U\000\000\000\000\000\160\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\162\000\000\000\000\000\000\005\186\000\000\000\000\000\000\000\000\000\000\000\b\007\240\b*\012\198\000\000\000\005\0030\007\246\b\130\000\000\000\000\000\000\000\000\000\000\000\000\t\026\022\240\000\000 \152\b\202\000\000\000\000\nF\000\000\024n\000\000.t\000\000\000\000\t\130\023r\000\000!*\000\000\t\186!\190\000\000\000\000\000\000\002\162\003\130\000\000\000\000\000\000\000\000\b\b\000\000\b\136\000v\000\000\000\000\006~\006\224\000\000\015\220\000\000\000\000\005\174\000\000\005\226\000\000\000\000\017\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\012\000\000\000\000\000\000\n\214\000\000\024\240\000\000\n\020\014r\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\0006\182\000\000\006d\000\000\000\000\000\000\000\000\000\000\001\180\000\000\011F\bx\011\200\000\000\002p\r@\000\000\t\212\000\000\004\028\000\000\004\158\000\000\005,\000\000\n\020\000\000\000\000\000\000\000\000\000\000\006J\000\000\t\252\000\000\006\216\000\000\n\020\014\224\000\000\b@\000\000\014\206\b\016\000\000\t\020\000\000\t\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\182\000\000\011\026\000\000\000\000\000\000\r\154\000\000\000\000\000\000\000\000\000\000\014\248\r\186\000\000\000\000\r\238\000\000\000\000\r\190\t\"\015&\000\000\0154\000\000\000\000\t\206\t&\000\000\r\252\000\000\000\000\014<\000\000\000\000\000\000\000\000\000\000\000\000\015 \r\224\000\000\000\000\000\000\014\020\r\228\t\140\n\012\014\"\014v\000\000\000\000\014*\n<\n(\014V\014\144\000\000\000\000\n\156\015t\000\000\015x\000\000\015\154\000\000\000\000\015|\000\000\000\000\015\132\000\000\000\000\000\000\000\000\015\134\000\000\015\186\000\000\000\000\000\000\015\192\000\000\000\000\000\000\015\194\000\000\000\000\000\000"), (16, "\0047\005\250\004J\000S\000S\007\005\006F\006\226\000S\000Z\000\209\000\025\006\133\006\134\000S\000\213\002\221\007\005\000\153\000\024\0047\002E\004J\003U\005\020\004\252\000\r\002\214\002\221\007X\006\227\006\226\006\230\006*\006+\007Y\003x\007;\000\153\002^\003y\004\167\006\135\007Z\003\220\004\205\000\\\000\016\000\017\002\216\007\005\000k\006\136\000\004\006\227\006G\006\230\006*\006+\000\007\004\206\002\221\0049\006\220\006\202\000S\004:\000\153\006\133\006\134\000k\000T\003U\000V\004\158\000\203\006\226\000\005\000V\000\211\004\206\002\217\0049\000\005\000V\000k\004:\006\200\006\203\006*\006+\002F\002\\\000\153\007\r\000\028\000k\007\015\006\165\006\227\003z\006\230\006*\006+\003{\007\031\007 \006,\006\136\004\002\000\153\002g\000\018\000\217\000\153\000\156\000\157\002i\000\161\000\153\000\156\000\157\000\158\000\161\005C\006\029\004O\006\221\000\209\001.\004\183\006,\007\018\000\213\000\017\000V\007\\\006\222\006\223\000\153\000\156\000\157\001\133\000\161\007\023\000\153\000S\000S\006\027\001\173\004\183\004\168\000\163\006\030\006*\006+\000\163\002\214\007]\004\159\000W\000\163\007h\006,\004\185\000\164\006Q\006k\004\169\007t\000\153\000Y\005\178\000~\004G\003U\006,\007\b\004\190\002\218\002_\000\163\000\218\004\207\004\185\004H\005E\005\"\000k\006O\006*\006+\000\218\000\203\004G\000\219\004\202\000\211\004\190\005\016\005\183\000Z\000\218\004\207\007^\004H\007?\001s\004\203\004\t\003\136\002\217\004\002\007_\007$\007%\000V\004\158\000\218\007}\000\255\003\137\000\164\004\193\006\241\004\253\000\220\005\028\006,\000\153\004\215\000\217\004\207\0053\0047\007)\004J\003\221\000[\002\232\006z\004\244\004S\004\193\000S\004\210\007\127\0062\007\021\007\151\004\215\002\232\000\153\007\129\000\252\002I\000k\007Z\007\152\004\205\004T\004\244\004S\006x\006,\004U\006{\006*\006+\004V\000\b\000\209\0013\000\222\005\196\004W\000\215\000\253\000\153\004\215\004T\000\254\004\220\003U\002\232\004U\003\168\000k\000\224\004V\004\244\007,\001\172\007\011\004\206\004W\0049\001\152\003\139\0047\004:\004J\004\162\000\206\001\162\007\171\007k\001\136\007l\0015\000\218\001\174\001\136\000\219\000V\003x\0019\000\153\001\155\003y\004\002\000 \003U\005\020\004\252\001\139\004\165\006;\0047\001\139\004J\000k\001\136\001\186\001\139\004\207\000\203\001\186\0010\000\153\000\211\006,\001\186\0013\000\220\001\187\000\153\003\167\007\137\007\138\0069\007Z\007\157\004\252\001\139\006?\006<\006*\006+\004\206\006l\0049\001\186\001\226\004\183\004:\001\238\000\031\0019\004\209\007\172\000\153\000\252\006\236\000\217\003\160\0076\005\237\000l\003z\0014\004\203\004\215\003{\006o\004\220\000v\001\199\004\206\005\179\0049\000\222\002H\004\244\004:\000\253\002\219\000m\004\185\000\254\000\153\000c\001\173\001\204\007\168\006\237\000\224\006\238\004G\002\177\005\181\000\153\004\190\003V\007\142\001\163\000\218\004\207\007\173\004H\005\197\001\173\000y\000k\005#\004O\001\228\007_\001.\004\183\001\229\006,\000\153\007\175\006?\001\204\006\239\002\211\005\181\001\181\001\206\000\153\001\156\004\207\001\157\003\162\006\240\007;\002\221\005\002\001.\006@\0019\000\218\006n\006&\000\219\004\193\004\183\004\210\007\177\004\203\002F\004\185\004\215\002r\001\244\007\179\000\200\002[\007,\006'\001\205\004G\003\164\004\244\004S\004\190\000\200\002W\002t\000\218\004\207\003V\004H\005\196\005%\000\220\007;\003\136\004\215\003\207\004\185\004\220\004T\004z\004{\000\218\005\016\004U\003\137\004\244\004G\004V\003W\002\195\004\190\005\192\000\153\004W\000\218\004\207\007\163\004H\000\"\000\221\002u\002\197\0055\000S\002\201\007_\004\193\002a\004\253\000S\005\028\004\191\000k\004\215\006@\002t\0053\000\203\000\222\003\167\005(\000\204\000k\001\"\004\244\004S\0047\000\203\004J\000\218\0077\000\204\001\245\000\224\005_\004\193\003\210\004\253\0016\007\165\006\163\002\203\004\215\004T\000\153\007\167\0019\000\153\004U\007Z\007\157\004\252\004V\004\244\004S\000\217\006C\000S\004W\000S\000S\003\169\0047\006\161\0048\000\217\002G\006\164\006*\006+\007[\000\004\004T\000V\004z\004{\003\170\004U\003\250\000V\006\199\004V\002\201\005?\000S\000\153\004\206\004W\0049\000S\001\248\0047\004:\004J\005\194\000\005\000z\006\213\001\226\002\200\007>\001\238\007\162\006\200\006\203\006*\006+\0019\001\249\000\153\002m\006\216\001\204\001\250\007Z\007\157\004\252\001\251\0019\002\202\000z\001\187\000k\001\252\0049\005\184\000k\000V\004:\000V\000V\006l\001\187\006\213\000\218\006\206\000S\000\219\005N\0019\003\224\007?\006,\003\238\000\218\006\224\0068\000\219\003\250\001\206\004\203\004\206\000$\0049\000V\002\232\004\183\004:\000k\000V\001)\001\228\0047\003\251\004J\001\229\003\243\007\164\000\220\0069\000S\000(\000z\000\153\004\245\006<\006*\006+\000\220\006,\000\153\003\244\000S\006)\005*\007Z\007\157\004\252\004z\004{\004\185\004\233\000*\000\153\000\156\000\162\000\153\000\161\002<\006'\004G\001\244\000o\000{\004\190\003\248\000V\005e\000\218\004\207\007\163\004H\000S\000r\003\243\005v\001\198\000c\006\219\007_\004}\004\183\004\206\003\238\0049\004\191\000o\000\128\004:\005\156\000\153\000\156\000\157\001\189\000\161\000\163\004G\000r\007\166\001\226\000V\000c\001\238\006\225\000\218\000\153\003\243\004H\003\"\004\193\006,\004\253\000V\007\165\006\214\004\185\004\215\000\153\000.\007\167\005\022\005q\0018\000\153\001\152\004G\005(\004\244\004S\004\190\0019\001\162\000\163\000\218\004\207\007\163\004H\0055\000o\001p\000\218\0000\000V\001\245\007_\001\155\004T\000S\006\233\000r\004\191\004U\004\183\000c\005\204\004V\002R\006\243\0013\000k\002o\004W\001\228\006\212\005\195\0047\001\229\004J\0019\005\206\000\209\005\011\000a\000S\004\193\000\210\004\253\002?\007\165\005\022\0003\004\215\004x\000\153\007\167\006\213\004\185\000c\007Z\007\157\004\252\001\152\004\244\004S\004|\004R\004G\002%\001\162\000\164\004\190\001\248\001\244\0007\000\218\004\207\007\163\004H\005\r\000\153\007.\004T\001\155\007/\001\184\007_\004U\000V\0058\001\249\004V\004\191\002\199\006H\001\250\004\206\004W\0049\001\251\000\164\000k\004:\0073\005\011\001\252\000\203\0047\0050\004J\000\211\000S\007\174\001\163\000V\001\142\004\193\001\136\004\253\002q\007\165\007\145\0006\004\215\007\146\000\153\007\167\0019\0050\000\153\007Z\007\157\004\252\005H\004\244\004S\003W\001\164\005\194\001\139\001\156\005\012\001\157\0009\000\217\0052\0047\001\186\004J\007p\0019\006B\000\218\004T\001\136\001\245\005\030\000S\004U\007,\000;\005-\004V\000?\001\192\0051\004\183\004\206\004W\0049\005J\005\b\0047\004:\004J\001\171\001\139\006\214\002&\0022\001\163\000V\000A\007\178\001\186\006\132\006*\006+\007\150\001\246\000\153\002\200\0047\0060\004J\003U\005\020\004\252\007h\0019\004\185\001\166\005H\001\247\001\169\007o\003\160\001\156\0049\001\157\004G\0019\004:\001\248\004\190\005\025\000S\0019\000\218\004\207\007\163\004H\0047\000\218\0048\005\168\000\219\000V\0061\007_\000C\001\249\004\206\001\187\0049\004\191\001\250\004\183\004:\005I\001\251\004z\004{\005\168\007,\001\187\001\252\006@\000\209\005\207\002\029\006\217\000k\000\213\0049\006\024\006\025\000\220\004:\004\193\006,\004\253\005\170\007\165\005\206\000\153\004\215\005\014\000\164\007\167\0076\004\185\004O\007;\000\153\005w\004\183\004\244\004S\003U\005\169\004G\000k\001\200\0049\004\190\000V\005\162\004:\000\218\004\207\007\163\004H\007k\000\153\007l\004T\005\214\007s\0076\007_\004U\004\183\0019\000\226\004V\004\191\007\027\000k\000S\004\185\004W\005\216\000\203\000\164\000\227\004\002\000\211\004O\000S\004G\000\200\002Q\007\204\004\190\006a\006*\006+\000\218\003X\004\193\004H\004\253\007\241\007\165\0062\004\185\004\215\000S\007\154\007\167\000\153\007k\007;\007l\005\016\004G\007\242\004\244\004S\004\190\000\217\0019\003\222\000\218\004\207\000\153\004H\005\187\005\"\0047\003U\004J\000E\000I\000S\004G\004T\007G\004\193\000H\004\191\004U\001\198\000\218\001,\004V\004H\000\153\000V\004\203\000k\004W\003U\005\020\004\252\000\203\004\197\004S\000V\000\204\004Q\007\169\004z\004{\004\193\004G\004\253\004\002\005\028\006,\000z\004\215\005\217\000\218\004\220\004T\004H\000V\006b\007h\004U\007\029\004\244\004S\004V\005\220\007u\005\216\000K\004\206\004W\0049\000S\000\217\0047\004:\004J\000M\005\228\000\218\005\216\004T\000\219\004S\000V\005\231\004U\007\226\004\207\007A\004V\007=\000\153\005\230\004z\004{\004W\003U\005\020\004\252\005\230\004T\007a\0047\005\234\004J\004U\0010\000S\005\242\004V\000\005\007\196\000\220\007\196\001\231\004W\000}\007@\005\216\006\160\000\153\004z\004{\005\244\007|\003U\005\020\004\252\0078\005\239\004I\007\250\007\207\004\206\004\215\0049\0019\004\220\004\183\004:\000\252\000V\006\161\000\164\004\166\004\244\006\164\006*\006+\003x\000\131\000\218\006w\003y\000\219\000o\001u\0078\003\227\000\222\007<\007\154\004\206\000\253\0049\0019\000r\000\254\004:\004\207\000c\000\130\004\185\006N\000\224\006x\007v\004\158\006{\006*\006+\007\154\004G\000\209\000S\000\220\004\190\007C\000\213\007\224\000\218\004\207\007;\004H\005 \005\"\006O\006*\006+\000S\007w\000\153\007k\004\183\007l\000\133\007J\004\191\003W\000k\000\209\005\241\0019\003z\007\160\000\210\004\215\003{\004\203\004\220\000n\006,\000\153\000\156\000\157\001\194\000\161\004\244\002.\000S\005\245\004\193\004\183\004\253\007\176\005\028\000\136\004\185\004\215\007Q\000\138\004\220\007\245\000k\000\142\005\244\005\248\004G\000\203\004\244\004S\004\190\000\211\006,\000V\000\218\004\207\002\226\004H\005G\005\"\005\216\004\159\007\203\000\163\007\197\004\185\007V\004T\000V\000k\006,\004\191\004U\007\227\000\203\004G\004V\007~\000\211\004\190\003W\b\026\004W\000\218\004\207\000\217\004H\005\191\005\"\004\203\002l\000\160\0047\001;\004J\004\193\b\027\004\253\000V\005\028\004\191\000S\004\215\001>\007\246\004\220\007\235\001B\000S\002I\000\153\001.\000\217\004\244\004S\003U\005\020\004\252\007\253\007\196\001A\0047\003\136\004J\004\193\000o\004\253\000S\005\028\007\252\000\218\004\215\004T\003\137\004\220\006\166\000r\004U\001D\000\153\000c\004V\004\244\004S\007Z\001F\004\205\004W\001J\001L\001N\007\234\004\206\003x\0049\003}\001\204\003y\004:\007\235\007?\004T\004\233\000q\000\218\001P\004U\000\219\006\137\007\196\004V\000V\001S\000\200\002;\001W\004W\001V\000V\003=\001Y\004\206\007\234\0049\000S\003\243\0047\004:\004J\006R\000\209\000\218\0010\001\206\000\219\000\210\007\234\000V\000\220\007\170\004\238\001[\001_\001a\000\153\001c\006a\006*\006+\007Z\003\138\004\205\001e\003\160\001\136\0016\001i\003z\001h\001k\000u\003{\004\183\0019\004\242\000\220\000\252\006a\006*\006+\000S\000S\001m\000k\001r\004\233\001\139\001x\000\203\001w\001z\001|\000\204\000S\001\186\000\222\004\206\007\235\0049\000\253\000k\004\183\004:\000\254\000V\000\203\004\185\001~\003\243\000\211\000\224\001\130\001\203\000\209\007\155\001\198\004G\001\135\000\210\000o\004\190\007\199\0024\004\238\000\218\004\207\000\217\004H\007z\005\"\000r\006,\001\191\003\162\000c\004\185\001\197\001\196\002f\002e\006\148\004\191\002k\000\217\002y\004G\002|\004\242\002\128\004\190\000V\000V\006,\000\218\004\207\007\156\004H\002\127\002\130\000\153\002\132\006\174\003\164\000V\007_\004\193\004\183\004\253\002\136\005\028\007\159\007\201\004\215\000k\002\138\004\220\000o\003\136\000\203\003\199\002\140\000\153\000\211\004\244\004S\000\218\0076\000r\003\137\002\142\002\145\000c\002\149\000S\004\193\002\148\004\210\007\161\002\151\002\153\004\185\004\215\004T\002\157\007\167\000\218\002\159\004U\000\219\002\161\004G\004V\004\244\004S\004\190\002\163\000\217\004W\000\218\004\207\007\156\004H\000\218\003\167\0047\000\219\004J\001\152\000\209\007_\004\157\004T\002\167\000\210\001\162\007\159\004U\000\164\001\198\000\220\004V\002\166\000\153\002\169\000\200\0028\004W\007Z\001\155\004\205\003\134\002\171\004\224\002\176\002\182\002\181\000\220\000\200\0027\004\193\002\184\004\210\007\161\004\158\000\153\003\169\004\215\002\186\002\188\007\167\000\209\002\192\002\209\002\208\000S\000\210\000S\004\244\004S\002\225\003\170\002\231\000\153\002\230\004\206\0038\0049\002\234\000k\0047\004:\004J\002\237\000\203\002\241\000\218\004T\000\211\000\219\002\240\002\243\004U\007\158\001+\000k\004V\002\245\000\153\002\249\000\203\000x\004W\003U\000\204\004\205\000S\002\251\000k\0047\000S\004J\002\253\000\203\002\255\000\153\000\156\000\204\003\002\001\137\000\220\000k\000\217\001\176\003\006\003\005\000\203\000\153\003\b\006\226\000\211\003\n\003U\003\014\004\205\000V\001\163\000V\000\217\004\159\004\206\001\152\0049\004\161\001\155\004\183\004:\0077\001\180\003\016\003\018\000\217\006\227\003\020\006\230\006*\006+\000\163\003\024\0047\003\230\004J\001\155\001\156\000\217\001\157\003\023\000\226\003\026\004\206\003\028\0049\000S\0019\003!\004:\004\158\003'\000\229\004\185\000V\003&\005\199\003)\004\176\005\198\005B\0078\003+\004G\000\153\000\156\001\138\004\190\000\161\0019\003-\000\218\004\207\007\156\004H\000\218\0031\006N\000\219\0037\000S\000o\007_\0036\004\183\005@\003<\003B\007\159\005B\003A\000\218\000r\003\160\000\219\0049\000c\006#\003\159\004:\006O\006*\006+\006,\000\218\006L\000\163\000\219\0067\000\220\006E\006q\004\193\004\183\004\210\007\161\000V\000\218\004\185\004\215\000\219\006\159\007\167\000S\006\184\000\220\006\186\006\196\004G\006\198\004\244\004S\004\190\006\208\006\235\004\159\000\218\004\207\000\220\004H\000S\004<\001\156\007\135\001\157\007\181\001\179\004\185\007\185\004T\000V\000\220\0019\0057\004U\007\205\000\226\004G\004V\000z\001\156\004\190\001\157\004\183\004W\000\218\004\207\000\231\004H\007\211\0019\007\212\007\217\007\218\007\223\006,\0047\004\193\004J\004\210\0059\007\222\0057\007\230\004\215\000S\004\198\004\220\007\232\007\238\007\239\007\243\007\244\000V\000\153\004\244\004S\004\185\002M\003U\004\200\004\205\007\247\004E\001\139\001\202\004\193\004G\004\210\0059\000V\004\190\001\186\004\215\004T\000\218\004\220\007\248\004H\004U\006\246\006\199\003x\004V\004\244\004S\003y\007\251\007\254\004W\007\255\b\016\004\191\b\005\b\014\b\n\004\206\004\141\0049\b\r\b\022\000\153\004:\004T\006\200\006\203\006*\006+\004U\0047\b\020\004J\004V\b\024\b\029\000V\004\193\001\136\004W\000\000\004\212\006a\006*\006+\000\209\000o\002\174\000\153\000S\000\210\000\000\000\000\003U\004\213\004\252\004S\000r\000\000\000\000\001\139\000c\000\000\003\160\000\000\000\200\0026\003z\001\186\000\000\000\000\003{\000\000\000\000\004T\006U\000\000\000\000\000\164\004U\000\000\000S\000\000\004V\0047\000z\004J\004\183\000\000\004W\004\206\007h\0049\005`\000\209\004\255\004:\000\000\007j\000\210\000\000\006,\000\153\000\000\0047\000k\004J\003U\004\213\004\252\000\203\000\000\000\000\000\000\000\211\005\004\000\000\006,\004\164\000V\000\000\004\185\000\153\000\164\000\000\000k\006\189\003U\004\213\004\252\000\203\004G\000\000\003\162\000\204\004\190\000\209\003W\005h\000\218\004\207\000\210\004H\000\000\004\206\000\000\0049\000\000\000\217\006\226\004:\004\158\000\000\000\000\000k\000\000\005\001\000\000\000S\000\203\004\183\000\000\003\164\000\211\004\206\000\153\0049\000\000\000\217\000\000\004:\000\000\006\227\000\000\006\230\006*\006+\003\136\000\000\003\166\004\193\000\000\004\210\005\003\006\226\000\218\000\000\004\215\003\137\000\000\005\005\000o\002\179\000\000\004\185\000\000\000k\000\217\004\244\004S\000\000\000\203\000r\000\000\004G\000\211\000c\006\227\004\190\006\230\006*\006+\000\218\004\207\004\183\004H\000\000\004T\000\000\007\024\000\000\000\000\004U\003\167\000\000\000\000\004V\000\218\000V\004\191\000\219\000\000\004W\001\152\004\183\007k\004\159\007l\000\000\000\217\001\162\000\000\000\000\000\000\000\153\0019\000\000\000\218\004\185\006,\000\219\000\000\000S\004\193\001\155\004\253\000\000\004\254\004G\000\000\004\215\000\220\004\190\004\220\000\000\003\169\000\218\004\207\004\185\004H\000\000\004\244\004S\0047\000\000\004J\000\218\000\000\004G\000\219\003\170\000\220\004\190\004\191\006,\000\000\000\218\004\207\000z\004H\004T\000\153\000\000\000\000\000\000\004U\003U\005\020\004\252\004V\000\000\000\000\000\000\004\191\000S\004W\000\000\004\193\000\226\004\253\000\220\004\254\000\000\007h\004\215\000\164\000\000\004\220\000\218\000\233\007r\000\219\000V\000\000\000\000\004\244\004S\004\193\000\000\004\253\003\252\004\254\000\000\004\206\004\215\0049\000\000\004\220\0047\004:\004J\000\000\000\200\0025\004T\004\244\004S\000\153\000\000\004U\000\000\001\163\000\220\004V\004\000\000\000\000\153\000\226\0047\004W\004J\003U\005\020\004\252\004T\000\000\007\t\000\000\000\235\004U\000\200\000\202\000S\004V\000V\003\240\000\153\000\000\001\156\004W\001\157\003U\005\020\004\252\000\000\000\000\000\000\000\000\0019\000\153\000\156\000\157\002c\000\161\000o\003\031\000\000\000\000\004\206\000\226\0049\007\016\000k\004\183\004:\000r\000\153\000\203\000\000\000c\000\237\000\204\000\000\000\000\000\000\001\152\000\000\000\000\004\206\000\000\0049\000S\001\175\0047\004:\004J\000\000\000\000\000\000\000\000\000k\000\163\000\000\000\000\000\000\000\203\001\155\004\185\000\000\000\204\000\000\000\000\000V\000\000\000\000\000\217\000\000\004G\004\176\005\017\000\000\004\190\000\000\000\000\000\000\000\218\004\207\007k\004H\007l\005\027\000\164\000\000\000\000\000\000\000\000\000\209\0019\004\183\000\000\000\000\000\210\004\191\000\217\001\152\000\000\005x\000\000\000\000\000\000\000\000\001\154\000\000\003\160\006\229\0049\000\000\000\000\004\183\004:\000\000\000V\000\000\000\000\006N\001\155\004\193\000\000\004\253\000\000\005\028\000\000\004\185\004\215\000\000\000S\004\220\006\227\000\000\006\230\006*\006+\004G\000\000\004\244\004S\004\190\006O\006*\006+\000\218\004\207\004\185\004H\000\218\005\029\000k\000\219\000\000\000\164\000\000\000\203\004G\004T\000\000\000\211\004\190\004\191\004U\000\000\000\218\004\207\004V\004H\005\129\005/\000\000\000\000\004W\0047\000\000\004J\000\218\004\183\000\000\000\219\000\000\004\191\000\220\000\000\001\156\004\193\001\157\004\253\000\000\005\028\006\026\000\153\004\215\000\217\0019\004\220\003U\005:\004\252\000V\000\000\000\000\000\164\004\244\004S\004\193\001\136\004\253\006,\005\028\000\220\004\185\004\215\006\027\000\000\004\220\006,\005\147\006\030\006*\006+\004G\004T\004\244\004S\004\190\000\000\004U\001\139\000\218\000\000\004V\004H\004\206\000\000\0049\001\186\004W\0047\004:\004J\000\000\004T\001\156\000S\001\157\004\191\004U\000\000\000\000\000\000\004V\003W\0019\000\000\000\000\000\153\004W\0047\000\000\004J\003U\005:\004\252\000\000\006\226\000\000\000\000\000\000\005P\004\193\000\000\000\218\000S\000\000\000\219\000\153\005<\000\000\000\000\000z\003U\004\213\004\252\000\000\000\000\000\164\000\000\006\227\004S\006\230\006*\006+\006,\000\000\000\000\000\000\000\000\004\206\000\000\0049\005\163\000\000\004\183\004:\000\000\000\220\004T\000\000\000\000\000\209\000\000\004U\000\000\000V\000\210\004V\000\000\004\206\000\000\0049\000\000\004W\0047\004:\004J\000\000\000\153\000\156\000\157\002\206\000\161\000\000\000\000\000\000\006[\000\000\004\185\000\000\000\000\000\000\000\153\005>\000V\000\000\000\000\003U\004G\004\205\000\000\000\000\004\190\000\000\000\226\006w\000\218\004\207\000\000\004H\000\200\001\219\000\000\000\000\000\000\000\239\006,\000\000\000\000\004\183\000\163\000k\000\000\004\191\000\000\000\000\000\203\000\000\006x\000\000\000\211\006{\006*\006+\004\206\000\000\0049\000o\003$\004\183\004:\000\000\000\000\000\000\000\000\000\000\000\000\004\193\000r\004\253\000\000\005=\000c\004\185\004\215\000\000\000\000\004\220\006-\000\000\000\000\000\000\000\000\004G\000\217\004\244\004S\004\190\000\000\000\000\000k\000\218\004\207\004\185\004H\000\203\005\185\003W\000\000\000\204\005B\000\164\000\000\004G\004T\000\000\000\000\004\190\004\191\004U\000\000\000\218\004\207\004V\004H\000\000\004\003\000\000\000S\004W\0047\000\000\004J\000\000\004\183\000\000\006,\000\000\004\191\000\000\000\000\000\000\004\193\000\217\004\253\000\000\005=\000\000\000\153\004\215\004\007\000\000\004\220\003U\000\000\004\205\000\000\000\000\000\000\000\000\004\244\004S\004\193\007\019\004\253\000\000\004\254\000\000\004\185\004\215\000\000\000\000\004\220\000\218\000\000\000\000\000\219\000\000\004G\004T\004\244\004S\004\190\000\000\004U\000\000\000\218\004\207\004V\004H\004\206\000\000\0049\000\000\004W\0047\004:\004J\000V\004T\000\000\001\136\000\000\0057\004U\000\000\000\000\000\220\004V\000\000\000\000\000\000\000\000\000\153\004W\0047\000\000\004J\003U\000\000\004\205\000\000\000\218\001\139\000\000\000\219\000\000\004\193\000\000\004\210\0059\001\186\005\201\000\153\004\215\000\000\005B\004\220\003U\000\000\004\205\000\000\000\000\000\000\000\000\004\244\004S\000\000\000\000\000\000\000\000\000\000\006\143\000\000\000\226\004\206\000\220\0049\000\000\000\000\004\183\004:\000\000\000\000\004T\000\241\000\000\000\209\006N\004U\000\000\000\000\000\210\004V\000\000\004\206\000\000\0049\000\000\004W\0047\004:\004J\000\000\000\000\000\164\000\000\000\000\000\000\000\000\000\000\006O\006*\006+\004\185\000\000\000\000\005\203\000\153\000\000\004\246\005B\000\000\003U\004G\004\205\000\000\000\000\004\190\000\000\000\000\000\000\000\218\004\207\000\000\004H\000\000\007D\000\000\000\000\000\000\005B\000\000\000\000\004\250\004\183\000\000\000k\000\000\0057\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\004\206\000\000\0049\000\000\000\000\004\183\004:\000\209\000\000\000\000\000\000\000\000\000\210\004\193\000\000\004\210\0059\000\000\000\000\004\185\004\215\000\000\000\000\004\220\000\000\000\000\006,\000\000\000\000\004G\000\217\004\244\004S\004\190\000\200\001\222\000\000\000\218\004\207\004\185\004H\000\000\007R\000\000\000\000\000\000\005B\000\000\000\000\004G\004T\000\000\000\000\004\190\0057\004U\000\000\000\218\004\207\004V\004H\000\000\000\000\000\000\000\000\004W\0047\000k\004J\000\000\004\183\000\000\000\203\000\000\0057\000\000\000\211\007L\004\193\000\000\004\210\0059\000\000\000\000\000\153\004\215\000\000\000\000\004\220\003U\004\213\004\252\000\000\000\000\000k\000\000\004\244\004S\004\193\000\203\004\210\0059\000\000\000\204\004\185\004\215\000\000\000\000\004\220\000\218\000\217\000\000\000\219\000\000\004G\004T\004\244\004S\004\190\000\000\004U\000\000\000\218\004\207\004V\004H\004\206\000\000\0049\000\000\004W\0047\004:\004J\000\000\004T\000\000\000\217\000\000\0057\004U\000\000\007\128\000\220\004V\006Y\000\000\000\000\000\000\000\153\004W\000\000\000\000\000\000\003U\004\213\004\252\000\000\000\000\005K\0047\000\000\004J\004\193\000\000\004\210\0059\000\000\000\200\001\225\004\215\000\000\000\000\004\220\000\000\000\000\000\000\000\000\000\153\000\000\000\000\004\244\004S\003U\000\000\004\252\000\000\000\000\006N\000\218\000\226\004\206\000\219\0049\000\000\001\226\004\183\004:\001\227\000\000\004T\000\243\000\000\000\000\000\000\004U\000\000\000\000\000\000\004V\000\000\006O\006*\006+\000\000\004W\000\218\000\153\000\000\000\219\004\206\000\000\0049\000\220\000\000\000\000\004:\000\000\000k\006N\004\185\000\000\000\000\000\203\000\000\000\000\000\000\000\204\000\000\000\000\004G\000\000\000\000\000\000\004\190\000\000\000\000\000\000\000\218\004\207\000\220\004H\006O\006*\006+\000k\000\000\000\000\001\228\006N\000\000\004\183\001\229\000\000\000\000\004\191\000\000\000\000\003x\000\000\000\226\000\217\003y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\006O\006*\006+\001\152\006,\000\000\000\000\004\193\004\183\004\253\001\178\004\254\000\000\004\185\004\215\006N\001\244\004\220\000\000\000\000\000\000\000\000\000\000\004G\001\155\004\244\004S\004\190\000\209\000\000\000\000\000\218\004\207\000\210\004H\000\000\000\000\000\000\006O\006*\006+\006N\004\185\000\000\004T\006,\003\160\000\000\004\191\004U\003z\000\000\004G\004V\003{\0047\004\190\004J\000\000\004W\000\218\004\207\000\000\004H\006O\006*\006+\001\226\000\218\005\000\001\238\000\219\004\193\000\153\004\253\006,\004\254\005M\003U\004\215\004\205\003\161\004\220\000\153\000\156\000\157\002\223\000\161\000k\000\000\004\244\004S\000\000\000\203\000\000\000\218\000\000\000\211\001\245\000\000\000\000\004\193\000\220\004\253\000\000\005O\000\000\000\000\004\215\004T\000\000\004\220\000\000\006,\004U\004\206\003\162\0049\004V\004\244\004S\004:\000\000\006h\004W\000\163\0047\000k\004J\000\000\001\228\000\217\000\000\000\000\001\229\000\000\000\000\000\000\004T\006,\004\204\000\000\000\000\004U\000\153\003\164\000\000\004V\001\156\003U\001\157\004\205\000\000\004W\000\000\000\000\000\000\000\000\0019\000\000\003\136\000\000\003\200\000\000\006f\000\200\003`\002<\000\218\000\000\001\244\003\137\000\000\000\000\0021\000\000\000\000\000\000\000\000\001\226\000\000\000\000\001\238\000\000\000\000\004\183\004\206\000\000\0049\000\000\000\209\0047\004:\004J\006d\000\210\000\000\000\153\003\203\000\000\000\000\000\000\000\000\000\000\000\000\004\214\003\167\000\000\000\000\000\153\000\218\000\000\000\000\000\219\003U\000\000\004\205\000\000\000\000\004\185\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\004G\000\203\000\000\006s\004\190\000\204\000\000\000\000\000\218\004\207\000k\004H\000\000\001\228\000\000\000\220\000\000\001\229\000\000\003\169\000\218\000k\004\206\001\245\0049\004\208\000\203\004\183\004:\006\130\000\211\000\000\000\000\000\000\003\170\000\000\002=\000\000\000\000\000\217\000\000\000\153\000\156\000\157\002\228\000\161\000\000\001\136\002%\004\193\000\000\004\210\004\211\001\244\000\000\000\000\004\215\002?\000\000\004\220\000\000\004\185\000\226\000\000\000\217\000\000\000\000\004\244\004S\001\139\000\000\004G\000\000\000\247\000\000\004\190\000\000\001\186\000\000\000\218\004\207\001\248\004H\000\163\000\000\000\000\004T\000\000\0047\006w\004J\004U\004\183\000\000\000\000\004V\004\208\000\000\000\000\001\249\000\000\004W\000\000\000\000\001\250\000\000\000\153\001\226\001\251\000\000\001\227\003U\006x\004\205\001\252\006{\006*\006+\000\218\000\000\004\193\000\219\004\210\004\211\000\000\000\000\004\185\004\215\000\000\000\000\004\220\000\000\000\218\000\000\000\000\001\245\004G\006w\004\244\004S\004\190\000\000\000\000\000\218\000\218\004\207\000\219\004H\004\206\000\000\0049\000\000\000\220\0047\004:\004J\006N\004T\002&\002'\006x\004\208\004U\006{\006*\006+\004V\000k\000\000\001\246\001\228\000\153\004W\000\000\001\229\000\000\003U\000\220\004\205\006O\006*\006+\0047\001\247\004J\004\193\000\000\004\210\004\211\000\000\006,\0019\004\215\001\248\000\000\004\220\000\000\000\000\000\000\000\000\000\153\000\000\000\000\004\244\004S\003U\000\000\004\205\000\000\000\000\001\244\001\249\000\000\004\206\000\000\0049\001\250\000\000\004\183\004:\001\251\000\000\004T\000\000\000\226\000\000\001\252\004U\000\000\000\000\002\029\004V\000\000\000\000\001\136\001\001\000\000\004W\006,\000\000\000\000\000\000\004\206\000\000\0049\000\000\000\000\000\000\004:\000\000\000\000\000\000\004\185\000\000\006,\000\000\001\139\000\000\000\000\000\000\000\000\000\000\004G\000\000\001\186\000\000\004\190\000\000\000\200\003q\000\218\004\207\000\000\004H\000\153\000\156\000\157\0034\000\161\005\031\000\000\000\000\000\000\004\183\000\000\000\000\000\000\005\024\000\000\000\218\000\209\000\000\001\245\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\169\000\000\000\000\000\000\000\000\004\193\004\183\004\210\005\026\000\000\000\163\004\185\004\215\000\000\000\000\004\220\0047\000\000\004J\000\000\000\000\004G\000k\004\244\004S\004\190\000\000\000\203\000\000\000\218\004\207\000\204\004H\000\000\000\153\000\000\000\000\000\000\005\023\003U\004\185\004\205\004T\000\000\000k\000\000\005\024\004U\006\252\000\203\004G\004V\000\000\000\211\004\190\000\000\000\000\004W\000\218\004\207\006N\004H\0020\000\000\000\000\000\217\005+\006\141\000\200\003t\004\193\000\000\004\210\005\026\000\000\005,\004\206\004\215\0049\000\000\004\220\000\000\004:\006O\006*\006+\000\000\000\217\004\244\004S\0047\000\000\004J\000\000\000\000\000\000\000\000\000\000\000\000\004\193\000\000\004\210\005.\000\000\000\000\000\000\004\215\004T\000\153\004\220\000\000\000\000\004U\003U\000\000\004\205\004V\004\244\004S\000\000\000\000\000\000\004W\000\000\000\209\000\000\000\000\000\000\000k\000\213\000\000\000\000\000\000\000\203\000\000\000\000\004T\000\204\000\000\000\000\000\000\004U\000\000\000\000\000\218\004V\004\183\000\219\000\000\000\000\004\206\004W\0049\000\000\000\000\000\000\004:\000\209\006,\000\000\000\000\001\136\000\215\0047\000\000\004J\000\218\000\000\000\000\000\219\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\000\004\185\000\153\000\000\001\139\000k\000\000\003U\000\000\004\205\000\203\004G\001\186\000\000\000\211\004\190\000\000\0056\000\000\000\218\004\207\000\220\004H\000\000\000\000\000\000\000\000\000\249\005)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\024\000\000\000k\000\200\003w\004\183\000\000\000\203\004\206\000\000\0049\000\211\000\217\000\221\004:\000\200\004\017\000\209\000\000\000\000\000\000\000\000\000\210\000\000\004\193\000\000\004\210\005\026\000\000\000\000\000\000\004\215\000\222\000\000\004\220\000\218\000\000\000\223\000\219\004\185\000\000\000\000\004\244\004S\000\000\000\217\000\000\000\224\000\000\004G\000\000\000\000\000\000\004\190\005;\000\000\000\000\000\218\004\207\000\000\004H\004T\006\154\000k\006N\000\000\004U\000\000\000\203\000\220\004V\000\000\000\204\000\000\0057\000k\004W\000k\004\183\0047\000\203\004J\000\203\000\000\000\204\000\000\000\211\006O\006*\006+\000\000\000\218\007H\000\000\000\219\000\000\000\000\000\153\004\193\000\000\004\210\0059\003U\000\000\004\205\004\215\000\217\000\000\004\220\000\000\000\000\000\000\004\185\000\000\000\000\000\000\004\244\004S\000\217\000\255\000\217\000\000\004G\000\000\000\218\000\220\004\190\000\219\000\000\000\000\000\218\004\207\000\000\004H\000\000\004T\006N\000\000\000\000\004\206\004U\0049\000\000\000\000\004V\004:\000\000\0057\000\000\000\000\004W\000\000\0047\000\252\004J\000\000\000\000\000\000\000\220\006O\006*\006+\006,\000\000\000\000\007T\000\000\000\000\000\000\000\000\000\153\004\193\000\222\004\210\0059\003U\000\253\004\205\004\215\000\000\000\254\004\220\000\000\000\000\000\000\000\218\000\221\000\224\000\219\004\244\004S\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\209\000\218\000\219\000\000\000\219\000\210\000\000\000\222\000\000\000\000\004T\004\183\001!\000\000\004\206\004U\0049\000\000\000\000\004V\004:\000\220\000\224\000\000\000\000\004W\000\000\000\209\0047\000\000\004J\000\000\000\215\000\220\000\000\000\220\006,\000\000\000\000\000\000\000\000\007W\000\000\000\000\000\000\004\185\000\153\006N\000\000\000\000\0047\003U\004J\004\205\000\000\004G\000\000\000\000\000\000\004\190\000k\000\000\000\000\000\218\004\207\000\203\004H\000\000\000\153\000\211\006O\006*\006+\005^\000\000\000\000\000\000\000\000\000\000\000\000\007I\000\000\000\226\006\152\004\183\000\000\000\000\000k\004\206\000\000\0049\000\000\000\203\001\003\004:\000\000\000\211\005\175\000\000\000\000\000\000\006N\000\000\000\217\004\193\000\000\004\210\007K\000\000\000\000\005\128\004\215\0049\000\000\004\220\000\000\004:\000\000\004\185\006N\000\000\000\000\004\244\004S\006O\006*\006+\000\000\004G\000\000\000\217\000\000\004\190\000\000\000\000\005\134\000\218\004\207\000\000\004H\000\000\004T\006O\006*\006+\006,\004U\000\000\006N\000\000\004V\000\000\000\000\007I\000\000\006\150\004W\000\000\004\183\000\000\0047\000\000\004J\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\210\006O\006*\006+\000\000\000\000\000\000\004\193\000\153\004\210\007K\000\000\000\218\005^\004\215\000\219\000\000\004\220\000\000\000\000\000\000\000\000\004\185\000\000\000\000\004\244\004S\000\000\000\000\006,\000\000\000\000\004G\000\000\000\000\000\000\004\190\005}\000\000\000\218\000\218\004\207\000\219\004H\004T\006N\000\220\006,\000\000\004U\005\128\000\000\0049\004V\004G\000k\004:\007I\000\000\004W\000\203\000\000\000\218\005\135\000\211\004H\000\000\000\000\006O\006*\006+\001\226\000\000\000\220\001\238\005\134\006,\000\000\000\153\005\136\000\000\004\193\000\000\004\210\007K\000\000\000\000\000\000\004\215\000\153\000\000\004\220\000\000\000\226\006\180\000\000\000\000\000\000\000\217\004\244\004S\000\221\000\000\000\000\001\005\000\000\000\000\000\000\000\000\000\000\005\138\000\000\005\171\005\143\000\000\000\000\004O\000\000\004T\001.\000\222\005\161\004S\004U\0047\001$\004J\004V\000\000\000\000\000\000\000k\000\000\004W\001\228\000\224\001\226\000\000\001\229\001\238\004T\000\000\000\153\006,\000\000\004U\001\152\005^\006\178\004V\000\000\000\000\000\000\001\162\000\153\004W\000\000\000\000\000\000\000\153\000\156\000\157\003:\000\161\004G\000\000\006\176\001\155\006N\002%\000\000\005\127\000\218\005\135\001\244\004H\000\000\000\218\000\000\000\000\000\219\000\000\000\000\006N\005\128\000\000\0049\000\000\000\000\005\173\004:\006O\006*\006+\000\000\006\193\000k\000\000\000\000\001\228\000\000\000\163\000\000\001\229\000\000\000\000\006O\006*\006+\005\134\001\226\000\220\000\000\001\238\000\000\000\000\000\000\000\000\000\000\000\000\005\138\000\000\001\226\005\174\000\000\001\238\000\000\000\000\000\153\000\000\000\000\005\161\004S\000\000\002%\000\000\000\000\000\000\000\000\001\244\000\153\000\153\000\156\000\157\003?\000\161\000\000\000\000\000\000\000\000\004T\000\000\000\000\000\218\000\000\004U\001\245\000\000\000\226\004V\000\000\000\000\006\191\000\000\001\163\004W\006,\000\000\000\000\001\007\000k\000\000\000\000\001\228\000\000\000\000\000\000\001\229\000\000\002&\003\127\006,\000k\000\163\000\000\001\228\000\000\000\000\004\227\001\229\001\246\001\156\000\000\001\157\000\000\000\000\000\000\000\000\004G\000\000\000\000\0019\000\000\000\000\001\247\000\000\000\218\005\135\002%\004H\000\000\000\209\0019\001\244\001\248\000\000\000\213\000\000\000\218\000\000\002%\001\245\000\000\005\136\000\000\001\244\000\000\000\000\000\000\000\153\000\000\000\000\001\249\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\001\251\000\000\000\000\002&\004>\000\000\001\252\000\000\000\000\000\000\002\029\001\136\000\000\005\138\001\246\000\000\005\143\000\000\000\000\000\000\0047\000\000\004J\000\000\005\161\004S\000\000\000\000\001\247\000\000\000k\001\226\000\000\001\139\001\238\000\203\0019\000\000\001\248\000\211\000\000\001\186\000\000\004T\006\250\004\176\005\007\000\000\004U\000\153\000\000\000\218\004V\000\000\001\245\000\000\001\249\000\000\004W\006\255\000\000\001\250\000\000\000\218\000\000\001\251\001\245\000\200\0040\000\000\000\000\001\252\000\000\000\217\000\000\002\029\000\000\002&\004\187\000\000\003\160\000\000\0049\000\000\000\000\000\000\004:\000\000\001\246\002&\004\217\000k\000\000\001\136\001\228\000\000\000\000\001,\001\229\001.\001\246\000\000\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\001\248\000\000\001\247\001\139\000\000\000\000\000\000\000\000\000\000\000\000\0019\001\186\001\248\000\000\000\000\000k\000\000\002%\001\249\000\000\000\203\000\000\001\244\001\250\000\204\000\000\000\000\001\251\000\000\000\000\001\249\000\000\000\000\001\252\0047\001\250\004J\002\029\004\183\001\251\000\218\000\000\000\000\000\219\000\000\001\252\000\000\000\000\000\000\002\029\000\000\000\000\000\000\000\000\0047\000\000\004J\000\000\000\217\004\176\004\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0010\000\000\000\000\000\000\004\185\000\000\000\220\000\000\000\000\000\000\000\000\004\176\004\189\000\000\004G\000\000\000\000\0047\004\190\004J\000\000\000\000\000\218\0016\000\000\004H\003\160\000\000\0049\000\000\000\000\0019\004:\000\218\000\252\000\000\001\245\000\000\000\000\004\191\000\000\000\000\004\176\005\019\000\000\000\000\003\160\000\000\0049\000\000\000\000\000\000\004:\000\222\000\000\000\000\000\000\000\253\000\000\002&\005\140\000\254\000\000\004\193\000\000\000\000\000\000\000\000\000\224\000\218\001\246\000\000\000\219\000\000\000\000\000\000\000\000\003\160\000\000\0049\000\000\000\000\004S\004:\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\001\248\000\000\004\183\000\000\000\000\000\000\004T\000\000\000\000\000\220\000\000\004U\000\000\000\000\000\000\004V\000\000\000\000\001\249\000\000\000\000\004W\004\183\001\250\000\000\000\000\0047\001\251\004J\000\000\000\000\000\000\000\000\001\252\000\000\000\000\004\185\002\029\0047\000\000\004J\000\000\000\209\000\000\000\000\000\000\004G\000\210\000\000\000\000\004\190\004\176\005\223\004\183\000\218\000\000\004\185\004H\000\000\000\000\000\000\000\000\000\000\004\176\005\225\000\000\004G\000\000\000\000\000\000\004\190\004\191\000\000\000\000\000\218\000\000\000\000\004H\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\160\004\185\0049\000\000\000\000\004\191\004:\000\000\000\000\004\193\000\000\004G\003\160\000\000\0049\004\190\000k\001\226\004:\000\218\001\238\000\203\004H\000\000\000\000\000\211\000\000\000\000\004S\004\193\000\000\000\000\000\000\000\000\000\000\000\153\004\191\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004T\000\000\004S\000\000\000\000\004U\000\000\000\000\000\000\004V\000\000\000\000\000\000\000\217\004\193\004W\000\000\000\000\000\000\000\000\004T\0047\000\000\004J\004\183\004U\000\000\000\000\000\000\004V\000\000\000k\000\000\004S\001\228\004W\004\183\001\226\001\229\000\000\001\238\000\000\000\000\000\000\000\000\000\000\004\176\005\227\000\000\000\209\000\000\004T\000\000\000\000\000\210\000\153\004U\000\000\004\185\000\000\004V\000\000\000\000\000\000\000\000\000\000\004W\000\000\004G\002$\004\185\000\000\004\190\000\000\001\244\000\000\000\218\000\000\000\000\004H\004G\003\160\000\000\0049\004\190\000\000\000\000\004:\000\218\000\000\000\000\004H\000\218\004\191\000\000\000\219\000\000\000k\000\000\000\000\001\228\000\000\000\000\000\000\001\229\004\191\000\000\001\226\000\000\000k\001\238\000\000\000\000\000\000\000\203\000\000\000\000\004\193\000\211\000\000\001\226\000\000\000\000\001\238\000\000\000\153\000\220\000\000\000\000\004\193\000\000\000\000\000\000\000\000\000\000\000\000\004S\000\000\000\153\000\000\001\244\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004S\000\000\000\000\004\183\000\217\000\218\004T\000\000\001\245\000\000\000\000\004U\000\000\001\226\000\000\004V\001\238\000\000\004T\000k\000\000\004W\001\228\004U\000\000\000\226\001\229\004V\000\000\000\000\000\000\000\153\000k\004W\000\000\001\228\001\t\004\185\000\000\001\229\000\000\000\000\001\246\000\000\000\000\000\000\000\000\004G\000\000\000\000\000\000\004\190\0047\000\000\004J\000\218\001\247\001\243\004H\000\000\000\000\000\000\001\244\000\000\0019\000\000\001\248\000\000\000\000\000\000\002\031\000\218\004\191\000k\001\245\001\244\001\228\005\n\000\000\000\000\001\229\000\000\000\000\000\218\001\249\000\000\000\219\000\209\000\000\001\250\000\000\000\000\000\213\001\251\000\000\000\000\004\193\000\000\000\000\001\252\000\000\000\000\000\000\002\029\000\000\000\153\000\000\000\000\001\246\000\000\000\000\002#\003\160\000\000\0049\004S\001\244\000\220\004:\000\209\000\000\000\000\001\247\000\000\000\213\000\000\000\000\000\000\000\000\002 \0019\000\000\001\248\004T\000\000\000\000\000\000\000\153\004U\000\000\000\000\000\218\004V\000\000\001\245\000\000\000\000\000k\004W\000\000\001\249\000\000\000\203\000\000\000\218\001\250\000\211\001\245\000\209\001\251\000\000\000\000\000\000\000\213\000\226\001\252\000\000\000\000\000\000\002!\000\000\000\000\000\000\000\000\000\000\001\011\000\153\000\000\001\246\000k\000\000\000\000\004\183\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\217\001\246\001\247\000\000\000\000\000\218\000\000\000\000\001\245\000\209\0019\000\000\001\248\000\000\000\213\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\001\248\004\185\000\153\000k\000\000\001\249\000\000\000\217\000\203\000\000\001\250\004G\000\211\000\000\001\251\004\190\000\209\001\246\001\249\000\218\001\252\000\213\004H\001\250\002\029\000\000\000\000\001\251\000\000\000\000\000\000\001\247\000\000\001\252\000\153\000\000\004\191\002\029\000\000\0019\000\000\001\248\000\000\000\000\000k\000\000\000\217\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\218\000\000\000\000\000\219\000\000\001\249\004\193\000\000\000\000\000\000\001\250\000\000\000\000\000\000\001\251\000\000\000\000\000\000\000\000\000\000\001\252\000\000\000k\000\000\002\029\004S\000\000\000\203\0029\000\000\000\000\000\211\000\218\000\217\000\220\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004T\000\000\000\000\003x\000\000\004U\000\000\003y\002K\004V\000\000\000\000\000\000\000\000\000\000\004W\0019\001\208\000\000\000\252\000\000\000\000\000\217\000\220\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\000\001\210\000\000\000\253\000\000\000\000\000\000\000\254\000\000\0019\000\000\000\209\000\252\000\000\000\224\000\000\000\213\0029\000\000\000\000\000\000\000\000\000\000\000\220\003\160\000\000\000\000\000\000\003z\000\153\000\218\000\222\003{\000\219\000\000\000\253\000\000\000\000\000\000\000\254\002O\000\000\000\000\000\000\000\000\000\000\000\224\000\000\0019\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\0029\003\211\000\200\0043\000\218\000\000\000\220\000\219\000\000\000\000\000\209\000\000\000\222\000k\000\000\000\215\000\253\000\000\000\203\000\000\000\254\000\000\000\211\002U\000\000\000\000\000\000\000\224\000\000\000\000\000\209\0019\0029\000\000\000\252\000\213\003\162\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003x\000\153\000\000\000\000\003y\000\000\000\222\000\209\002Y\000\217\000\253\000\000\000\213\000\000\000\254\000k\0019\000\000\003\164\000\252\000\203\000\224\000\000\000k\000\204\000\153\000\000\000\000\000\203\000\153\000\000\000\000\000\211\003\136\003\215\003\200\000\000\000\000\000\222\000\000\000\000\000\218\000\253\000k\003\137\000\000\000\254\000\000\000\203\000\000\000\000\000\000\000\211\000\224\000\000\000\000\000\000\000\000\000\217\000\000\003\160\000\000\000\000\000\000\003z\003\214\000\217\000k\003{\000\000\000\000\003\203\000\203\000\000\000\000\000\000\000\211\000\000\000\000\003\167\000\000\000\000\000\000\000\000\000\209\000\000\000\217\000\000\000\218\000\213\000\000\000\219\000\000\000\000\000\000\003\211\000\000\001\152\000\209\000\000\000\000\000\000\000\153\000\215\001\162\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\000\0029\000\000\001\155\000\000\000\000\003\169\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000\000\003x\000\000\003\170\000\218\003y\003^\000\219\000\000\000\000\000\000\000k\000\218\000\000\0019\000\219\000\203\000\252\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000k\003\164\000\000\000\000\000\000\000\203\000\000\000\218\000\000\000\211\000\219\000\222\000\000\000\220\000\000\000\253\003\136\003\212\003\200\000\254\000\209\000\220\000\000\000\000\000\218\000\213\000\224\003\137\000\000\000\217\000\000\000\218\000\000\000\000\000\219\003e\003\160\000\000\000\000\000\000\003z\000\220\000\000\000\217\003{\000\000\000\000\000\000\003\214\000\221\000\000\000\000\000\000\000\000\003\203\000\000\000\000\001\163\003g\0029\000\000\000\000\003\167\000\000\000\000\000\220\0019\000\000\000\222\000\252\000\000\003\211\000\209\001\240\000\209\000\000\000\000\000\213\000\000\000\213\000k\004\235\004\015\000\224\001\156\000\203\001\157\000\000\000\222\000\211\0019\000\000\000\253\000\252\0019\000\000\000\254\000\000\000\000\000\000\000\000\000\000\002\000\000\224\003\169\000\000\003\162\000\000\000\218\000\000\000\153\000\219\000\222\000\000\000\000\000\000\000\253\000\000\000\000\003\170\000\254\000\000\000\218\000\217\000\000\000\219\000\209\000\224\000\000\000\000\000\000\000\213\000k\000\000\000k\003\164\004$\000\203\000\000\000\203\000\000\000\211\000\220\000\211\000\000\000\000\000\000\000\000\000\000\000\000\003\136\007N\003\200\000\000\000\000\000\000\000\220\000\000\000\218\004&\000\000\003\137\000\200\0046\000\000\000\000\000\000\0019\000\000\000\000\000\252\000\000\000\000\000\153\000\000\000\217\000\000\000\217\001\152\003x\000\000\000\000\003\214\003y\000\221\001\162\000k\000\000\003\203\000\222\000\000\000\203\000\000\000\253\000\000\000\211\003\167\000\254\000\000\001\155\000\000\003b\000\218\000\222\000\224\000\219\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\217\000\255\000\204\000\000\003x\000\000\000\000\000\220\003y\003\169\003\160\000\000\001\152\000\000\003z\000\000\000\209\000\000\003{\001\162\003\217\000\213\000\000\000\000\003\170\000\218\000\000\000\218\000\219\000\000\000\219\000\000\000\000\001\155\000\000\000\252\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\157\000\222\0010\000\000\000\000\000\253\000\220\000\000\000\220\000\254\000\000\003\160\000\000\000\000\001\163\003z\000\224\000\000\000\000\003{\000\000\003\155\000\000\000k\000\000\000\000\000\218\003\162\000\203\000\219\000\000\000\000\000\211\000\000\000\252\003x\000\252\000\000\005k\003y\000\000\001\156\000\000\001\157\000\000\000\000\003\206\000\000\000\000\000\000\000\000\0019\000\000\000\222\003\157\000\222\003\164\000\253\000\000\000\253\000\220\000\254\000\218\000\254\000\000\000\219\000\217\000\000\000\224\000\209\000\224\003\136\000\000\003\200\000\213\000\000\000\000\001\163\000\000\000\218\000\000\003\162\003\137\000\000\000\000\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\003\160\000\220\000\000\000\000\003z\000\000\005\150\000\000\003{\001\156\000\000\001\157\000\222\000\000\003\203\003\164\000\253\000\000\000\000\0019\000\254\000\000\003\167\000\209\000\000\000\000\000\000\000\224\000\213\000\000\003\136\000\000\003\200\000\000\000k\003\209\000\000\000\209\000\218\000\203\000\000\003\137\000\213\000\211\000\000\003\234\000\000\000\000\000\000\000\000\000\218\000k\000\000\000\219\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\003\169\000\000\000\000\000\000\003\203\000\000\003\162\000\000\000\000\000\000\000\000\000\000\003\167\000\217\003\157\003\170\000\000\000\000\000\000\000k\000\220\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\209\000\217\000\000\000\000\000k\000\213\003\164\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\252\000\000\003\136\000\000\003\200\000\000\003\169\004[\000\000\000\000\000\218\000\000\000\000\003\137\000\217\000\000\000\000\000\209\000\000\000\222\000\000\003\170\000\213\000\253\000\000\000\000\000\000\000\254\000\217\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\000\000\000\000\003\246\003\203\000k\000\000\000\000\000\218\000\000\000\203\000\219\003\167\000\000\000\211\000\000\000\000\000\000\000\000\000\000\003\254\000\209\000\000\000\000\000\000\000\218\000\213\004\145\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\157\000\000\000\000\000\000\000\000\000k\000\220\000\000\000\000\000\000\000\203\000\000\000\217\000\000\000\211\000\209\004\005\003\157\003\169\000\000\000\213\000\218\000\000\000\220\000\219\000\000\000\000\004\147\000\000\000\000\000\000\000\000\000\000\003\170\000\252\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\217\003\157\000\203\000\252\000\000\000\222\000\211\000\220\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\255\000\000\000\000\000\000\004\149\000\224\000\220\000\222\000\000\000\000\000\000\000\253\000k\000\000\000\000\000\254\000\000\000\203\000\000\000\000\000\252\000\211\000\224\000\000\000\209\000\217\000\000\000\000\000\218\000\213\000\000\000\219\000\000\000\000\000\252\000\000\000\209\000\000\000\000\000\222\000\000\000\213\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\222\000\224\000\217\000\255\000\253\000\000\000\000\000\000\000\254\000\220\000\000\000\218\000\000\000\000\000\219\000\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\252\000\000\000\255\000\211\000\209\000\000\000k\000\000\000\220\000\213\000\000\000\203\000\000\000\000\000\218\000\211\000\000\000\219\000\000\000\222\000\000\000\209\000\000\000\253\000\000\000\000\000\213\000\254\000\000\000\000\000\000\000\000\000\000\000\209\000\224\000\000\000\252\000\217\000\213\004\231\000\000\000\000\000\255\000\000\000\218\000\000\000\000\000\219\000\220\000\217\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000k\000\000\000\000\000\000\000\000\000\203\000\224\000\000\003\157\000\211\000\000\000\000\000\252\000\209\000\220\000\000\000\000\000k\000\213\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000k\000\000\000\222\000\000\000\000\000\203\000\253\000\000\000\000\000\211\000\254\000\000\000\000\000\252\000\217\000\000\000\000\000\224\004\240\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\004\248\000\217\000\222\000\000\000\000\000\218\000\253\000\000\000\219\000\000\000\254\000\000\000\000\000\217\000k\000\000\000\000\000\224\000\000\000\203\000\000\003\157\000\000\000\211\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\003\157\000\000\000\000\000\000\000\000\000\209\000\220\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252\000\000\000\217\005c\000\209\000\000\000\000\000\000\000\218\000\213\000\000\000\219\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\222\005o\000\000\000\000\000\253\000\000\000\218\000\000\000\254\000\219\000\000\000\000\000\222\005t\000\000\000\224\000\253\003\157\000\218\000\000\000\254\000\219\000\000\000\220\000k\000\000\000\000\000\224\000\000\000\203\000\000\000\000\000\000\000\211\003\157\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000k\003\157\000\000\000\000\000\000\000\203\000\252\000\220\000\000\000\211\000\000\000\209\005{\000\000\000\000\000\000\000\213\000\218\000\000\000\000\000\219\000\000\000\217\000\252\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\252\000\000\000\000\000\000\000\000\000\224\000\000\000\222\000\217\000\000\003\157\000\253\000\000\000\000\000\000\000\254\000\220\000\000\000\000\000\222\000\209\000\000\000\224\000\253\000\000\000\213\000\000\000\254\000\000\000\000\000\000\000\000\000\209\000\000\000\224\000\000\000k\000\213\000\000\000\000\000\000\000\203\000\209\000\000\000\252\000\211\000\000\000\213\007*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\143\000\000\000\000\005\132\000\000\000\222\000\000\000\000\000\218\000\253\000\000\000\219\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\217\000k\000\000\005\154\000\000\000\000\000\203\000\000\000\218\000\000\000\211\000\219\000\000\000k\000\000\003\157\000\000\000\000\000\203\000\000\000\000\000\220\000\211\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\003\157\000\000\000\000\000\000\000\209\000\000\000\220\000\000\000\217\000\213\000\000\000\000\000\000\000\252\000\209\000\000\000\000\000\000\000\000\000\213\000\217\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\209\000\000\000\217\000\213\000\222\000\213\000\252\000\000\000\253\000\000\005\159\000\000\000\254\000\000\000\000\000\218\000\000\000\000\000\219\000\224\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000k\000\000\000\000\000\000\000\224\000\203\000\000\003\157\000\000\000\211\000k\000\000\000\000\000\220\000\000\000\203\000\000\000\000\005\166\000\211\000\000\000\000\000k\000\218\000k\000\000\000\219\000\203\000\000\000\203\000\000\000\211\000\000\000\211\000\209\000\218\000\000\000\000\000\219\000\213\000\000\000\252\000\000\000\217\000\000\000\218\000\000\000\000\000\219\000\000\000\000\003\157\000\000\000\217\000\000\000\000\000\000\000\220\000\000\000\000\000\222\000\000\000\000\007+\000\253\000\217\000\000\000\217\000\254\000\220\000\000\000\000\000\000\007+\000\000\000\224\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\252\000\000\000\203\000\000\000\000\000\000\000\211\000\222\000\000\000\000\000\252\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\222\000\000\000\000\000\224\000\253\000\000\000\218\000\000\000\254\000\219\000\222\000\000\000\000\000\000\000\253\000\224\000\218\000\209\000\254\000\219\000\000\000\217\000\213\000\000\000\000\000\224\000\000\000k\000\218\000\000\000\218\000\219\000\203\000\219\001%\000\000\000\211\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\251\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\0012\000\000\002\002\000\000\000\000\000\000\000\220\000\000\000\220\000\000\000\000\000\209\000\252\000\000\000\217\000\000\000\213\000\000\000\000\000\000\000\000\000k\000\252\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\222\000\209\000\000\000\252\000\253\000\252\000\213\000\000\000\254\000\000\000\222\000\000\000\000\000\218\000\253\000\224\000\219\000\000\000\254\000\000\000\000\000\000\000\222\000\000\000\222\000\224\000\253\000\000\000\253\000\000\000\254\000\000\000\254\000\217\000\000\000\000\000\000\000\224\000\000\000\224\000k\002*\000\000\000\000\000\000\000\203\000\000\000\220\000\000\000\211\000\000\000\209\000\000\000\209\000\000\000\000\000\213\000\000\000\213\000\000\000\000\000k\000\218\000\000\000\000\000\219\000\203\000\209\000\000\000\000\000\211\000\000\000\213\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\209\000\000\002C\000\000\000\000\000\213\000\222\000\000\000\220\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\217\000\000\000\000\000\000\000\000\000\224\000\000\000k\000\218\000k\000\000\000\219\000\203\000\000\000\203\000\000\000\211\000\000\000\211\000\000\000\252\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\003I\000\000\000\000\000\222\000\000\000\000\000\220\000\253\000k\000\000\000\000\000\254\000\000\000\203\000\217\000\000\000\217\000\211\000\224\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\217\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\003O\000\217\000\000\000\222\000\000\000\000\000\220\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\003\130\000\000\000\000\000\000\000\000\000\209\000\220\000\000\000\000\000\000\000\213\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000k\000\218\000\000\000\218\000\219\000\203\000\219\000\000\000\000\000\211\000\000\000\222\000\000\000\252\000\000\000\253\000\000\000\218\000\000\000\254\000\219\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\003\141\000\000\003\143\000\222\000\000\000\000\000\220\000\253\000\220\000\218\000\000\000\254\000\219\000\000\000\217\000k\004\020\000\000\000\224\000\000\000\203\000\000\000\220\000\000\000\211\000\000\000\209\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\252\000\000\000\252\004\025\000\000\000\209\000\000\000\000\000\000\000\220\000\213\000\000\000\000\000\000\000\000\000\000\000\252\000\000\000\000\000\222\000\000\000\222\000\000\000\253\000\217\000\253\000\000\000\254\000\000\000\254\000\000\000\000\000\000\000\000\000\224\000\222\000\224\000\252\000\000\000\253\000\209\000\000\000\209\000\254\000\000\000\213\000\000\000\213\000\000\000\000\000\224\000\000\000k\000\000\000\000\000\000\000\222\000\203\000\000\000\218\000\253\000\211\000\219\000\000\000\254\000k\000\000\000\000\000\000\000\000\000\203\000\224\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\029\000\000\000\000\000\000\000\000\000\209\000\220\000\000\000\217\000\000\000\213\000\000\000\000\000k\000\000\000k\000\218\000\000\000\203\000\219\000\203\000\217\000\211\000\000\000\211\000\000\000\209\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004A\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\222\000\000\000\000\000\217\000\253\000\217\000\000\000\000\000\254\000\000\000\000\000\000\000k\000\000\000\000\000\224\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\209\000\000\000\252\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000k\000\218\000\000\000\000\000\219\000\203\000\000\000\000\000\000\000\211\000\000\000\222\000\000\000\000\000\218\000\253\000\000\000\219\000\000\000\254\000\000\000\000\000\217\000\000\000\000\000\000\000\224\000\000\000\000\004]\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\209\000\000\004\137\000\217\000\000\000\213\000\000\000\000\000\220\000\218\000k\000\218\000\219\000\000\000\219\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252\004\180\000\000\005V\000\000\000\000\000\222\000\220\000\209\000\220\000\253\000\000\000\000\000\213\000\254\000\000\000\000\000\217\000\000\000\222\000\000\000\224\000\000\000\253\000k\000\218\000\000\000\254\000\219\000\203\000\000\000\000\000\000\000\211\000\224\000\252\000\000\000\252\000\209\000\000\000\209\000\000\000\000\000\213\000\000\000\213\000\218\000\000\000\000\000\219\000\000\000\000\000\000\005\189\000\222\000\000\000\222\000\000\000\253\000\220\000\253\000\000\000\254\000\000\000\254\000\000\000\000\000\217\000k\000\224\000\000\000\224\000\000\000\203\005\209\000\000\000\000\000\211\000\000\000\209\000\220\000\000\000\000\000\000\000\215\000\000\000\000\000\252\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\218\000\215\000k\000\219\000k\000\000\000\000\000\203\000\000\000\203\000\222\000\211\000\252\000\211\000\253\000\217\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\000\000\000\005\211\000\000\000\000\000\222\000\000\000\000\000\220\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000k\000\209\000\217\000\224\000\217\000\203\000\210\000\218\000\000\000\211\000\219\000\209\000\000\000k\000\000\000\000\000\210\000\000\000\203\000\252\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\213\000\000\000\000\000\222\000\000\000\000\000\220\000\253\000\217\000\000\000\000\000\254\000\209\000\000\000\000\000\000\000\218\000\210\000\224\000\219\000\000\000\217\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\209\000\252\000\211\000k\000\000\000\210\000\000\000\000\000\203\000\000\000\000\005\219\000\211\000\218\000\000\000\218\000\219\000\220\000\219\000\000\000\222\000\000\000\000\000\000\000\253\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000\224\000\217\000\000\000\000\000k\000\000\005\233\000\000\005\247\000\203\000\252\000\217\000\220\000\211\000\220\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000k\000\000\000\000\000\000\000\222\000\203\000\000\000\218\000\253\000\211\000\219\000\000\000\254\000\209\000\000\000\252\000\000\000\252\000\210\000\224\000\000\000\000\000\217\000\000\000\000\000\000\000\209\000\209\000\220\000\000\000\000\000\210\000\210\000\000\000\222\000\000\000\222\000\000\000\253\000\000\000\253\000\220\000\254\000\217\000\254\000\209\000\000\000\000\000\000\000\224\000\210\000\224\000\209\000\000\000\000\000\218\000\221\000\210\000\219\000\209\000\000\000\000\000\000\000\000\000\210\000\218\000\000\000\000\000\219\000\221\000\000\000\000\000\209\000k\000\000\000\222\000\000\000\210\000\203\000\000\004L\000\000\000\211\000\000\000\000\000\000\000k\000k\000\222\000\220\000\224\000\203\000\203\004N\000\000\000\211\000\211\000\000\000\000\000\220\000\000\000\218\000\000\000\224\000\219\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\000\000\217\000\203\000\000\000k\000\000\000\211\000\218\000\000\000\203\000\219\000\000\000\000\000\211\000\217\000\217\000\000\000k\000\000\000\000\000\220\000\226\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\226\001\r\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\220\001\015\000\000\000\209\000\000\000\000\000\217\000\000\000\210\000\000\000\209\000\000\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\209\000\000\000\226\000\000\000\000\000\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\218\000\218\000\000\000\219\000\219\000\000\001\019\000\000\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\218\000\211\000\220\000\219\000\203\000\000\000\209\000\218\000\211\000\000\000\219\000\210\000\000\000k\000\218\000\220\000\220\000\219\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\209\000\220\000\217\000\000\000\000\000\210\000\000\000\000\000\220\000\217\000\000\000\000\000\000\000\000\000\209\000\220\000\226\000\000\000\000\000\210\000\000\000\000\000\000\000\217\000\000\000\000\000\000\001\021\000\220\000\226\000\226\000\000\000\209\000k\000\000\000\000\000\000\000\210\000\203\000\209\001\023\001\025\000\211\000\000\000\210\000\000\000\000\000\000\000\226\000\209\000\000\000\000\000\000\000\000\000\210\000\226\000\209\000\000\000\000\001\027\000k\000\210\000\226\000\000\000\000\000\203\001\029\000\000\000\000\000\211\000\000\000\000\000\000\001\031\000k\000\226\000\217\000\000\000\000\000\203\000\000\000\218\000\000\000\211\000\219\000\209\001\254\000\000\000\218\000\000\000\210\000\219\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\218\000\217\000\203\000\219\000\000\000\000\000\211\000k\000\000\000\000\000\000\000\000\000\203\000\220\000k\000\217\000\211\000\000\000\000\000\203\000\220\000\000\000\000\000\211\000\209\000\000\000\000\000\000\000\000\000\210\000\000\000\000\000\000\000\217\000\220\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000k\000\209\000\000\000\000\000\000\000\203\000\210\000\217\000\000\000\211\000\218\000\000\000\000\000\219\000\217\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\218\000\226\000\000\000\219\000k\000\000\000\217\000\220\000\000\000\203\000\000\000\000\002\b\000\211\000\218\000\209\000\000\000\219\000\000\000\000\000\210\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\209\000\218\000\211\000\220\000\219\000\210\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\217\000\220\000\218\000\000\000\000\000\219\000\000\000\226\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\002\n\000\220\000\217\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\226\000\209\000\220\000\211\000\218\000\000\000\210\000\219\000\000\000\220\000k\002\012\000\000\000\000\000\226\000\203\000\000\000\209\000\209\000\211\000\000\000\000\000\210\000\210\000\209\002\014\000\000\000\000\000\000\000\210\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\217\000\220\000\226\000\000\000\209\000\000\002\016\000\000\000\218\000\210\000\000\000\219\000\226\002\018\000\000\000\000\000\217\000\000\000\000\000\226\000\000\000\000\000\000\002\020\000k\000\000\000\000\000\000\000\218\000\203\002\022\000\219\000\209\000\211\000\000\000\000\000\000\000\210\000\000\000\000\000k\000k\000\220\000\000\000\000\000\203\000\203\000k\000\226\000\211\000\211\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\002\024\000\000\000\000\000\220\000\000\000k\000\000\000\000\000\217\000\000\000\203\000\000\000\209\000\000\000\211\000\000\000\000\000\210\000\000\000\000\000\218\000\000\000\000\000\219\000\217\000\217\000\000\000\000\000\000\000\209\000\226\000\217\000\000\000k\000\210\000\000\000\218\000\000\000\203\000\219\000\000\002\026\000\211\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\002\028\000\000\000\000\000\209\000\000\000\209\000\000\000\000\000\210\000\220\000\210\000k\000\000\000\209\000\000\000\217\000\203\000\000\000\210\000\209\000\211\000\000\000\000\000\000\000\210\000\000\000\218\000\000\000k\000\219\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\226\000\000\000\218\000\218\000\000\000\219\000\219\000\000\000\000\000\218\000\000\003\172\000\219\000\000\000\217\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000k\000\000\000k\000\218\003\174\000\203\000\219\000\203\000\217\000\211\000k\000\211\000\000\000\220\000\220\000\203\000k\000\209\000\000\000\211\000\220\000\203\000\210\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\209\000\219\000\000\000\000\000\220\000\210\000\000\000\000\000\209\000\000\000\217\000\226\000\217\000\210\000\000\000\000\000\209\000\000\000\000\000\000\000\217\000\210\003\176\000\000\000\000\000\000\000\217\000\226\000\226\000\000\000\000\000\000\000\220\000\000\000\226\000\000\000\000\000\218\003\178\003\180\000\219\000\209\000\000\000\000\000k\003\182\000\210\000\000\000\000\000\203\000\000\000\226\000\000\000\211\000\218\000\000\000\000\000\219\000\000\000\000\000k\000\209\003\184\000\000\000\000\000\203\000\210\000\000\000k\000\211\000\000\000\220\000\000\000\203\000\000\000\000\000k\000\211\000\000\000\226\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\217\000\220\000\218\003\186\000\218\000\219\000\209\000\219\000\000\000\000\000\000\000\210\000\218\000\000\000k\000\219\000\217\000\000\000\218\000\203\000\000\000\219\000\000\000\211\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\217\000\000\000k\000\000\000\220\000\000\000\220\000\203\000\000\000\000\003\188\000\211\000\000\000\000\000\220\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\217\000\209\003\190\000\000\000\000\000\000\000\210\000\000\000\209\000k\000\000\000\000\000\000\000\210\000\203\000\000\000\000\000\000\000\211\000\000\000\217\000\000\000\218\000\000\000\000\000\219\000\226\000\000\000\226\000\209\000\000\000\000\000\000\000\000\000\210\000\000\000\226\003\192\000\218\003\194\000\000\000\219\000\226\000\000\000\000\000\000\000\218\003\196\000\000\000\219\000\000\000\000\000\217\003\198\000\218\000\000\000\220\000\219\000\000\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\000\000\220\000\203\000\000\000\000\000\000\000\211\000\000\000\218\000\220\000\000\000\219\000\000\000\000\000\209\000\000\000\000\000\220\000k\000\210\000\000\000\209\000\000\000\203\000\000\000\000\000\210\000\211\000\218\000\000\000\000\000\219\000\226\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\209\000\220\004Y\000\000\000\000\000\210\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\004_\000\218\000\217\000\220\000\219\000\226\000\209\000\000\004a\000\000\000\000\000\210\000\000\000\000\000\000\000k\004c\000\000\000\000\000\000\000\203\000\000\000k\000\000\000\211\000\000\000\000\000\203\000\000\000\000\000\226\000\211\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\004e\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\226\000\211\000\000\000\218\000\000\000\000\000\219\000\000\000\217\000\000\000\218\004g\000\000\000\219\000\000\000\217\000k\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\000\000\000\000\218\000\226\000\000\000\219\000\217\000\000\000\220\000\000\000\000\000\000\000\000\000\000\004i\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\218\000\000\000\000\000\219\000\226\000\000\000\000\000\218\004k\000\000\000\219\000\000\000\000\000\000\000\000\004m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\220\000\000\004o\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\218\000\000\000\000\000\219\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\220\000\000\000\000\000\226\000\000\000\000\000\000\004q\000\000\000\000\000\000\000\000\000\000\000\000\004s\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004w"))
   
   let semantic_action =
     [|
@@ -1548,13 +1735,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_eexpr = Obj.magic _1 in
+        let _1 : 'tv_dexpr = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_aexpr = 
-# 1841 "parser_cocci_menhir.mly"
-      ( Ast0.set_arg_exp _1 )
-# 1558 "parser_cocci_menhir.ml"
+# 2210 "parser_cocci_menhir.mly"
+          ( Ast0.set_arg_exp _1 )
+# 1745 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1573,22 +1760,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 66 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 1579 "parser_cocci_menhir.ml"
+# 1766 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_aexpr = 
-# 1843 "parser_cocci_menhir.mly"
+# 2212 "parser_cocci_menhir.mly"
       ( let (nm,lenname,pure,clt) = _1 in
       let nm = P.clt2mcode nm clt in
       let lenname =
        match lenname with
-         Some nm -> Some(P.clt2mcode nm clt)
-       | None -> None in
+         Ast.AnyLen -> Ast0.AnyListLen
+       | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
+       | Ast.CstLen n -> Ast0.CstListLen n in
       Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) )
-# 1592 "parser_cocci_menhir.ml"
+# 1780 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1610,9 +1798,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_aexpr = 
-# 1851 "parser_cocci_menhir.mly"
+# 2221 "parser_cocci_menhir.mly"
       ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
-# 1616 "parser_cocci_menhir.ml"
+# 1804 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1632,9 +1820,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 1895 "parser_cocci_menhir.mly"
+# 2257 "parser_cocci_menhir.mly"
             ( Ast.WhenAny )
-# 1638 "parser_cocci_menhir.ml"
+# 1826 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1654,9 +1842,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 1896 "parser_cocci_menhir.mly"
+# 2258 "parser_cocci_menhir.mly"
             ( Ast.WhenStrict )
-# 1660 "parser_cocci_menhir.ml"
+# 1848 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1676,9 +1864,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 1897 "parser_cocci_menhir.mly"
+# 2259 "parser_cocci_menhir.mly"
             ( Ast.WhenForall )
-# 1682 "parser_cocci_menhir.ml"
+# 1870 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1698,9 +1886,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 1898 "parser_cocci_menhir.mly"
+# 2260 "parser_cocci_menhir.mly"
             ( Ast.WhenExists )
-# 1704 "parser_cocci_menhir.ml"
+# 1892 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1722,9 +1910,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
-# 1256 "parser_cocci_menhir.mly"
+# 1467 "parser_cocci_menhir.mly"
                                             ( _1 )
-# 1728 "parser_cocci_menhir.ml"
+# 1916 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1752,19 +1940,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 1760 "parser_cocci_menhir.ml"
+# 1948 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
-# 1258 "parser_cocci_menhir.mly"
+# 1469 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Mul _1 _2 _3 )
-# 1768 "parser_cocci_menhir.ml"
+# 1956 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1792,19 +1980,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 1800 "parser_cocci_menhir.ml"
+# 1988 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
-# 1260 "parser_cocci_menhir.mly"
+# 1471 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 1808 "parser_cocci_menhir.ml"
+# 1996 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1832,19 +2020,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 1840 "parser_cocci_menhir.ml"
+# 2028 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
-# 1262 "parser_cocci_menhir.mly"
+# 1473 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Plus _1 _2 _3 )
-# 1848 "parser_cocci_menhir.ml"
+# 2036 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1872,19 +2060,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 1880 "parser_cocci_menhir.ml"
+# 2068 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
-# 1264 "parser_cocci_menhir.mly"
+# 1475 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Minus _1 _2 _3 )
-# 1888 "parser_cocci_menhir.ml"
+# 2076 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1912,19 +2100,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 96 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 1920 "parser_cocci_menhir.ml"
+# 2108 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
-# 1266 "parser_cocci_menhir.mly"
+# 1477 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 1928 "parser_cocci_menhir.ml"
+# 2116 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1952,19 +2140,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 95 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 2148 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
+# 1479 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 2156 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 163 "parser_cocci_menhir.mly"
        (Ast_cocci.logicalOp * Data.clt)
-# 1960 "parser_cocci_menhir.ml"
+# 2188 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
-# 1268 "parser_cocci_menhir.mly"
+# 1481 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 1968 "parser_cocci_menhir.ml"
+# 2196 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1992,19 +2220,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2000 "parser_cocci_menhir.ml"
+# 2228 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
-# 1270 "parser_cocci_menhir.mly"
+# 1483 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.Eq _1 _2 _3 )
-# 2008 "parser_cocci_menhir.ml"
+# 2236 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2032,19 +2260,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2040 "parser_cocci_menhir.ml"
+# 2268 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
-# 1272 "parser_cocci_menhir.mly"
+# 1485 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 2048 "parser_cocci_menhir.ml"
+# 2276 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2072,19 +2300,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 93 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2080 "parser_cocci_menhir.ml"
+# 2308 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
-# 1274 "parser_cocci_menhir.mly"
+# 1487 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.And _1 _2 _3 )
-# 2088 "parser_cocci_menhir.ml"
+# 2316 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2112,19 +2340,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 91 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2120 "parser_cocci_menhir.ml"
+# 2348 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
-# 1276 "parser_cocci_menhir.mly"
+# 1489 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Or _1 _2 _3 )
-# 2128 "parser_cocci_menhir.ml"
+# 2356 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2152,19 +2380,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 92 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2160 "parser_cocci_menhir.ml"
+# 2388 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
-# 1278 "parser_cocci_menhir.mly"
+# 1491 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Xor _1 _2 _3 )
-# 2168 "parser_cocci_menhir.ml"
+# 2396 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2192,19 +2420,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 90 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2200 "parser_cocci_menhir.ml"
+# 2428 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
-# 1280 "parser_cocci_menhir.mly"
+# 1493 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 2208 "parser_cocci_menhir.ml"
+# 2436 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2232,19 +2460,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 89 "parser_cocci_menhir.mly"
+# 157 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2240 "parser_cocci_menhir.ml"
+# 2468 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
-# 1282 "parser_cocci_menhir.mly"
+# 1495 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 2248 "parser_cocci_menhir.ml"
+# 2476 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2266,9 +2494,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1256 "parser_cocci_menhir.mly"
+# 1467 "parser_cocci_menhir.mly"
                                             ( _1 )
-# 2272 "parser_cocci_menhir.ml"
+# 2500 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2296,19 +2524,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2304 "parser_cocci_menhir.ml"
+# 2532 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1258 "parser_cocci_menhir.mly"
+# 1469 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Mul _1 _2 _3 )
-# 2312 "parser_cocci_menhir.ml"
+# 2540 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2336,19 +2564,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 97 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 2344 "parser_cocci_menhir.ml"
+# 2572 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1260 "parser_cocci_menhir.mly"
+# 1471 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2352 "parser_cocci_menhir.ml"
+# 2580 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2376,19 +2604,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2384 "parser_cocci_menhir.ml"
+# 2612 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1262 "parser_cocci_menhir.mly"
+# 1473 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Plus _1 _2 _3 )
-# 2392 "parser_cocci_menhir.ml"
+# 2620 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2416,19 +2644,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2424 "parser_cocci_menhir.ml"
+# 2652 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1264 "parser_cocci_menhir.mly"
+# 1475 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Minus _1 _2 _3 )
-# 2432 "parser_cocci_menhir.ml"
+# 2660 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2456,19 +2684,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 96 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 2464 "parser_cocci_menhir.ml"
+# 2692 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1266 "parser_cocci_menhir.mly"
+# 1477 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2472 "parser_cocci_menhir.ml"
+# 2700 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2496,19 +2724,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 95 "parser_cocci_menhir.mly"
-       (Ast_cocci.logicalOp * Data.clt)
-# 2504 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 2732 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1268 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 2512 "parser_cocci_menhir.ml"
+# 1479 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 2740 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2536,19 +2764,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 94 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 2544 "parser_cocci_menhir.ml"
+# 163 "parser_cocci_menhir.mly"
+       (Ast_cocci.logicalOp * Data.clt)
+# 2772 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1270 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.Eq _1 _2 _3 )
-# 2552 "parser_cocci_menhir.ml"
+# 1481 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 2780 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2576,19 +2804,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2584 "parser_cocci_menhir.ml"
+# 2812 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1272 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 2592 "parser_cocci_menhir.ml"
+# 1483 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.Eq _1 _2 _3 )
+# 2820 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2616,19 +2844,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 93 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2624 "parser_cocci_menhir.ml"
+# 2852 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1274 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.And _1 _2 _3 )
-# 2632 "parser_cocci_menhir.ml"
+# 1485 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 2860 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2656,19 +2884,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 91 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2664 "parser_cocci_menhir.ml"
+# 2892 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1276 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Or _1 _2 _3 )
-# 2672 "parser_cocci_menhir.ml"
+# 1487 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.And _1 _2 _3 )
+# 2900 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2696,19 +2924,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 92 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2704 "parser_cocci_menhir.ml"
+# 2932 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1278 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Xor _1 _2 _3 )
-# 2712 "parser_cocci_menhir.ml"
+# 1489 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Or _1 _2 _3 )
+# 2940 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2736,19 +2964,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 90 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2744 "parser_cocci_menhir.ml"
+# 2972 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1280 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 2752 "parser_cocci_menhir.ml"
+# 1491 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Xor _1 _2 _3 )
+# 2980 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2776,43 +3004,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 89 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2784 "parser_cocci_menhir.ml"
+# 3012 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1282 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 2792 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _1 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
-# 1256 "parser_cocci_menhir.mly"
-                                            ( _1 )
-# 2816 "parser_cocci_menhir.ml"
+# 1493 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 3020 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2840,19 +3044,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 157 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2848 "parser_cocci_menhir.ml"
+# 3052 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+        let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
-# 1258 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Mul _1 _2 _3 )
-# 2856 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_eexpr_invalid_ = 
+# 1495 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 3060 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2864,75 +3068,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
-          } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
-        let _2 : (
-# 97 "parser_cocci_menhir.mly"
-       (Ast_cocci.arithOp * Data.clt)
-# 2888 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
-# 1260 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2896 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
-        let _2 : (
-# 98 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 2928 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+        let _1 : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
+        let _endpos = _endpos__1_ in
         let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
-# 1262 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Plus _1 _2 _3 )
-# 2936 "parser_cocci_menhir.ml"
+# 1467 "parser_cocci_menhir.mly"
+                                            ( _1 )
+# 3084 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2960,19 +3108,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2968 "parser_cocci_menhir.ml"
+# 3116 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
-# 1264 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Minus _1 _2 _3 )
-# 2976 "parser_cocci_menhir.ml"
+# 1469 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Mul _1 _2 _3 )
+# 3124 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3000,19 +3148,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 96 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 3008 "parser_cocci_menhir.ml"
+# 3156 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
-# 1266 "parser_cocci_menhir.mly"
+# 1471 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3016 "parser_cocci_menhir.ml"
+# 3164 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3040,19 +3188,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 95 "parser_cocci_menhir.mly"
-       (Ast_cocci.logicalOp * Data.clt)
-# 3048 "parser_cocci_menhir.ml"
+# 166 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 3196 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
-# 1268 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 3056 "parser_cocci_menhir.ml"
+# 1473 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Plus _1 _2 _3 )
+# 3204 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3080,19 +3228,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3088 "parser_cocci_menhir.ml"
+# 3236 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
-# 1270 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.Eq _1 _2 _3 )
-# 3096 "parser_cocci_menhir.ml"
+# 1475 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Minus _1 _2 _3 )
+# 3244 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3120,19 +3268,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 94 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 3128 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3276 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
-# 1272 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 3136 "parser_cocci_menhir.ml"
+# 1477 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3284 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3160,19 +3308,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 93 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 3168 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3316 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
-# 1274 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.And _1 _2 _3 )
-# 3176 "parser_cocci_menhir.ml"
+# 1479 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3324 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3200,19 +3348,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 91 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 3208 "parser_cocci_menhir.ml"
+# 163 "parser_cocci_menhir.mly"
+       (Ast_cocci.logicalOp * Data.clt)
+# 3356 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
-# 1276 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Or _1 _2 _3 )
-# 3216 "parser_cocci_menhir.ml"
+# 1481 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 3364 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3240,19 +3388,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 92 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3248 "parser_cocci_menhir.ml"
+# 3396 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
-# 1278 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Xor _1 _2 _3 )
-# 3256 "parser_cocci_menhir.ml"
+# 1483 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.Eq _1 _2 _3 )
+# 3404 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3280,19 +3428,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 90 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3288 "parser_cocci_menhir.ml"
+# 3436 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
-# 1280 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 3296 "parser_cocci_menhir.ml"
+# 1485 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 3444 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3320,43 +3468,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 89 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3328 "parser_cocci_menhir.ml"
+# 3476 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
-# 1282 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 3336 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_arith_expr_expr_invalid_ = 
-# 1256 "parser_cocci_menhir.mly"
-                                            ( _1 )
-# 3360 "parser_cocci_menhir.ml"
+# 1487 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.And _1 _2 _3 )
+# 3484 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3384,19 +3508,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3392 "parser_cocci_menhir.ml"
+# 3516 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+        let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_arith_expr_expr_invalid_ = 
-# 1258 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Mul _1 _2 _3 )
-# 3400 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
+# 1489 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Or _1 _2 _3 )
+# 3524 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3424,19 +3548,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 97 "parser_cocci_menhir.mly"
-       (Ast_cocci.arithOp * Data.clt)
-# 3432 "parser_cocci_menhir.ml"
+# 160 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 3556 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+        let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_arith_expr_expr_invalid_ = 
-# 1260 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3440 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
+# 1491 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Xor _1 _2 _3 )
+# 3564 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3464,19 +3588,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3472 "parser_cocci_menhir.ml"
+# 3596 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+        let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_arith_expr_expr_invalid_ = 
-# 1262 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Plus _1 _2 _3 )
-# 3480 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
+# 1493 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 3604 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3504,19 +3628,43 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 98 "parser_cocci_menhir.mly"
+# 157 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3512 "parser_cocci_menhir.ml"
+# 3636 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+        let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
+# 1495 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 3644 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
         let _v : 'tv_arith_expr_expr_invalid_ = 
-# 1264 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Minus _1 _2 _3 )
-# 3520 "parser_cocci_menhir.ml"
+# 1467 "parser_cocci_menhir.mly"
+                                            ( _1 )
+# 3668 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3544,19 +3692,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 96 "parser_cocci_menhir.mly"
-       (Ast_cocci.arithOp * Data.clt)
-# 3552 "parser_cocci_menhir.ml"
+# 167 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 3700 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_expr_invalid_ = 
-# 1266 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3560 "parser_cocci_menhir.ml"
+# 1469 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Mul _1 _2 _3 )
+# 3708 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3584,19 +3732,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 95 "parser_cocci_menhir.mly"
-       (Ast_cocci.logicalOp * Data.clt)
-# 3592 "parser_cocci_menhir.ml"
+# 165 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3740 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_expr_invalid_ = 
-# 1268 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 3600 "parser_cocci_menhir.ml"
+# 1471 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3748 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3624,19 +3772,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3632 "parser_cocci_menhir.ml"
+# 3780 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_expr_invalid_ = 
-# 1270 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.Eq _1 _2 _3 )
-# 3640 "parser_cocci_menhir.ml"
+# 1473 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Plus _1 _2 _3 )
+# 3788 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3664,19 +3812,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 94 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3672 "parser_cocci_menhir.ml"
+# 3820 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_expr_invalid_ = 
-# 1272 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 3680 "parser_cocci_menhir.ml"
+# 1475 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Minus _1 _2 _3 )
+# 3828 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3704,19 +3852,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 93 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 3712 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3860 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_expr_invalid_ = 
-# 1274 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.And _1 _2 _3 )
-# 3720 "parser_cocci_menhir.ml"
+# 1477 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3868 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3744,19 +3892,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 91 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 3752 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3900 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_expr_invalid_ = 
-# 1276 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Or _1 _2 _3 )
-# 3760 "parser_cocci_menhir.ml"
+# 1479 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3908 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3784,19 +3932,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 92 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 3792 "parser_cocci_menhir.ml"
+# 163 "parser_cocci_menhir.mly"
+       (Ast_cocci.logicalOp * Data.clt)
+# 3940 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_expr_invalid_ = 
-# 1278 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Xor _1 _2 _3 )
-# 3800 "parser_cocci_menhir.ml"
+# 1481 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 3948 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3824,19 +3972,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 90 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3832 "parser_cocci_menhir.ml"
+# 3980 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_expr_invalid_ = 
-# 1280 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 3840 "parser_cocci_menhir.ml"
+# 1483 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.Eq _1 _2 _3 )
+# 3988 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3864,102 +4012,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 89 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3872 "parser_cocci_menhir.ml"
+# 4020 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_arith_expr_expr_invalid_ = 
-# 1282 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 3880 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_arity = 
-# 466 "parser_cocci_menhir.mly"
-              ( Ast.UNIQUE )
-# 3902 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_arity = 
-# 467 "parser_cocci_menhir.mly"
-              ( Ast.OPT )
-# 3924 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_arity = 
-# 468 "parser_cocci_menhir.mly"
-              ( Ast.MULTI )
-# 3946 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_arity = 
-# 469 "parser_cocci_menhir.mly"
-                   ( Ast.NONE )
-# 3963 "parser_cocci_menhir.ml"
+# 1485 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 4028 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3971,63 +4036,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = r;
-          MenhirLib.EngineTypes.startp = _startpos_r_;
-          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = i;
-            MenhirLib.EngineTypes.startp = _startpos_i_;
-            MenhirLib.EngineTypes.endp = _endpos_i_;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = l;
-              MenhirLib.EngineTypes.startp = _startpos_l_;
-              MenhirLib.EngineTypes.endp = _endpos_l_;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
               MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let r : (
-# 102 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 3994 "parser_cocci_menhir.ml"
-        ) = Obj.magic r in
-        let i : 'tv_option_eexpr_ = Obj.magic i in
-        let l : (
-# 102 "parser_cocci_menhir.mly"
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4000 "parser_cocci_menhir.ml"
-        ) = Obj.magic l in
-        let _startpos = _startpos_l_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_array_dec = 
-# 1063 "parser_cocci_menhir.mly"
-                                           ( (l,i,r) )
-# 4007 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+# 4060 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_assign_expr_eexpr_dot_expressions_ = 
-# 1228 "parser_cocci_menhir.mly"
-                                           ( _1 )
-# 4031 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1487 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.And _1 _2 _3 )
+# 4068 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4055,21 +4092,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 108 "parser_cocci_menhir.mly"
-       (Ast_cocci.assignOp * Data.clt)
-# 4063 "parser_cocci_menhir.ml"
+# 159 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4100 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_assign_expr_eexpr_dot_expressions_ = 
-# 1230 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
-# 4073 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1489 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Or _1 _2 _3 )
+# 4108 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4097,45 +4132,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4105 "parser_cocci_menhir.ml"
+# 4140 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_assign_expr_eexpr_dot_expressions_ = 
-# 1234 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4115 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
-# 1228 "parser_cocci_menhir.mly"
-                                           ( _1 )
-# 4139 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1491 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Xor _1 _2 _3 )
+# 4148 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4163,21 +4172,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 108 "parser_cocci_menhir.mly"
-       (Ast_cocci.assignOp * Data.clt)
-# 4171 "parser_cocci_menhir.ml"
+# 158 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4180 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+        let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
-# 1230 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
-# 4181 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1493 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 4188 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4205,21 +4212,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 157 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4213 "parser_cocci_menhir.ml"
+# 4220 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+        let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
-# 1234 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4223 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1495 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 4228 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4237,13 +4242,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in
+        let _1 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_assign_expr_expr_invalid_ = 
-# 1228 "parser_cocci_menhir.mly"
-                                           ( _1 )
-# 4247 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1500 "parser_cocci_menhir.mly"
+                                                             ( _1 )
+# 4252 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4271,21 +4276,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 108 "parser_cocci_menhir.mly"
-       (Ast_cocci.assignOp * Data.clt)
-# 4279 "parser_cocci_menhir.ml"
+# 167 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4284 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
+        let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_assign_expr_expr_invalid_ = 
-# 1230 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
-# 4289 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1502 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Mul _1 _2 _3 )
+# 4292 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4313,21 +4316,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4321 "parser_cocci_menhir.ml"
+# 165 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 4324 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
+        let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_assign_expr_expr_invalid_ = 
-# 1234 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4331 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1504 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4332 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4339,19 +4340,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 166 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4364 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_assign_expr_bis = 
-# 1239 "parser_cocci_menhir.mly"
-                                                            ( _1 )
-# 4355 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1506 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Plus _1 _2 _3 )
+# 4372 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4379,21 +4396,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 108 "parser_cocci_menhir.mly"
-       (Ast_cocci.assignOp * Data.clt)
-# 4387 "parser_cocci_menhir.ml"
+# 166 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4404 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_assign_expr_bis = 
-# 1241 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
-# 4397 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1508 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Minus _1 _2 _3 )
+# 4412 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4421,21 +4436,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4429 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 4444 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_assign_expr_bis = 
-# 1245 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4439 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1510 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4452 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4447,19 +4460,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 4484 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_basic_expr_eexpr_dot_expressions_ = 
-# 1225 "parser_cocci_menhir.mly"
-                                                             ( _1 )
-# 4463 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1512 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4492 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4471,19 +4500,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 163 "parser_cocci_menhir.mly"
+       (Ast_cocci.logicalOp * Data.clt)
+# 4524 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_basic_expr_eexpr_nest_expressions_ = 
-# 1225 "parser_cocci_menhir.mly"
-                                                             ( _1 )
-# 4487 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1514 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 4532 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4495,19 +4540,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 162 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4564 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_basic_expr_expr_invalid_ = 
-# 1225 "parser_cocci_menhir.mly"
-                                                             ( _1 )
-# 4511 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1516 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.Eq _1 _2 _3 )
+# 4572 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4535,24 +4596,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_fun_start = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4543 "parser_cocci_menhir.ml"
+# 4604 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : (
-# 57 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4548 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_case_line = 
-# 927 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
-# 4556 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1518 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 4612 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4564,45 +4620,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _4;
-          MenhirLib.EngineTypes.startp = _startpos__4_;
-          MenhirLib.EngineTypes.endp = _endpos__4_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _3;
-            MenhirLib.EngineTypes.startp = _startpos__3_;
-            MenhirLib.EngineTypes.endp = _endpos__3_;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = _2;
-              MenhirLib.EngineTypes.startp = _startpos__2_;
-              MenhirLib.EngineTypes.endp = _endpos__2_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = _1;
-                MenhirLib.EngineTypes.startp = _startpos__1_;
-                MenhirLib.EngineTypes.endp = _endpos__1_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let _4 : 'tv_fun_start = Obj.magic _4 in
-        let _3 : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4593 "parser_cocci_menhir.ml"
-        ) = Obj.magic _3 in
-        let _2 : 'tv_eexpr = Obj.magic _2 in
-        let _1 : (
-# 57 "parser_cocci_menhir.mly"
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4599 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+# 4644 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ in
-        let _v : 'tv_case_line = 
-# 930 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
-# 4606 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1520 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.And _1 _2 _3 )
+# 4652 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4614,19 +4660,75 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 159 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4684 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1522 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Or _1 _2 _3 )
+# 4692 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
           MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 160 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4724 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_cast_expr_eexpr_dot_expressions_ = 
-# 1285 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4630 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1524 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Xor _1 _2 _3 )
+# 4732 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4638,46 +4740,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = e;
-          MenhirLib.EngineTypes.startp = _startpos_e_;
-          MenhirLib.EngineTypes.endp = _endpos_e_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = rp;
-            MenhirLib.EngineTypes.startp = _startpos_rp_;
-            MenhirLib.EngineTypes.endp = _endpos_rp_;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = t;
-              MenhirLib.EngineTypes.startp = _startpos_t_;
-              MenhirLib.EngineTypes.endp = _endpos_t_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = lp;
-                MenhirLib.EngineTypes.startp = _startpos_lp_;
-                MenhirLib.EngineTypes.endp = _endpos_lp_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
-        let rp : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4667 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_ctype = Obj.magic t in
-        let lp : (
-# 76 "parser_cocci_menhir.mly"
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 158 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4673 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp in
-        let _startpos = _startpos_lp_ in
-        let _endpos = _endpos_e_ in
-        let _v : 'tv_cast_expr_eexpr_dot_expressions_ = 
-# 1287 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4681 "parser_cocci_menhir.ml"
+# 4764 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1526 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 4772 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4690,18 +4781,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
           MenhirLib.EngineTypes.startp = _startpos__1_;
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_cast_expr_eexpr_invalid_ = 
-# 1285 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4705 "parser_cocci_menhir.ml"
+        let _v : 'tv_arity = 
+# 620 "parser_cocci_menhir.mly"
+              ( Ast.UNIQUE )
+# 4794 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4713,46 +4802,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = e;
-          MenhirLib.EngineTypes.startp = _startpos_e_;
-          MenhirLib.EngineTypes.endp = _endpos_e_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = rp;
-            MenhirLib.EngineTypes.startp = _startpos_rp_;
-            MenhirLib.EngineTypes.endp = _endpos_rp_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = t;
-              MenhirLib.EngineTypes.startp = _startpos_t_;
-              MenhirLib.EngineTypes.endp = _endpos_t_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = lp;
-                MenhirLib.EngineTypes.startp = _startpos_lp_;
-                MenhirLib.EngineTypes.endp = _endpos_lp_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
-        let rp : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4742 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_ctype = Obj.magic t in
-        let lp : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4748 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp in
-        let _startpos = _startpos_lp_ in
-        let _endpos = _endpos_e_ in
-        let _v : 'tv_cast_expr_eexpr_invalid_ = 
-# 1287 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4756 "parser_cocci_menhir.ml"
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_arity = 
+# 621 "parser_cocci_menhir.mly"
+              ( Ast.OPT )
+# 4816 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4765,18 +4825,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
           MenhirLib.EngineTypes.startp = _startpos__1_;
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_cast_expr_eexpr_nest_expressions_ = 
-# 1285 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4780 "parser_cocci_menhir.ml"
+        let _v : 'tv_arity = 
+# 622 "parser_cocci_menhir.mly"
+              ( Ast.MULTI )
+# 4838 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_arity = 
+# 623 "parser_cocci_menhir.mly"
+                   ( Ast.NONE )
+# 4855 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4788,46 +4863,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = e;
-          MenhirLib.EngineTypes.startp = _startpos_e_;
-          MenhirLib.EngineTypes.endp = _endpos_e_;
+          MenhirLib.EngineTypes.semv = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = rp;
-            MenhirLib.EngineTypes.startp = _startpos_rp_;
-            MenhirLib.EngineTypes.endp = _endpos_rp_;
+            MenhirLib.EngineTypes.semv = i;
+            MenhirLib.EngineTypes.startp = _startpos_i_;
+            MenhirLib.EngineTypes.endp = _endpos_i_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = t;
-              MenhirLib.EngineTypes.startp = _startpos_t_;
-              MenhirLib.EngineTypes.endp = _endpos_t_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = lp;
-                MenhirLib.EngineTypes.startp = _startpos_lp_;
-                MenhirLib.EngineTypes.endp = _endpos_lp_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = l;
+              MenhirLib.EngineTypes.startp = _startpos_l_;
+              MenhirLib.EngineTypes.endp = _endpos_l_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
-        let rp : (
-# 77 "parser_cocci_menhir.mly"
+        let r : (
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4817 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_ctype = Obj.magic t in
-        let lp : (
-# 76 "parser_cocci_menhir.mly"
+# 4886 "parser_cocci_menhir.ml"
+        ) = Obj.magic r in
+        let i : 'tv_option_eexpr_ = Obj.magic i in
+        let l : (
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4823 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp in
-        let _startpos = _startpos_lp_ in
-        let _endpos = _endpos_e_ in
-        let _v : 'tv_cast_expr_eexpr_nest_expressions_ = 
-# 1287 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4831 "parser_cocci_menhir.ml"
+# 4892 "parser_cocci_menhir.ml"
+        ) = Obj.magic l in
+        let _startpos = _startpos_l_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_array_dec = 
+# 1279 "parser_cocci_menhir.mly"
+                                           ( (l,i,r) )
+# 4899 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4845,13 +4913,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
+        let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_cast_expr_expr_invalid_ = 
-# 1285 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4855 "parser_cocci_menhir.ml"
+        let _v : 'tv_assign_expr_eexpr_dot_expressions_ = 
+# 1439 "parser_cocci_menhir.mly"
+                                           ( _1 )
+# 4923 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4863,46 +4931,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = e;
-          MenhirLib.EngineTypes.startp = _startpos_e_;
-          MenhirLib.EngineTypes.endp = _endpos_e_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = rp;
-            MenhirLib.EngineTypes.startp = _startpos_rp_;
-            MenhirLib.EngineTypes.endp = _endpos_rp_;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = t;
-              MenhirLib.EngineTypes.startp = _startpos_t_;
-              MenhirLib.EngineTypes.endp = _endpos_t_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = lp;
-                MenhirLib.EngineTypes.startp = _startpos_lp_;
-                MenhirLib.EngineTypes.endp = _endpos_lp_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
-        let rp : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4892 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_ctype = Obj.magic t in
-        let lp : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4898 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp in
-        let _startpos = _startpos_lp_ in
-        let _endpos = _endpos_e_ in
-        let _v : 'tv_cast_expr_expr_invalid_ = 
-# 1287 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4906 "parser_cocci_menhir.ml"
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 176 "parser_cocci_menhir.mly"
+       (Ast_cocci.assignOp * Data.clt)
+# 4955 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_eexpr_dot_expressions_ = 
+# 1441 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 4965 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4914,63 +4973,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
-          } = _menhir_stack in
-        let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_choose_iso = 
-# 237 "parser_cocci_menhir.mly"
-                                                 ( List.map P.id2name _2 )
-# 4934 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
         let _2 : (
-# 73 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4960 "parser_cocci_menhir.ml"
+# 4997 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4965 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_comma_decls_TEllipsis_decl_ = 
-# 1636 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
-       dot_builder _2] )
-# 4974 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_eexpr_dot_expressions_ = 
+# 1445 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5007 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4982,30 +5015,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _2 : 'tv_one_dec_decl_ = Obj.magic _2 in
-        let _1 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 5001 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _1 : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_comma_decls_TEllipsis_decl_ = 
-# 1640 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
-# 5009 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
+# 1439 "parser_cocci_menhir.mly"
+                                           ( _1 )
+# 5031 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5017,35 +5039,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
         let _2 : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 5035 "parser_cocci_menhir.ml"
+# 176 "parser_cocci_menhir.mly"
+       (Ast_cocci.assignOp * Data.clt)
+# 5063 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 5040 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ = 
-# 1636 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
-       dot_builder _2] )
-# 5049 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
+# 1441 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 5073 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5057,30 +5081,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let _2 : 'tv_one_dec_name_opt_decl_ = Obj.magic _2 in
-        let _1 : (
-# 107 "parser_cocci_menhir.mly"
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5076 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+# 5105 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ = 
-# 1640 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
-# 5084 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
+# 1445 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5115 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5091,43 +5122,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = 
-# 1116 "parser_cocci_menhir.mly"
-              ( [] )
-# 5101 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
+        let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = r;
-          MenhirLib.EngineTypes.startp = _startpos_r_;
-          MenhirLib.EngineTypes.endp = _endpos_r_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = d;
-            MenhirLib.EngineTypes.startp = _startpos_d_;
-            MenhirLib.EngineTypes.endp = _endpos_d_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
           } = _menhir_stack in
-        let r : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = Obj.magic r in
-        let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
-        let _startpos = _startpos_d_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = 
-# 1118 "parser_cocci_menhir.mly"
-      ( (function dot_builder -> [dot_builder d])::r )
-# 5131 "parser_cocci_menhir.ml"
+        let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_assign_expr_expr_invalid_ = 
+# 1439 "parser_cocci_menhir.mly"
+                                           ( _1 )
+# 5139 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5139,53 +5147,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = r;
-          MenhirLib.EngineTypes.startp = _startpos_r_;
-          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = c;
-            MenhirLib.EngineTypes.startp = _startpos_c_;
-            MenhirLib.EngineTypes.endp = _endpos_c_;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = i;
-              MenhirLib.EngineTypes.startp = _startpos_i_;
-              MenhirLib.EngineTypes.endp = _endpos_i_;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
               MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
-        let c : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 5163 "parser_cocci_menhir.ml"
-        ) = Obj.magic c in
-        let i : 'tv_initialize2 = Obj.magic i in
-        let _startpos = _startpos_i_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = 
-# 1120 "parser_cocci_menhir.mly"
-    ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
-      r )
-# 5172 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = 
-# 1124 "parser_cocci_menhir.mly"
-              ( [] )
-# 5189 "parser_cocci_menhir.ml"
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 176 "parser_cocci_menhir.mly"
+       (Ast_cocci.assignOp * Data.clt)
+# 5171 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_expr_invalid_ = 
+# 1441 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 5181 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5197,36 +5189,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = r;
-          MenhirLib.EngineTypes.startp = _startpos_r_;
-          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = c;
-            MenhirLib.EngineTypes.startp = _startpos_c_;
-            MenhirLib.EngineTypes.endp = _endpos_c_;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = i;
-              MenhirLib.EngineTypes.startp = _startpos_i_;
-              MenhirLib.EngineTypes.endp = _endpos_i_;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
               MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
-        let c : (
-# 107 "parser_cocci_menhir.mly"
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5221 "parser_cocci_menhir.ml"
-        ) = Obj.magic c in
-        let i : 'tv_initialize2 = Obj.magic i in
-        let _startpos = _startpos_i_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = 
-# 1126 "parser_cocci_menhir.mly"
-    ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
-      r )
-# 5230 "parser_cocci_menhir.ml"
+# 5213 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_expr_invalid_ = 
+# 1445 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5223 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5244,13 +5237,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in
+        let _1 : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_any_strict_ = 
-# 1873 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5254 "parser_cocci_menhir.ml"
+        let _v : 'tv_assign_expr_bis = 
+# 1450 "parser_cocci_menhir.mly"
+                                                            ( _1 )
+# 5247 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5262,19 +5255,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 176 "parser_cocci_menhir.mly"
+       (Ast_cocci.assignOp * Data.clt)
+# 5279 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_ctype_ = 
-# 1873 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5278 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_bis = 
+# 1452 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 5289 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5286,19 +5297,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5321 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_d_ident_ = 
-# 1873 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5302 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_bis = 
+# 1456 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5331 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5316,13 +5345,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
+        let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_ident_or_const_ = 
-# 1873 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5326 "parser_cocci_menhir.ml"
+        let _v : 'tv_basic_expr_eexpr_dot_expressions_ = 
+# 1436 "parser_cocci_menhir.mly"
+                                                           ( _1 )
+# 5355 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5340,13 +5369,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic _1 in
+        let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_meta_ident_ = 
-# 1873 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5350 "parser_cocci_menhir.ml"
+        let _v : 'tv_basic_expr_eexpr_nest_expressions_ = 
+# 1436 "parser_cocci_menhir.mly"
+                                                           ( _1 )
+# 5379 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5364,13 +5393,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _1 in
+        let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_pure_ident_ = 
-# 1873 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5374 "parser_cocci_menhir.ml"
+        let _v : 'tv_basic_expr_expr_invalid_ = 
+# 1436 "parser_cocci_menhir.mly"
+                                                           ( _1 )
+# 5403 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5382,19 +5411,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic _1 in
+        let _3 : 'tv_fun_start = Obj.magic _3 in
+        let _2 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5435 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : (
+# 123 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5440 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_pure_ident_or_meta_ident_ = 
-# 1873 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5398 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_case_line = 
+# 1148 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
+# 5448 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5406,19 +5456,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = _4;
+          MenhirLib.EngineTypes.startp = _startpos__4_;
+          MenhirLib.EngineTypes.endp = _endpos__4_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _3;
+            MenhirLib.EngineTypes.startp = _startpos__3_;
+            MenhirLib.EngineTypes.endp = _endpos__3_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = _2;
+              MenhirLib.EngineTypes.startp = _startpos__2_;
+              MenhirLib.EngineTypes.endp = _endpos__2_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = _1;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic _1 in
+        let _4 : 'tv_fun_start = Obj.magic _4 in
+        let _3 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5485 "parser_cocci_menhir.ml"
+        ) = Obj.magic _3 in
+        let _2 : 'tv_eexpr = Obj.magic _2 in
+        let _1 : (
+# 123 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5491 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = 
-# 1873 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5422 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__4_ in
+        let _v : 'tv_case_line = 
+# 1151 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
+# 5498 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5436,13 +5512,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic _1 in
+        let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = 
-# 1873 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5446 "parser_cocci_menhir.ml"
+        let _v : 'tv_cast_expr_eexpr_dot_expressions_ = 
+# 1531 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5522 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5454,19 +5530,46 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = e;
+          MenhirLib.EngineTypes.startp = _startpos_e_;
+          MenhirLib.EngineTypes.endp = _endpos_e_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = rp;
+            MenhirLib.EngineTypes.startp = _startpos_rp_;
+            MenhirLib.EngineTypes.endp = _endpos_rp_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = t;
+              MenhirLib.EngineTypes.startp = _startpos_t_;
+              MenhirLib.EngineTypes.endp = _endpos_t_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = lp;
+                MenhirLib.EngineTypes.startp = _startpos_lp_;
+                MenhirLib.EngineTypes.endp = _endpos_lp_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = 
-# 1873 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5470 "parser_cocci_menhir.ml"
+        let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5559 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5565 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let _startpos = _startpos_lp_ in
+        let _endpos = _endpos_e_ in
+        let _v : 'tv_cast_expr_eexpr_dot_expressions_ = 
+# 1533 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5573 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5484,13 +5587,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic _1 in
+        let _1 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = 
-# 1873 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5494 "parser_cocci_menhir.ml"
+        let _v : 'tv_cast_expr_eexpr_invalid_ = 
+# 1531 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5597 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5502,19 +5605,46 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = e;
+          MenhirLib.EngineTypes.startp = _startpos_e_;
+          MenhirLib.EngineTypes.endp = _endpos_e_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = rp;
+            MenhirLib.EngineTypes.startp = _startpos_rp_;
+            MenhirLib.EngineTypes.endp = _endpos_rp_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = t;
+              MenhirLib.EngineTypes.startp = _startpos_t_;
+              MenhirLib.EngineTypes.endp = _endpos_t_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = lp;
+                MenhirLib.EngineTypes.startp = _startpos_lp_;
+                MenhirLib.EngineTypes.endp = _endpos_lp_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = 
-# 1873 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5518 "parser_cocci_menhir.ml"
+        let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5634 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5640 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let _startpos = _startpos_lp_ in
+        let _endpos = _endpos_e_ in
+        let _v : 'tv_cast_expr_eexpr_invalid_ = 
+# 1533 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5648 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5532,13 +5662,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic _1 in
+        let _1 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_typedef_ident_ = 
-# 1873 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5542 "parser_cocci_menhir.ml"
+        let _v : 'tv_cast_expr_eexpr_nest_expressions_ = 
+# 1531 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5672 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5550,8 +5680,498 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.semv = e;
+          MenhirLib.EngineTypes.startp = _startpos_e_;
+          MenhirLib.EngineTypes.endp = _endpos_e_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = rp;
+            MenhirLib.EngineTypes.startp = _startpos_rp_;
+            MenhirLib.EngineTypes.endp = _endpos_rp_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = t;
+              MenhirLib.EngineTypes.startp = _startpos_t_;
+              MenhirLib.EngineTypes.endp = _endpos_t_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = lp;
+                MenhirLib.EngineTypes.startp = _startpos_lp_;
+                MenhirLib.EngineTypes.endp = _endpos_lp_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let e : 'tv_cast_expr_eexpr_nest_expressions_ = Obj.magic e in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5709 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5715 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let _startpos = _startpos_lp_ in
+        let _endpos = _endpos_e_ in
+        let _v : 'tv_cast_expr_eexpr_nest_expressions_ = 
+# 1533 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5723 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_cast_expr_expr_invalid_ = 
+# 1531 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5747 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = e;
+          MenhirLib.EngineTypes.startp = _startpos_e_;
+          MenhirLib.EngineTypes.endp = _endpos_e_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = rp;
+            MenhirLib.EngineTypes.startp = _startpos_rp_;
+            MenhirLib.EngineTypes.endp = _endpos_rp_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = t;
+              MenhirLib.EngineTypes.startp = _startpos_t_;
+              MenhirLib.EngineTypes.endp = _endpos_t_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = lp;
+                MenhirLib.EngineTypes.startp = _startpos_lp_;
+                MenhirLib.EngineTypes.endp = _endpos_lp_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5784 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5790 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let _startpos = _startpos_lp_ in
+        let _endpos = _endpos_e_ in
+        let _v : 'tv_cast_expr_expr_invalid_ = 
+# 1533 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5798 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_choose_iso = 
+# 307 "parser_cocci_menhir.mly"
+                                                 ( List.map P.id2name _2 )
+# 5826 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_any_strict_ = 
+# 2235 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5850 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_ctype_ = 
+# 2235 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5874 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_d_ident_ = 
+# 2235 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5898 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_ident_or_const_ = 
+# 2235 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5922 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_meta_ident_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_meta_ident_ = 
+# 2235 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5946 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_pure_ident_ = 
+# 2235 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5970 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_pure_ident_or_meta_ident_ = 
+# 2235 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5994 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = 
+# 2235 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 6018 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = 
+# 2235 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 6042 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = 
+# 2235 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 6066 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = 
+# 2235 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 6090 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = 
+# 2235 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 6114 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = 
+# 2235 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 6138 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_typedef_ident_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_typedef_ident_ = 
+# 2235 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 6162 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
           MenhirLib.EngineTypes.startp = _startpos__1_;
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
@@ -5560,9 +6180,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_cond_expr_eexpr_dot_expressions_ = 
-# 1250 "parser_cocci_menhir.mly"
+# 1461 "parser_cocci_menhir.mly"
                                              ( _1 )
-# 5566 "parser_cocci_menhir.ml"
+# 6186 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5600,26 +6220,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let r : 'tv_cond_expr_eexpr_dot_expressions_ = Obj.magic r in
+        let r : 'tv_eexpr = Obj.magic r in
         let dd : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5608 "parser_cocci_menhir.ml"
+# 6228 "parser_cocci_menhir.ml"
         ) = Obj.magic dd in
         let t : 'tv_option_eexpr_ = Obj.magic t in
         let w : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5614 "parser_cocci_menhir.ml"
+# 6234 "parser_cocci_menhir.ml"
         ) = Obj.magic w in
         let l : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic l in
         let _startpos = _startpos_l_ in
         let _endpos = _endpos_r_ in
         let _v : 'tv_cond_expr_eexpr_dot_expressions_ = 
-# 1252 "parser_cocci_menhir.mly"
+# 1463 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
                                 P.clt2mcode ":" dd, r)) )
-# 5623 "parser_cocci_menhir.ml"
+# 6243 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5641,9 +6261,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_cond_expr_eexpr_nest_expressions_ = 
-# 1250 "parser_cocci_menhir.mly"
+# 1461 "parser_cocci_menhir.mly"
                                              ( _1 )
-# 5647 "parser_cocci_menhir.ml"
+# 6267 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5681,26 +6301,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let r : 'tv_cond_expr_eexpr_nest_expressions_ = Obj.magic r in
+        let r : 'tv_eexpr = Obj.magic r in
         let dd : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5689 "parser_cocci_menhir.ml"
+# 6309 "parser_cocci_menhir.ml"
         ) = Obj.magic dd in
         let t : 'tv_option_eexpr_ = Obj.magic t in
         let w : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5695 "parser_cocci_menhir.ml"
+# 6315 "parser_cocci_menhir.ml"
         ) = Obj.magic w in
         let l : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic l in
         let _startpos = _startpos_l_ in
         let _endpos = _endpos_r_ in
         let _v : 'tv_cond_expr_eexpr_nest_expressions_ = 
-# 1252 "parser_cocci_menhir.mly"
+# 1463 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
                                 P.clt2mcode ":" dd, r)) )
-# 5704 "parser_cocci_menhir.ml"
+# 6324 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5722,9 +6342,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_cond_expr_expr_invalid_ = 
-# 1250 "parser_cocci_menhir.mly"
+# 1461 "parser_cocci_menhir.mly"
                                              ( _1 )
-# 5728 "parser_cocci_menhir.ml"
+# 6348 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5762,26 +6382,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let r : 'tv_cond_expr_expr_invalid_ = Obj.magic r in
+        let r : 'tv_eexpr = Obj.magic r in
         let dd : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5770 "parser_cocci_menhir.ml"
+# 6390 "parser_cocci_menhir.ml"
         ) = Obj.magic dd in
         let t : 'tv_option_eexpr_ = Obj.magic t in
         let w : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5776 "parser_cocci_menhir.ml"
+# 6396 "parser_cocci_menhir.ml"
         ) = Obj.magic w in
         let l : 'tv_arith_expr_expr_invalid_ = Obj.magic l in
         let _startpos = _startpos_l_ in
         let _endpos = _endpos_r_ in
         let _v : 'tv_cond_expr_expr_invalid_ = 
-# 1252 "parser_cocci_menhir.mly"
+# 1463 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
                                 P.clt2mcode ":" dd, r)) )
-# 5785 "parser_cocci_menhir.ml"
+# 6405 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5800,16 +6420,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 54 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
       (Data.clt)
-# 5806 "parser_cocci_menhir.ml"
+# 6426 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_const_vol = 
-# 836 "parser_cocci_menhir.mly"
+# 1056 "parser_cocci_menhir.mly"
                    ( P.clt2mcode Ast.Const _1 )
-# 5813 "parser_cocci_menhir.ml"
+# 6433 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5828,16 +6448,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 54 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
       (Data.clt)
-# 5834 "parser_cocci_menhir.ml"
+# 6454 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_const_vol = 
-# 837 "parser_cocci_menhir.mly"
+# 1057 "parser_cocci_menhir.mly"
                    ( P.clt2mcode Ast.Volatile _1 )
-# 5841 "parser_cocci_menhir.ml"
+# 6461 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5848,13 +6468,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_continue_struct_decl_list = 
-# 590 "parser_cocci_menhir.mly"
-                                     ( [] )
-# 5858 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_aexpr = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_continue_list_aexpr_TEllipsis_ = 
+# 2011 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6485 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5877,14 +6504,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
-        let _1 : 'tv_struct_decl = Obj.magic _1 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6511 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_aexpr = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : 'tv_continue_struct_decl_list = 
-# 591 "parser_cocci_menhir.mly"
-                                     ( _1@_2 )
-# 5888 "parser_cocci_menhir.ml"
+        let _v : 'tv_continue_list_aexpr_TEllipsis_ = 
+# 2013 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6520 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5896,19 +6528,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_struct_decl = Obj.magic _1 in
+        let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6552 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_aexpr = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_continue_struct_decl_list = 
-# 592 "parser_cocci_menhir.mly"
-                                     ( _1 )
-# 5912 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_continue_list_aexpr_TEllipsis_ = 
+# 2016 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6562 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5920,63 +6570,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty00;
-            MenhirLib.EngineTypes.startp = _startpos_ty00_;
-            MenhirLib.EngineTypes.endp = _endpos_ty00_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty00 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 5944 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 5949 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
-        let _endpos = _endpos_m_ in
-        let _v : 'tv_ctype = let ty =
-          let ty0 = ty00 in
-          let r = r0 in
-          let ty =
-            let ty = ty0 in
-            
-# 476 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 5961 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 528 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 5967 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 5974 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 536 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 5980 "parser_cocci_menhir.ml"
+        let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_continue_list_aexpr_TEllipsis_ = 
+# 2019 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6590 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5988,63 +6598,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty00;
-            MenhirLib.EngineTypes.startp = _startpos_ty00_;
-            MenhirLib.EngineTypes.endp = _endpos_ty00_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty00 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6012 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6017 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
-        let _endpos = _endpos_m_ in
-        let _v : 'tv_ctype = let ty =
-          let ty0 = ty00 in
-          let r = r0 in
-          let ty =
-            let ty = ty0 in
-            
-# 478 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 6029 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 528 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6035 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6042 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 536 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6048 "parser_cocci_menhir.ml"
+        let _1 : 'tv_dparam = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_continue_list_dparam_TEllipsis_ = 
+# 2011 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6614 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6056,63 +6622,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty00;
-            MenhirLib.EngineTypes.startp = _startpos_ty00_;
-            MenhirLib.EngineTypes.endp = _endpos_ty00_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty00 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6080 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6085 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
-        let _endpos = _endpos_m_ in
-        let _v : 'tv_ctype = let ty =
-          let ty0 = ty00 in
-          let r = r0 in
-          let ty =
-            let ty = ty0 in
-            
-# 480 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 6097 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 528 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6103 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6110 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 536 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6116 "parser_cocci_menhir.ml"
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6640 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_dparam = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_continue_list_dparam_TEllipsis_ = 
+# 2013 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6649 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6124,64 +6657,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = p00;
-            MenhirLib.EngineTypes.startp = _startpos_p00_;
-            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
               MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 64 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 6148 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6153 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
-        let _endpos = _endpos_m_ in
-        let _v : 'tv_ctype = let ty =
-          let p0 = p00 in
-          let r = r0 in
-          let ty =
-            let p = p0 in
-            
-# 482 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 6166 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 528 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6172 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6179 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 536 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6185 "parser_cocci_menhir.ml"
+        let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6681 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_dparam = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_continue_list_dparam_TEllipsis_ = 
+# 2016 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6691 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6193,84 +6699,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = p00;
-            MenhirLib.EngineTypes.startp = _startpos_p00_;
-            MenhirLib.EngineTypes.endp = _endpos_p00_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = r00;
-                MenhirLib.EngineTypes.startp = _startpos_r00_;
-                MenhirLib.EngineTypes.endp = _endpos_r00_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = r1;
-                  MenhirLib.EngineTypes.startp = _startpos_r1_;
-                  MenhirLib.EngineTypes.endp = _endpos_r1_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 6226 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r00 : (
-# 47 "parser_cocci_menhir.mly"
-      (string)
-# 6231 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let r1 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6236 "parser_cocci_menhir.ml"
-        ) = Obj.magic r1 in
-        let _startpos = _startpos_r1_ in
-        let _endpos = _endpos_m_ in
-        let _v : 'tv_ctype = let ty =
-          let p0 = p00 in
-          let r0 = r00 in
-          let r = r1 in
-          let ty =
-            let p = p0 in
-            let r = r0 in
-            
-# 485 "parser_cocci_menhir.mly"
-    ( let nm = (r,P.id2name p) in
-    (* this is only possible when we are in a metavar decl.  Otherwise,
-       it will be represented already as a MetaType *)
-    let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
-    Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
-                           Ast0.Impure (*will be ignored*))) )
-# 6255 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 528 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6261 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6268 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 536 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6274 "parser_cocci_menhir.ml"
+        let _2 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_continue_list_dparam_TEllipsis_ = 
+# 2019 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6719 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6282,63 +6727,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty00;
-            MenhirLib.EngineTypes.startp = _startpos_ty00_;
-            MenhirLib.EngineTypes.endp = _endpos_ty00_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty00 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6306 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6311 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
-        let _endpos = _endpos_m_ in
-        let _v : 'tv_ctype = let ty =
-          let ty0 = ty00 in
-          let r = r0 in
-          let ty =
-            let ty = ty0 in
-            
-# 492 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 6323 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 528 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6329 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6336 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 536 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6342 "parser_cocci_menhir.ml"
+        let _1 : 'tv_enum_decl_one = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
+# 2011 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6743 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6350,78 +6751,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty200;
-            MenhirLib.EngineTypes.startp = _startpos_ty200_;
-            MenhirLib.EngineTypes.endp = _endpos_ty200_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = ty100;
-              MenhirLib.EngineTypes.startp = _startpos_ty100_;
-              MenhirLib.EngineTypes.endp = _endpos_ty100_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = r0;
-                MenhirLib.EngineTypes.startp = _startpos_r0_;
-                MenhirLib.EngineTypes.endp = _endpos_r0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty200 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6379 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6384 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6389 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
-        let _endpos = _endpos_m_ in
-        let _v : 'tv_ctype = let ty =
-          let ty20 = ty200 in
-          let ty10 = ty100 in
-          let r = r0 in
-          let ty =
-            let ty2 = ty20 in
-            let ty1 = ty10 in
-            
-# 494 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 6406 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 528 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6412 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6419 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 536 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6425 "parser_cocci_menhir.ml"
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6769 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_enum_decl_one = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
+# 2013 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6778 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6433,63 +6786,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty00;
-            MenhirLib.EngineTypes.startp = _startpos_ty00_;
-            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
               MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty00 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6457 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6462 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
-        let _endpos = _endpos_m_ in
-        let _v : 'tv_ctype = let ty =
-          let ty0 = ty00 in
-          let r = r0 in
-          let ty =
-            let ty = ty0 in
-            
-# 476 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 6474 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6480 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6487 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 536 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6493 "parser_cocci_menhir.ml"
+        let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6810 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_enum_decl_one = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
+# 2016 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6820 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6501,63 +6828,481 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty00;
-            MenhirLib.EngineTypes.startp = _startpos_ty00_;
-            MenhirLib.EngineTypes.endp = _endpos_ty00_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty00 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6525 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6530 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
-        let _endpos = _endpos_m_ in
-        let _v : 'tv_ctype = let ty =
-          let ty0 = ty00 in
-          let r = r0 in
-          let ty =
-            let ty = ty0 in
-            
-# 478 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 6542 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6548 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6555 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 536 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6561 "parser_cocci_menhir.ml"
+        let _2 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
+# 2019 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6848 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_initialize2 = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = 
+# 2011 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6872 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6898 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_initialize2 = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = 
+# 2013 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6907 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6939 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_initialize2 = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = 
+# 2016 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6949 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = 
+# 2019 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6977 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = 
+# 2011 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 7001 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 7027 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = 
+# 2013 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 7036 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 7068 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = 
+# 2016 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 7078 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_continue_list_one_dec_decl__TEllipsis_ = 
+# 2019 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 7106 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = 
+# 2011 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 7130 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 7156 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = 
+# 2013 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 7165 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 7197 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = 
+# 2016 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 7207 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = 
+# 2019 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 7235 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_continue_struct_decl_list = 
+# 766 "parser_cocci_menhir.mly"
+                                     ( [] )
+# 7252 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
+        let _1 : 'tv_struct_decl = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_continue_struct_decl_list = 
+# 767 "parser_cocci_menhir.mly"
+                                     ( _1@_2 )
+# 7282 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_struct_decl = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_continue_struct_decl_list = 
+# 768 "parser_cocci_menhir.mly"
+                                     ( _1 )
+# 7306 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6587,14 +7332,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6593 "parser_cocci_menhir.ml"
+# 7338 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6598 "parser_cocci_menhir.ml"
+# 7343 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -6604,28 +7349,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 480 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 6610 "parser_cocci_menhir.ml"
+# 630 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 7355 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6616 "parser_cocci_menhir.ml"
+# 693 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7361 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6623 "parser_cocci_menhir.ml"
+# 7368 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6629 "parser_cocci_menhir.ml"
+# 7374 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6641,9 +7386,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = p00;
-            MenhirLib.EngineTypes.startp = _startpos_p00_;
-            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
               MenhirLib.EngineTypes.semv = r0;
@@ -6654,47 +7399,46 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 64 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 6661 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7406 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6666 "parser_cocci_menhir.ml"
+# 7411 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let p0 = p00 in
+          let ty0 = ty00 in
           let r = r0 in
           let ty =
-            let p = p0 in
+            let ty = ty0 in
             
-# 482 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 6679 "parser_cocci_menhir.ml"
+# 632 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 7423 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6685 "parser_cocci_menhir.ml"
+# 693 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7429 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6692 "parser_cocci_menhir.ml"
+# 7436 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6698 "parser_cocci_menhir.ml"
+# 7442 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6710,80 +7454,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = p00;
-            MenhirLib.EngineTypes.startp = _startpos_p00_;
-            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = r00;
-                MenhirLib.EngineTypes.startp = _startpos_r00_;
-                MenhirLib.EngineTypes.endp = _endpos_r00_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = r1;
-                  MenhirLib.EngineTypes.startp = _startpos_r1_;
-                  MenhirLib.EngineTypes.endp = _endpos_r1_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 6739 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r00 : (
-# 47 "parser_cocci_menhir.mly"
-      (string)
-# 6744 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let r1 : (
-# 51 "parser_cocci_menhir.mly"
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6749 "parser_cocci_menhir.ml"
-        ) = Obj.magic r1 in
-        let _startpos = _startpos_r1_ in
+# 7474 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7479 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let p0 = p00 in
-          let r0 = r00 in
-          let r = r1 in
+          let ty0 = ty00 in
+          let r = r0 in
           let ty =
-            let p = p0 in
-            let r = r0 in
+            let ty = ty0 in
             
-# 485 "parser_cocci_menhir.mly"
-    ( let nm = (r,P.id2name p) in
-    (* this is only possible when we are in a metavar decl.  Otherwise,
-       it will be represented already as a MetaType *)
-    let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
-    Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
-                           Ast0.Impure (*will be ignored*))) )
-# 6768 "parser_cocci_menhir.ml"
+# 634 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 7491 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6774 "parser_cocci_menhir.ml"
+# 693 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7497 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6781 "parser_cocci_menhir.ml"
+# 7504 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6787 "parser_cocci_menhir.ml"
+# 7510 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6799,9 +7522,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty00;
-            MenhirLib.EngineTypes.startp = _startpos_ty00_;
-            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.semv = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
               MenhirLib.EngineTypes.semv = r0;
@@ -6812,46 +7535,47 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty00 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6819 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
+        let p00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 7542 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6824 "parser_cocci_menhir.ml"
+# 7547 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let ty0 = ty00 in
+          let p0 = p00 in
           let r = r0 in
           let ty =
-            let ty = ty0 in
+            let p = p0 in
             
-# 492 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 6836 "parser_cocci_menhir.ml"
+# 636 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 7560 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6842 "parser_cocci_menhir.ml"
+# 693 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7566 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6849 "parser_cocci_menhir.ml"
+# 7573 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6855 "parser_cocci_menhir.ml"
+# 7579 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6867,9 +7591,166 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty200;
-            MenhirLib.EngineTypes.startp = _startpos_ty200_;
-            MenhirLib.EngineTypes.endp = _endpos_ty200_;
+            MenhirLib.EngineTypes.semv = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = r00;
+                MenhirLib.EngineTypes.startp = _startpos_r00_;
+                MenhirLib.EngineTypes.endp = _endpos_r00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = r1;
+                  MenhirLib.EngineTypes.startp = _startpos_r1_;
+                  MenhirLib.EngineTypes.endp = _endpos_r1_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 7620 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r00 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 7625 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let r1 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7630 "parser_cocci_menhir.ml"
+        ) = Obj.magic r1 in
+        let _startpos = _startpos_r1_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let p0 = p00 in
+          let r0 = r00 in
+          let r = r1 in
+          let ty =
+            let p = p0 in
+            let r = r0 in
+            
+# 639 "parser_cocci_menhir.mly"
+    ( let nm = (r,P.id2name p) in
+    (* this is only possible when we are in a metavar decl.  Otherwise,
+       it will be represented already as a MetaType *)
+    let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
+    Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
+                           Ast0.Impure (*will be ignored*))) )
+# 7649 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 693 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7655 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 7662 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 7668 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7700 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7705 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let ty0 = ty00 in
+          let r = r0 in
+          let ty =
+            let ty = ty0 in
+            
+# 646 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 7717 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 693 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7723 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 7730 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 7736 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty200;
+            MenhirLib.EngineTypes.startp = _startpos_ty200_;
+            MenhirLib.EngineTypes.endp = _endpos_ty200_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.semv = ty100;
               MenhirLib.EngineTypes.startp = _startpos_ty100_;
@@ -6886,19 +7767,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6892 "parser_cocci_menhir.ml"
+# 7773 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6897 "parser_cocci_menhir.ml"
+# 7778 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6902 "parser_cocci_menhir.ml"
+# 7783 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -6910,31 +7791,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 494 "parser_cocci_menhir.mly"
+# 648 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 6919 "parser_cocci_menhir.ml"
+# 7800 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6925 "parser_cocci_menhir.ml"
+# 693 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7806 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6932 "parser_cocci_menhir.ml"
+# 7813 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6938 "parser_cocci_menhir.ml"
+# 7819 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6950,48 +7831,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
             MenhirLib.EngineTypes.semv = ty00;
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6965 "parser_cocci_menhir.ml"
+# 7851 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7856 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let ty0 = ty00 in
+          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 476 "parser_cocci_menhir.mly"
+# 630 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 6976 "parser_cocci_menhir.ml"
+# 7868 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 6982 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 7874 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6989 "parser_cocci_menhir.ml"
+# 7881 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6995 "parser_cocci_menhir.ml"
+# 7887 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7007,48 +7899,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
             MenhirLib.EngineTypes.semv = ty00;
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7022 "parser_cocci_menhir.ml"
+# 7919 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7924 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let ty0 = ty00 in
+          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 478 "parser_cocci_menhir.mly"
+# 632 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 7033 "parser_cocci_menhir.ml"
+# 7936 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7039 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 7942 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7046 "parser_cocci_menhir.ml"
+# 7949 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7052 "parser_cocci_menhir.ml"
+# 7955 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7064,48 +7967,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
             MenhirLib.EngineTypes.semv = ty00;
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7079 "parser_cocci_menhir.ml"
+# 7987 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7992 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let ty0 = ty00 in
+          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 480 "parser_cocci_menhir.mly"
+# 634 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 7090 "parser_cocci_menhir.ml"
+# 8004 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7096 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8010 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7103 "parser_cocci_menhir.ml"
+# 8017 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7109 "parser_cocci_menhir.ml"
+# 8023 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7121,49 +8035,60 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
             MenhirLib.EngineTypes.semv = p00;
             MenhirLib.EngineTypes.startp = _startpos_p00_;
             MenhirLib.EngineTypes.endp = _endpos_p00_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 7136 "parser_cocci_menhir.ml"
+# 8055 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
-        let _startpos = _startpos_p00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8060 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let p0 = p00 in
+          let r = r0 in
           let ty =
             let p = p0 in
             
-# 482 "parser_cocci_menhir.mly"
+# 636 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 7148 "parser_cocci_menhir.ml"
+# 8073 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7154 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8079 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7161 "parser_cocci_menhir.ml"
+# 8086 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7167 "parser_cocci_menhir.ml"
+# 8092 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7183,65 +8108,76 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_p00_;
             MenhirLib.EngineTypes.endp = _endpos_p00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__2_;
-              MenhirLib.EngineTypes.endp = _endpos__2_;
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
                 MenhirLib.EngineTypes.semv = r00;
                 MenhirLib.EngineTypes.startp = _startpos_r00_;
                 MenhirLib.EngineTypes.endp = _endpos_r00_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = r1;
+                  MenhirLib.EngineTypes.startp = _startpos_r1_;
+                  MenhirLib.EngineTypes.endp = _endpos_r1_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
                 };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 7203 "parser_cocci_menhir.ml"
+# 8133 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 7208 "parser_cocci_menhir.ml"
+# 8138 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let _startpos = _startpos_r00_ in
+        let r1 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8143 "parser_cocci_menhir.ml"
+        ) = Obj.magic r1 in
+        let _startpos = _startpos_r1_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let p0 = p00 in
           let r0 = r00 in
+          let r = r1 in
           let ty =
             let p = p0 in
             let r = r0 in
             
-# 485 "parser_cocci_menhir.mly"
+# 639 "parser_cocci_menhir.mly"
     ( let nm = (r,P.id2name p) in
     (* this is only possible when we are in a metavar decl.  Otherwise,
        it will be represented already as a MetaType *)
     let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
     Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
                            Ast0.Impure (*will be ignored*))) )
-# 7226 "parser_cocci_menhir.ml"
+# 8162 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7232 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8168 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7239 "parser_cocci_menhir.ml"
+# 8175 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7245 "parser_cocci_menhir.ml"
+# 8181 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7257,48 +8193,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
             MenhirLib.EngineTypes.semv = ty00;
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7272 "parser_cocci_menhir.ml"
+# 8213 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8218 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let ty0 = ty00 in
+          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 492 "parser_cocci_menhir.mly"
+# 646 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 7283 "parser_cocci_menhir.ml"
+# 8230 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7289 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8236 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7296 "parser_cocci_menhir.ml"
+# 8243 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7302 "parser_cocci_menhir.ml"
+# 8249 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7318,59 +8265,70 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty200_;
             MenhirLib.EngineTypes.endp = _endpos_ty200_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
               MenhirLib.EngineTypes.semv = ty100;
               MenhirLib.EngineTypes.startp = _startpos_ty100_;
               MenhirLib.EngineTypes.endp = _endpos_ty100_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = r0;
+                MenhirLib.EngineTypes.startp = _startpos_r0_;
+                MenhirLib.EngineTypes.endp = _endpos_r0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7334 "parser_cocci_menhir.ml"
+# 8286 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7339 "parser_cocci_menhir.ml"
+# 8291 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
-        let _startpos = _startpos_ty100_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8296 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let ty20 = ty200 in
           let ty10 = ty100 in
+          let r = r0 in
           let ty =
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 494 "parser_cocci_menhir.mly"
+# 648 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 7355 "parser_cocci_menhir.ml"
+# 8313 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7361 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8319 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7368 "parser_cocci_menhir.ml"
+# 8326 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7374 "parser_cocci_menhir.ml"
+# 8332 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7395,9 +8353,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 50 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7401 "parser_cocci_menhir.ml"
+# 8359 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -7406,28 +8364,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 502 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 7412 "parser_cocci_menhir.ml"
+# 630 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 8370 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7418 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8376 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7425 "parser_cocci_menhir.ml"
+# 8383 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7431 "parser_cocci_menhir.ml"
+# 8389 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7452,9 +8410,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7458 "parser_cocci_menhir.ml"
+# 8416 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -7463,28 +8421,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 504 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 7469 "parser_cocci_menhir.ml"
+# 632 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 8427 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7475 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8433 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7482 "parser_cocci_menhir.ml"
+# 8440 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7488 "parser_cocci_menhir.ml"
+# 8446 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7509,9 +8467,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7515 "parser_cocci_menhir.ml"
+# 8473 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -7520,28 +8478,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 506 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 7526 "parser_cocci_menhir.ml"
+# 634 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 8484 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7532 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8490 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7539 "parser_cocci_menhir.ml"
+# 8497 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7545 "parser_cocci_menhir.ml"
+# 8503 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7557,56 +8515,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = i00;
-            MenhirLib.EngineTypes.startp = _startpos_i00_;
-            MenhirLib.EngineTypes.endp = _endpos_i00_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = s00;
-              MenhirLib.EngineTypes.startp = _startpos_s00_;
-              MenhirLib.EngineTypes.endp = _endpos_s00_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let i00 : 'tv_ident = Obj.magic i00 in
-        let s00 : (
-# 50 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 7578 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let p00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 8530 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let _startpos = _startpos_p00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let i0 = i00 in
-          let s0 = s00 in
+          let p0 = p00 in
           let ty =
-            let i = i0 in
-            let s = s0 in
+            let p = p0 in
             
-# 508 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 7591 "parser_cocci_menhir.ml"
+# 636 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 8542 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7597 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8548 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7604 "parser_cocci_menhir.ml"
+# 8555 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7610 "parser_cocci_menhir.ml"
+# 8561 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7622,52 +8573,69 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = i00;
-            MenhirLib.EngineTypes.startp = _startpos_i00_;
-            MenhirLib.EngineTypes.endp = _endpos_i00_;
+            MenhirLib.EngineTypes.semv = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = s00;
-              MenhirLib.EngineTypes.startp = _startpos_s00_;
-              MenhirLib.EngineTypes.endp = _endpos_s00_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.startp = _startpos__2_;
+              MenhirLib.EngineTypes.endp = _endpos__2_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = r00;
+                MenhirLib.EngineTypes.startp = _startpos_r00_;
+                MenhirLib.EngineTypes.endp = _endpos_r00_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let i00 : 'tv_ident = Obj.magic i00 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 8597 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r00 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 8602 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let _startpos = _startpos_r00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let i0 = i00 in
-          let s0 = s00 in
+          let p0 = p00 in
+          let r0 = r00 in
           let ty =
-            let i = i0 in
-            let s = s0 in
+            let p = p0 in
+            let r = r0 in
             
-# 510 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 7652 "parser_cocci_menhir.ml"
+# 639 "parser_cocci_menhir.mly"
+    ( let nm = (r,P.id2name p) in
+    (* this is only possible when we are in a metavar decl.  Otherwise,
+       it will be represented already as a MetaType *)
+    let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
+    Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
+                           Ast0.Impure (*will be ignored*))) )
+# 8620 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7658 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8626 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7665 "parser_cocci_menhir.ml"
+# 8633 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7671 "parser_cocci_menhir.ml"
+# 8639 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7683,87 +8651,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = r00;
-            MenhirLib.EngineTypes.startp = _startpos_r00_;
-            MenhirLib.EngineTypes.endp = _endpos_r00_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = d00;
-              MenhirLib.EngineTypes.startp = _startpos_d00_;
-              MenhirLib.EngineTypes.endp = _endpos_d00_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = l00;
-                MenhirLib.EngineTypes.startp = _startpos_l00_;
-                MenhirLib.EngineTypes.endp = _endpos_l00_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = s00;
-                  MenhirLib.EngineTypes.startp = _startpos_s00_;
-                  MenhirLib.EngineTypes.endp = _endpos_s00_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let r00 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 7713 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 7719 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8666 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let r0 = r00 in
-          let d0 = d00 in
-          let l0 = l00 in
-          let s0 = s00 in
+          let ty0 = ty00 in
           let ty =
-            let r = r0 in
-            let d = d0 in
-            let l = l0 in
-            let s = s0 in
-            let i =
-              
-# 39 "standard.mly"
-    ( None )
-# 7738 "parser_cocci_menhir.ml"
-              
-            in
+            let ty = ty0 in
             
-# 513 "parser_cocci_menhir.mly"
-    ( (if i = None && !Data.in_iso
-    then failwith "structures must be named in the iso file");
-      Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
-                                   P.clt2mcode "{" l,
-                                   d, P.clt2mcode "}" r)) )
-# 7748 "parser_cocci_menhir.ml"
+# 646 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 8677 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7754 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8683 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7761 "parser_cocci_menhir.ml"
+# 8690 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7767 "parser_cocci_menhir.ml"
+# 8696 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7779,96 +8708,63 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = r00;
-            MenhirLib.EngineTypes.startp = _startpos_r00_;
-            MenhirLib.EngineTypes.endp = _endpos_r00_;
+            MenhirLib.EngineTypes.semv = ty200;
+            MenhirLib.EngineTypes.startp = _startpos_ty200_;
+            MenhirLib.EngineTypes.endp = _endpos_ty200_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = d00;
-              MenhirLib.EngineTypes.startp = _startpos_d00_;
-              MenhirLib.EngineTypes.endp = _endpos_d00_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = l00;
-                MenhirLib.EngineTypes.startp = _startpos_l00_;
-                MenhirLib.EngineTypes.endp = _endpos_l00_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = x000;
-                  MenhirLib.EngineTypes.startp = _startpos_x000_;
-                  MenhirLib.EngineTypes.endp = _endpos_x000_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = s00;
-                    MenhirLib.EngineTypes.startp = _startpos_s00_;
-                    MenhirLib.EngineTypes.endp = _endpos_s00_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
-                    };
-                  };
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = ty100;
+              MenhirLib.EngineTypes.startp = _startpos_ty100_;
+              MenhirLib.EngineTypes.endp = _endpos_ty100_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let r00 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 7814 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 7820 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let x000 : 'tv_ident = Obj.magic x000 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8728 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8733 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty100 in
+        let _startpos = _startpos_ty100_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let r0 = r00 in
-          let d0 = d00 in
-          let l0 = l00 in
-          let x00 = x000 in
-          let s0 = s00 in
+          let ty20 = ty200 in
+          let ty10 = ty100 in
           let ty =
-            let r = r0 in
-            let d = d0 in
-            let l = l0 in
-            let x0 = x00 in
-            let s = s0 in
-            let i =
-              let x = x0 in
-              
-# 41 "standard.mly"
-    ( Some x )
-# 7843 "parser_cocci_menhir.ml"
-              
-            in
-            
-# 513 "parser_cocci_menhir.mly"
-    ( (if i = None && !Data.in_iso
-    then failwith "structures must be named in the iso file");
-      Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
-                                   P.clt2mcode "{" l,
-                                   d, P.clt2mcode "}" r)) )
-# 7853 "parser_cocci_menhir.ml"
+            let ty2 = ty20 in
+            let ty1 = ty10 in
+            
+# 648 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 8749 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7859 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8755 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7866 "parser_cocci_menhir.ml"
+# 8762 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7872 "parser_cocci_menhir.ml"
+# 8768 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7884,82 +8780,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = r00;
-            MenhirLib.EngineTypes.startp = _startpos_r00_;
-            MenhirLib.EngineTypes.endp = _endpos_r00_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = d00;
-              MenhirLib.EngineTypes.startp = _startpos_d00_;
-              MenhirLib.EngineTypes.endp = _endpos_d00_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = l00;
-                MenhirLib.EngineTypes.startp = _startpos_l00_;
-                MenhirLib.EngineTypes.endp = _endpos_l00_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = s00;
-                  MenhirLib.EngineTypes.startp = _startpos_s00_;
-                  MenhirLib.EngineTypes.endp = _endpos_s00_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let r00 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 7914 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 7920 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : (
-# 64 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 7925 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let ty00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8795 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let r0 = r00 in
-          let d0 = d00 in
-          let l0 = l00 in
-          let s0 = s00 in
+          let ty0 = ty00 in
           let ty =
-            let r = r0 in
-            let d = d0 in
-            let l = l0 in
-            let s = s0 in
+            let ty = ty0 in
             
-# 519 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = s in
-    let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
-    Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
-# 7944 "parser_cocci_menhir.ml"
+# 656 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 8806 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 7950 "parser_cocci_menhir.ml"
+# 8812 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7957 "parser_cocci_menhir.ml"
+# 8819 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7963 "parser_cocci_menhir.ml"
+# 8825 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7976,47 +8838,47 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = p00;
-            MenhirLib.EngineTypes.startp = _startpos_p00_;
-            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 7990 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let _startpos = _startpos_p00_ in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8852 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let p0 = p00 in
+          let ty0 = ty00 in
           let ty =
-            let p = p0 in
+            let ty = ty0 in
             
-# 523 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 8001 "parser_cocci_menhir.ml"
+# 658 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 8863 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 8007 "parser_cocci_menhir.ml"
+# 8869 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 8014 "parser_cocci_menhir.ml"
+# 8876 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8020 "parser_cocci_menhir.ml"
+# 8882 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8032,66 +8894,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
             MenhirLib.EngineTypes.semv = ty00;
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8057 "parser_cocci_menhir.ml"
+# 8909 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8062 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+        let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let ty0 = ty00 in
-          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 476 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 8075 "parser_cocci_menhir.ml"
+# 660 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 8920 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8081 "parser_cocci_menhir.ml"
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 8926 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8089 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 8933 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8095 "parser_cocci_menhir.ml"
+# 8939 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8107,66 +8951,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
             MenhirLib.EngineTypes.semv = ty00;
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8132 "parser_cocci_menhir.ml"
+# 8966 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8137 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+        let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let ty0 = ty00 in
-          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 478 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 8150 "parser_cocci_menhir.ml"
+# 662 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 8977 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8156 "parser_cocci_menhir.ml"
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 8983 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8164 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 8990 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8170 "parser_cocci_menhir.ml"
+# 8996 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8182,66 +9008,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
             MenhirLib.EngineTypes.semv = ty00;
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8207 "parser_cocci_menhir.ml"
+# 9023 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8212 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+        let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let ty0 = ty00 in
-          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 480 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 8225 "parser_cocci_menhir.ml"
+# 664 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 9034 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8231 "parser_cocci_menhir.ml"
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9040 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8239 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9047 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8245 "parser_cocci_menhir.ml"
+# 9053 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8257,67 +9065,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = p00;
-            MenhirLib.EngineTypes.startp = _startpos_p00_;
-            MenhirLib.EngineTypes.endp = _endpos_p00_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 64 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 8282 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8287 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 9080 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let p0 = p00 in
-          let r = r0 in
+          let ty0 = ty00 in
           let ty =
-            let p = p0 in
+            let ty = ty0 in
             
-# 482 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 8301 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 9091 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8307 "parser_cocci_menhir.ml"
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9097 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8315 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9104 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8321 "parser_cocci_menhir.ml"
+# 9110 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8333,87 +9122,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = p00;
-            MenhirLib.EngineTypes.startp = _startpos_p00_;
-            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            MenhirLib.EngineTypes.semv = i00;
+            MenhirLib.EngineTypes.startp = _startpos_i00_;
+            MenhirLib.EngineTypes.endp = _endpos_i00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = r00;
-                MenhirLib.EngineTypes.startp = _startpos_r00_;
-                MenhirLib.EngineTypes.endp = _endpos_r00_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = r1;
-                  MenhirLib.EngineTypes.startp = _startpos_r1_;
-                  MenhirLib.EngineTypes.endp = _endpos_r1_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = x0;
-                    MenhirLib.EngineTypes.startp = _startpos_x0_;
-                    MenhirLib.EngineTypes.endp = _endpos_x0_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
-                    };
-                  };
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = s00;
+              MenhirLib.EngineTypes.startp = _startpos_s00_;
+              MenhirLib.EngineTypes.endp = _endpos_s00_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 8367 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r00 : (
-# 47 "parser_cocci_menhir.mly"
-      (string)
-# 8372 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let r1 : (
-# 51 "parser_cocci_menhir.mly"
+        let i00 : 'tv_ident = Obj.magic i00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8377 "parser_cocci_menhir.ml"
-        ) = Obj.magic r1 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 9143 "parser_cocci_menhir.ml"
+        ) = Obj.magic s00 in
+        let _startpos = _startpos_s00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let p0 = p00 in
-          let r0 = r00 in
-          let r = r1 in
+          let i0 = i00 in
+          let s0 = s00 in
           let ty =
-            let p = p0 in
-            let r = r0 in
+            let i = i0 in
+            let s = s0 in
             
-# 485 "parser_cocci_menhir.mly"
-    ( let nm = (r,P.id2name p) in
-    (* this is only possible when we are in a metavar decl.  Otherwise,
-       it will be represented already as a MetaType *)
-    let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
-    Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
-                           Ast0.Impure (*will be ignored*))) )
-# 8397 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 9156 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8403 "parser_cocci_menhir.ml"
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9162 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8411 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9169 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8417 "parser_cocci_menhir.ml"
+# 9175 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8429,66 +9187,90 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty00;
-            MenhirLib.EngineTypes.startp = _startpos_ty00_;
-            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.semv = ids00;
+              MenhirLib.EngineTypes.startp = _startpos_ids00_;
+              MenhirLib.EngineTypes.endp = _endpos_ids00_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = s00;
+                  MenhirLib.EngineTypes.startp = _startpos_s00_;
+                  MenhirLib.EngineTypes.endp = _endpos_s00_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
                 };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty00 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8454 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9217 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9223 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8459 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 9228 "parser_cocci_menhir.ml"
+        ) = Obj.magic s00 in
+        let _startpos = _startpos_s00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let ty0 = ty00 in
-          let r = r0 in
+          let r0 = r00 in
+          let ids0 = ids00 in
+          let l0 = l00 in
+          let s0 = s00 in
           let ty =
-            let ty = ty0 in
+            let r = r0 in
+            let ids = ids0 in
+            let l = l0 in
+            let s = s0 in
+            let i =
+              
+# 39 "standard.mly"
+    ( None )
+# 9246 "parser_cocci_menhir.ml"
+              
+            in
             
-# 492 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 8472 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+    ( (if i = None && !Data.in_iso
+    then failwith "enums must be named in the iso file");
+      Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+                            P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 9255 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8478 "parser_cocci_menhir.ml"
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9261 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8486 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9268 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8492 "parser_cocci_menhir.ml"
+# 9274 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8504,81 +9286,99 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty200;
-            MenhirLib.EngineTypes.startp = _startpos_ty200_;
-            MenhirLib.EngineTypes.endp = _endpos_ty200_;
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = ty100;
-              MenhirLib.EngineTypes.startp = _startpos_ty100_;
-              MenhirLib.EngineTypes.endp = _endpos_ty100_;
+              MenhirLib.EngineTypes.semv = ids00;
+              MenhirLib.EngineTypes.startp = _startpos_ids00_;
+              MenhirLib.EngineTypes.endp = _endpos_ids00_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = r0;
-                MenhirLib.EngineTypes.startp = _startpos_r0_;
-                MenhirLib.EngineTypes.endp = _endpos_r0_;
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
                 MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = x0;
-                  MenhirLib.EngineTypes.startp = _startpos_x0_;
-                  MenhirLib.EngineTypes.endp = _endpos_x0_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  MenhirLib.EngineTypes.semv = x000;
+                  MenhirLib.EngineTypes.startp = _startpos_x000_;
+                  MenhirLib.EngineTypes.endp = _endpos_x000_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = s00;
+                    MenhirLib.EngineTypes.startp = _startpos_s00_;
+                    MenhirLib.EngineTypes.endp = _endpos_s00_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
                   };
                 };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty200 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8534 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8539 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9321 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9327 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_ident = Obj.magic x000 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8544 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 9333 "parser_cocci_menhir.ml"
+        ) = Obj.magic s00 in
+        let _startpos = _startpos_s00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let ty20 = ty200 in
-          let ty10 = ty100 in
-          let r = r0 in
+          let r0 = r00 in
+          let ids0 = ids00 in
+          let l0 = l00 in
+          let x00 = x000 in
+          let s0 = s00 in
           let ty =
-            let ty2 = ty20 in
-            let ty1 = ty10 in
+            let r = r0 in
+            let ids = ids0 in
+            let l = l0 in
+            let x0 = x00 in
+            let s = s0 in
+            let i =
+              let x = x0 in
+              
+# 41 "standard.mly"
+    ( Some x )
+# 9354 "parser_cocci_menhir.ml"
+              
+            in
             
-# 494 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 8562 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+    ( (if i = None && !Data.in_iso
+    then failwith "enums must be named in the iso file");
+      Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+                            P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 9363 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8568 "parser_cocci_menhir.ml"
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9369 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8576 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9376 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8582 "parser_cocci_menhir.ml"
+# 9382 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8594,66 +9394,52 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty00;
-            MenhirLib.EngineTypes.startp = _startpos_ty00_;
-            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.semv = i00;
+            MenhirLib.EngineTypes.startp = _startpos_i00_;
+            MenhirLib.EngineTypes.endp = _endpos_i00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = s00;
+              MenhirLib.EngineTypes.startp = _startpos_s00_;
+              MenhirLib.EngineTypes.endp = _endpos_s00_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty00 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8619 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8624 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+        let i00 : 'tv_type_ident = Obj.magic i00 in
+        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let _startpos = _startpos_s00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let ty0 = ty00 in
-          let r = r0 in
+          let i0 = i00 in
+          let s0 = s00 in
           let ty =
-            let ty = ty0 in
+            let i = i0 in
+            let s = s0 in
             
-# 476 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 8637 "parser_cocci_menhir.ml"
+# 675 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 9424 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8643 "parser_cocci_menhir.ml"
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9430 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8651 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9437 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8657 "parser_cocci_menhir.ml"
+# 9443 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8669,17 +9455,441 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty00;
-            MenhirLib.EngineTypes.startp = _startpos_ty00_;
-            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.semv = d00;
+              MenhirLib.EngineTypes.startp = _startpos_d00_;
+              MenhirLib.EngineTypes.endp = _endpos_d00_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = s00;
+                  MenhirLib.EngineTypes.startp = _startpos_s00_;
+                  MenhirLib.EngineTypes.endp = _endpos_s00_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9485 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9491 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let _startpos = _startpos_s00_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let r0 = r00 in
+          let d0 = d00 in
+          let l0 = l00 in
+          let s0 = s00 in
+          let ty =
+            let r = r0 in
+            let d = d0 in
+            let l = l0 in
+            let s = s0 in
+            let i =
+              
+# 39 "standard.mly"
+    ( None )
+# 9510 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 678 "parser_cocci_menhir.mly"
+    ( (if i = None && !Data.in_iso
+    then failwith "structures must be named in the iso file");
+      Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
+                                   P.clt2mcode "{" l,
+                                   d, P.clt2mcode "}" r)) )
+# 9520 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9526 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 9533 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9539 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = d00;
+              MenhirLib.EngineTypes.startp = _startpos_d00_;
+              MenhirLib.EngineTypes.endp = _endpos_d00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = x000;
+                  MenhirLib.EngineTypes.startp = _startpos_x000_;
+                  MenhirLib.EngineTypes.endp = _endpos_x000_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = s00;
+                    MenhirLib.EngineTypes.startp = _startpos_s00_;
+                    MenhirLib.EngineTypes.endp = _endpos_s00_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9586 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9592 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_type_ident = Obj.magic x000 in
+        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let _startpos = _startpos_s00_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let r0 = r00 in
+          let d0 = d00 in
+          let l0 = l00 in
+          let x00 = x000 in
+          let s0 = s00 in
+          let ty =
+            let r = r0 in
+            let d = d0 in
+            let l = l0 in
+            let x0 = x00 in
+            let s = s0 in
+            let i =
+              let x = x0 in
+              
+# 41 "standard.mly"
+    ( Some x )
+# 9615 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 678 "parser_cocci_menhir.mly"
+    ( (if i = None && !Data.in_iso
+    then failwith "structures must be named in the iso file");
+      Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
+                                   P.clt2mcode "{" l,
+                                   d, P.clt2mcode "}" r)) )
+# 9625 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9631 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 9638 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9644 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = d00;
+              MenhirLib.EngineTypes.startp = _startpos_d00_;
+              MenhirLib.EngineTypes.endp = _endpos_d00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = s00;
+                  MenhirLib.EngineTypes.startp = _startpos_s00_;
+                  MenhirLib.EngineTypes.endp = _endpos_s00_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9686 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9692 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 9697 "parser_cocci_menhir.ml"
+        ) = Obj.magic s00 in
+        let _startpos = _startpos_s00_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let r0 = r00 in
+          let d0 = d00 in
+          let l0 = l00 in
+          let s0 = s00 in
+          let ty =
+            let r = r0 in
+            let d = d0 in
+            let l = l0 in
+            let s = s0 in
+            
+# 684 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = s in
+    let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
+    Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
+# 9716 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9722 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 9729 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9735 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 9762 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let _startpos = _startpos_p00_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let p0 = p00 in
+          let ty =
+            let p = p0 in
+            
+# 688 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 9773 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9779 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 9786 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9792 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 9829 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 9834 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let ty0 = ty00 in
+          let r = r0 in
+          let ty =
+            let ty = ty0 in
+            
+# 630 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 9847 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 693 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9853 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 9861 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9867 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
                 MenhirLib.EngineTypes.endp = _endpos_x0_;
                 MenhirLib.EngineTypes.next = _menhir_stack;
                 };
@@ -8688,14 +9898,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8694 "parser_cocci_menhir.ml"
+# 9904 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8699 "parser_cocci_menhir.ml"
+# 9909 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -8706,15 +9916,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 478 "parser_cocci_menhir.mly"
+# 632 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 8712 "parser_cocci_menhir.ml"
+# 9922 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8718 "parser_cocci_menhir.ml"
+# 693 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9928 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -8722,13 +9932,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 8726 "parser_cocci_menhir.ml"
+# 9936 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8732 "parser_cocci_menhir.ml"
+# 9942 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8763,14 +9973,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8769 "parser_cocci_menhir.ml"
+# 9979 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8774 "parser_cocci_menhir.ml"
+# 9984 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -8781,15 +9991,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 480 "parser_cocci_menhir.mly"
+# 634 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 8787 "parser_cocci_menhir.ml"
+# 9997 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8793 "parser_cocci_menhir.ml"
+# 693 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10003 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -8797,13 +10007,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 8801 "parser_cocci_menhir.ml"
+# 10011 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8807 "parser_cocci_menhir.ml"
+# 10017 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8838,14 +10048,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 8844 "parser_cocci_menhir.ml"
+# 10054 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8849 "parser_cocci_menhir.ml"
+# 10059 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -8856,16 +10066,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 482 "parser_cocci_menhir.mly"
+# 636 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 8863 "parser_cocci_menhir.ml"
+# 10073 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8869 "parser_cocci_menhir.ml"
+# 693 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10079 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -8873,13 +10083,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 8877 "parser_cocci_menhir.ml"
+# 10087 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8883 "parser_cocci_menhir.ml"
+# 10093 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8923,19 +10133,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 8929 "parser_cocci_menhir.ml"
+# 10139 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 8934 "parser_cocci_menhir.ml"
+# 10144 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let r1 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8939 "parser_cocci_menhir.ml"
+# 10149 "parser_cocci_menhir.ml"
         ) = Obj.magic r1 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -8948,20 +10158,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 485 "parser_cocci_menhir.mly"
+# 639 "parser_cocci_menhir.mly"
     ( let nm = (r,P.id2name p) in
     (* this is only possible when we are in a metavar decl.  Otherwise,
        it will be represented already as a MetaType *)
     let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
     Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
                            Ast0.Impure (*will be ignored*))) )
-# 8959 "parser_cocci_menhir.ml"
+# 10169 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8965 "parser_cocci_menhir.ml"
+# 693 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10175 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -8969,13 +10179,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 8973 "parser_cocci_menhir.ml"
+# 10183 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8979 "parser_cocci_menhir.ml"
+# 10189 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9010,14 +10220,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9016 "parser_cocci_menhir.ml"
+# 10226 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9021 "parser_cocci_menhir.ml"
+# 10231 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9028,15 +10238,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 492 "parser_cocci_menhir.mly"
+# 646 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 9034 "parser_cocci_menhir.ml"
+# 10244 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9040 "parser_cocci_menhir.ml"
+# 693 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10250 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9044,13 +10254,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9048 "parser_cocci_menhir.ml"
+# 10258 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9054 "parser_cocci_menhir.ml"
+# 10264 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9090,19 +10300,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9096 "parser_cocci_menhir.ml"
+# 10306 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9101 "parser_cocci_menhir.ml"
+# 10311 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9106 "parser_cocci_menhir.ml"
+# 10316 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9115,18 +10325,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 494 "parser_cocci_menhir.mly"
+# 648 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 9124 "parser_cocci_menhir.ml"
+# 10334 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9130 "parser_cocci_menhir.ml"
+# 693 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10340 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9134,13 +10344,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9138 "parser_cocci_menhir.ml"
+# 10348 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9144 "parser_cocci_menhir.ml"
+# 10354 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9160,37 +10370,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = x0;
-              MenhirLib.EngineTypes.startp = _startpos_x0_;
-              MenhirLib.EngineTypes.endp = _endpos_x0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9176 "parser_cocci_menhir.ml"
+# 10391 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10396 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let ty0 = ty00 in
+          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 476 "parser_cocci_menhir.mly"
+# 630 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 9188 "parser_cocci_menhir.ml"
+# 10409 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9194 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10415 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9198,13 +10419,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9202 "parser_cocci_menhir.ml"
+# 10423 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9208 "parser_cocci_menhir.ml"
+# 10429 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9224,37 +10445,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = x0;
-              MenhirLib.EngineTypes.startp = _startpos_x0_;
-              MenhirLib.EngineTypes.endp = _endpos_x0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9240 "parser_cocci_menhir.ml"
+# 10466 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10471 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let ty0 = ty00 in
+          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 478 "parser_cocci_menhir.mly"
+# 632 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 9252 "parser_cocci_menhir.ml"
+# 10484 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9258 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10490 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9262,13 +10494,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9266 "parser_cocci_menhir.ml"
+# 10498 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9272 "parser_cocci_menhir.ml"
+# 10504 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9288,37 +10520,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = x0;
-              MenhirLib.EngineTypes.startp = _startpos_x0_;
-              MenhirLib.EngineTypes.endp = _endpos_x0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9304 "parser_cocci_menhir.ml"
+# 10541 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10546 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let ty0 = ty00 in
+          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 480 "parser_cocci_menhir.mly"
+# 634 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 9316 "parser_cocci_menhir.ml"
+# 10559 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9322 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10565 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9326,13 +10569,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9330 "parser_cocci_menhir.ml"
+# 10573 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9336 "parser_cocci_menhir.ml"
+# 10579 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9352,38 +10595,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_p00_;
             MenhirLib.EngineTypes.endp = _endpos_p00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = x0;
-              MenhirLib.EngineTypes.startp = _startpos_x0_;
-              MenhirLib.EngineTypes.endp = _endpos_x0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 9368 "parser_cocci_menhir.ml"
+# 10616 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10621 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let p0 = p00 in
+          let r = r0 in
           let ty =
             let p = p0 in
             
-# 482 "parser_cocci_menhir.mly"
+# 636 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 9381 "parser_cocci_menhir.ml"
+# 10635 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9387 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10641 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9391,13 +10645,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9395 "parser_cocci_menhir.ml"
+# 10649 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9401 "parser_cocci_menhir.ml"
+# 10655 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9417,58 +10671,69 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_p00_;
             MenhirLib.EngineTypes.endp = _endpos_p00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.startp = _startpos__4_;
+              MenhirLib.EngineTypes.endp = _endpos__4_;
               MenhirLib.EngineTypes.next = {
                 MenhirLib.EngineTypes.semv = r00;
                 MenhirLib.EngineTypes.startp = _startpos_r00_;
                 MenhirLib.EngineTypes.endp = _endpos_r00_;
                 MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = x0;
-                  MenhirLib.EngineTypes.startp = _startpos_x0_;
-                  MenhirLib.EngineTypes.endp = _endpos_x0_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
-            };
-          } = _menhir_stack in
+                  MenhirLib.EngineTypes.semv = r1;
+                  MenhirLib.EngineTypes.startp = _startpos_r1_;
+                  MenhirLib.EngineTypes.endp = _endpos_r1_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = x0;
+                    MenhirLib.EngineTypes.startp = _startpos_x0_;
+                    MenhirLib.EngineTypes.endp = _endpos_x0_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 9442 "parser_cocci_menhir.ml"
+# 10701 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 9447 "parser_cocci_menhir.ml"
+# 10706 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
+        let r1 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10711 "parser_cocci_menhir.ml"
+        ) = Obj.magic r1 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let p0 = p00 in
           let r0 = r00 in
+          let r = r1 in
           let ty =
             let p = p0 in
             let r = r0 in
             
-# 485 "parser_cocci_menhir.mly"
+# 639 "parser_cocci_menhir.mly"
     ( let nm = (r,P.id2name p) in
     (* this is only possible when we are in a metavar decl.  Otherwise,
        it will be represented already as a MetaType *)
     let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
     Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
                            Ast0.Impure (*will be ignored*))) )
-# 9466 "parser_cocci_menhir.ml"
+# 10731 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9472 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10737 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9476,13 +10741,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9480 "parser_cocci_menhir.ml"
+# 10745 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9486 "parser_cocci_menhir.ml"
+# 10751 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9502,37 +10767,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = x0;
-              MenhirLib.EngineTypes.startp = _startpos_x0_;
-              MenhirLib.EngineTypes.endp = _endpos_x0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9518 "parser_cocci_menhir.ml"
+# 10788 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10793 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let ty0 = ty00 in
+          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 492 "parser_cocci_menhir.mly"
+# 646 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 9530 "parser_cocci_menhir.ml"
+# 10806 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9536 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10812 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9540,13 +10816,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9544 "parser_cocci_menhir.ml"
+# 10820 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9550 "parser_cocci_menhir.ml"
+# 10826 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9570,48 +10846,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               MenhirLib.EngineTypes.startp = _startpos_ty100_;
               MenhirLib.EngineTypes.endp = _endpos_ty100_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
+                MenhirLib.EngineTypes.semv = r0;
+                MenhirLib.EngineTypes.startp = _startpos_r0_;
+                MenhirLib.EngineTypes.endp = _endpos_r0_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = x0;
+                  MenhirLib.EngineTypes.startp = _startpos_x0_;
+                  MenhirLib.EngineTypes.endp = _endpos_x0_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
                 };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9587 "parser_cocci_menhir.ml"
+# 10868 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9592 "parser_cocci_menhir.ml"
+# 10873 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10878 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
           let ty20 = ty200 in
           let ty10 = ty100 in
+          let r = r0 in
           let ty =
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 494 "parser_cocci_menhir.mly"
+# 648 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 9609 "parser_cocci_menhir.ml"
+# 10896 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9615 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10902 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9619,13 +10906,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9623 "parser_cocci_menhir.ml"
+# 10910 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9629 "parser_cocci_menhir.ml"
+# 10916 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9655,9 +10942,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 50 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9661 "parser_cocci_menhir.ml"
+# 10948 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9667,15 +10954,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 502 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 9673 "parser_cocci_menhir.ml"
+# 630 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 10960 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9679 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 10966 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9683,13 +10970,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9687 "parser_cocci_menhir.ml"
+# 10974 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9693 "parser_cocci_menhir.ml"
+# 10980 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9719,9 +11006,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9725 "parser_cocci_menhir.ml"
+# 11012 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9731,15 +11018,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 504 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 9737 "parser_cocci_menhir.ml"
+# 632 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 11024 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9743 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11030 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9747,13 +11034,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9751 "parser_cocci_menhir.ml"
+# 11038 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9757 "parser_cocci_menhir.ml"
+# 11044 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9783,9 +11070,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9789 "parser_cocci_menhir.ml"
+# 11076 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9795,15 +11082,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 506 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 9801 "parser_cocci_menhir.ml"
+# 634 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 11088 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9807 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11094 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9811,13 +11098,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9815 "parser_cocci_menhir.ml"
+# 11102 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9821 "parser_cocci_menhir.ml"
+# 11108 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9833,49 +11120,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = i00;
-            MenhirLib.EngineTypes.startp = _startpos_i00_;
-            MenhirLib.EngineTypes.endp = _endpos_i00_;
+            MenhirLib.EngineTypes.semv = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = s00;
-              MenhirLib.EngineTypes.startp = _startpos_s00_;
-              MenhirLib.EngineTypes.endp = _endpos_s00_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let i00 : 'tv_ident = Obj.magic i00 in
-        let s00 : (
-# 50 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 9859 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
+        let p00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 11140 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let i0 = i00 in
-          let s0 = s00 in
+          let p0 = p00 in
           let ty =
-            let i = i0 in
-            let s = s0 in
+            let p = p0 in
             
-# 508 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 9873 "parser_cocci_menhir.ml"
+# 636 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 11153 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9879 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11159 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9883,13 +11163,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9887 "parser_cocci_menhir.ml"
+# 11167 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9893 "parser_cocci_menhir.ml"
+# 11173 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9905,45 +11185,62 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = i00;
-            MenhirLib.EngineTypes.startp = _startpos_i00_;
-            MenhirLib.EngineTypes.endp = _endpos_i00_;
+            MenhirLib.EngineTypes.semv = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = s00;
-              MenhirLib.EngineTypes.startp = _startpos_s00_;
-              MenhirLib.EngineTypes.endp = _endpos_s00_;
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
+                MenhirLib.EngineTypes.semv = r00;
+                MenhirLib.EngineTypes.startp = _startpos_r00_;
+                MenhirLib.EngineTypes.endp = _endpos_r00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = x0;
+                  MenhirLib.EngineTypes.startp = _startpos_x0_;
+                  MenhirLib.EngineTypes.endp = _endpos_x0_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
                 };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let i00 : 'tv_ident = Obj.magic i00 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 11214 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r00 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 11219 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let i0 = i00 in
-          let s0 = s00 in
+          let p0 = p00 in
+          let r0 = r00 in
           let ty =
-            let i = i0 in
-            let s = s0 in
+            let p = p0 in
+            let r = r0 in
             
-# 510 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 9941 "parser_cocci_menhir.ml"
+# 639 "parser_cocci_menhir.mly"
+    ( let nm = (r,P.id2name p) in
+    (* this is only possible when we are in a metavar decl.  Otherwise,
+       it will be represented already as a MetaType *)
+    let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
+    Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
+                           Ast0.Impure (*will be ignored*))) )
+# 11238 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9947 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11244 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9951,13 +11248,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9955 "parser_cocci_menhir.ml"
+# 11252 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9961 "parser_cocci_menhir.ml"
+# 11258 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9973,80 +11270,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = r00;
-            MenhirLib.EngineTypes.startp = _startpos_r00_;
-            MenhirLib.EngineTypes.endp = _endpos_r00_;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = d00;
-              MenhirLib.EngineTypes.startp = _startpos_d00_;
-              MenhirLib.EngineTypes.endp = _endpos_d00_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = l00;
-                MenhirLib.EngineTypes.startp = _startpos_l00_;
-                MenhirLib.EngineTypes.endp = _endpos_l00_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = s00;
-                  MenhirLib.EngineTypes.startp = _startpos_s00_;
-                  MenhirLib.EngineTypes.endp = _endpos_s00_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = x0;
-                    MenhirLib.EngineTypes.startp = _startpos_x0_;
-                    MenhirLib.EngineTypes.endp = _endpos_x0_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
-                    };
-                  };
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let r00 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10008 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10014 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11290 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let r0 = r00 in
-          let d0 = d00 in
-          let l0 = l00 in
-          let s0 = s00 in
+          let ty0 = ty00 in
           let ty =
-            let r = r0 in
-            let d = d0 in
-            let l = l0 in
-            let s = s0 in
-            let i =
-              
-# 39 "standard.mly"
-    ( None )
-# 10034 "parser_cocci_menhir.ml"
-              
-            in
+            let ty = ty0 in
             
-# 513 "parser_cocci_menhir.mly"
-    ( (if i = None && !Data.in_iso
-    then failwith "structures must be named in the iso file");
-      Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
-                                   P.clt2mcode "{" l,
-                                   d, P.clt2mcode "}" r)) )
-# 10044 "parser_cocci_menhir.ml"
+# 646 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 11302 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
-                        ( ty )
-# 10050 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11308 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10054,13 +11312,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10058 "parser_cocci_menhir.ml"
+# 11316 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10064 "parser_cocci_menhir.ml"
+# 11322 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10076,89 +11334,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = r00;
-            MenhirLib.EngineTypes.startp = _startpos_r00_;
-            MenhirLib.EngineTypes.endp = _endpos_r00_;
+            MenhirLib.EngineTypes.semv = ty200;
+            MenhirLib.EngineTypes.startp = _startpos_ty200_;
+            MenhirLib.EngineTypes.endp = _endpos_ty200_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = d00;
-              MenhirLib.EngineTypes.startp = _startpos_d00_;
-              MenhirLib.EngineTypes.endp = _endpos_d00_;
+              MenhirLib.EngineTypes.semv = ty100;
+              MenhirLib.EngineTypes.startp = _startpos_ty100_;
+              MenhirLib.EngineTypes.endp = _endpos_ty100_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = l00;
-                MenhirLib.EngineTypes.startp = _startpos_l00_;
-                MenhirLib.EngineTypes.endp = _endpos_l00_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = x000;
-                  MenhirLib.EngineTypes.startp = _startpos_x000_;
-                  MenhirLib.EngineTypes.endp = _endpos_x000_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.semv = s00;
-                    MenhirLib.EngineTypes.startp = _startpos_s00_;
-                    MenhirLib.EngineTypes.endp = _endpos_s00_;
-                    MenhirLib.EngineTypes.next = {
-                      MenhirLib.EngineTypes.state = _menhir_s;
-                      MenhirLib.EngineTypes.semv = x0;
-                      MenhirLib.EngineTypes.startp = _startpos_x0_;
-                      MenhirLib.EngineTypes.endp = _endpos_x0_;
-                      MenhirLib.EngineTypes.next = _menhir_stack;
-                      };
-                    };
-                  };
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
                 };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let r00 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10116 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10122 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let x000 : 'tv_ident = Obj.magic x000 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11359 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11364 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty100 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let r0 = r00 in
-          let d0 = d00 in
-          let l0 = l00 in
-          let x00 = x000 in
-          let s0 = s00 in
+          let ty20 = ty200 in
+          let ty10 = ty100 in
           let ty =
-            let r = r0 in
-            let d = d0 in
-            let l = l0 in
-            let x0 = x00 in
-            let s = s0 in
-            let i =
-              let x = x0 in
-              
-# 41 "standard.mly"
-    ( Some x )
-# 10146 "parser_cocci_menhir.ml"
-              
-            in
+            let ty2 = ty20 in
+            let ty1 = ty10 in
             
-# 513 "parser_cocci_menhir.mly"
-    ( (if i = None && !Data.in_iso
-    then failwith "structures must be named in the iso file");
-      Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
-                                   P.clt2mcode "{" l,
-                                   d, P.clt2mcode "}" r)) )
-# 10156 "parser_cocci_menhir.ml"
+# 648 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 11381 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
-                        ( ty )
-# 10162 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11387 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10166,13 +11391,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10170 "parser_cocci_menhir.ml"
+# 11395 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10176 "parser_cocci_menhir.ml"
+# 11401 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10188,75 +11413,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = r00;
-            MenhirLib.EngineTypes.startp = _startpos_r00_;
-            MenhirLib.EngineTypes.endp = _endpos_r00_;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = d00;
-              MenhirLib.EngineTypes.startp = _startpos_d00_;
-              MenhirLib.EngineTypes.endp = _endpos_d00_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = l00;
-                MenhirLib.EngineTypes.startp = _startpos_l00_;
-                MenhirLib.EngineTypes.endp = _endpos_l00_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = s00;
-                  MenhirLib.EngineTypes.startp = _startpos_s00_;
-                  MenhirLib.EngineTypes.endp = _endpos_s00_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = x0;
-                    MenhirLib.EngineTypes.startp = _startpos_x0_;
-                    MenhirLib.EngineTypes.endp = _endpos_x0_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
-                    };
-                  };
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let r00 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10223 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10229 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : (
-# 64 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 10234 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
+        let ty00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11433 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let r0 = r00 in
-          let d0 = d00 in
-          let l0 = l00 in
-          let s0 = s00 in
+          let ty0 = ty00 in
           let ty =
-            let r = r0 in
-            let d = d0 in
-            let l = l0 in
-            let s = s0 in
+            let ty = ty0 in
             
-# 519 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = s in
-    let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
-    Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
-# 10254 "parser_cocci_menhir.ml"
+# 656 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 11445 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 10260 "parser_cocci_menhir.ml"
+# 11451 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10264,13 +11455,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10268 "parser_cocci_menhir.ml"
+# 11459 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10274 "parser_cocci_menhir.ml"
+# 11465 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10286,9 +11477,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = p00;
-            MenhirLib.EngineTypes.startp = _startpos_p00_;
-            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
               MenhirLib.EngineTypes.semv = x0;
@@ -10299,28 +11490,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 10306 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11497 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let p0 = p00 in
+          let ty0 = ty00 in
           let ty =
-            let p = p0 in
+            let ty = ty0 in
             
-# 523 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 10318 "parser_cocci_menhir.ml"
+# 658 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 11509 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 10324 "parser_cocci_menhir.ml"
+# 11515 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10328,41 +11519,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10332 "parser_cocci_menhir.ml"
+# 11523 "parser_cocci_menhir.ml"
           
         in
         
-# 536 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10338 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = r;
-          MenhirLib.EngineTypes.startp = _startpos_r_;
-          MenhirLib.EngineTypes.endp = _endpos_r_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let r : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 10359 "parser_cocci_menhir.ml"
-        ) = Obj.magic r in
-        let _startpos = _startpos_r_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_ctype = 
-# 538 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
-# 10366 "parser_cocci_menhir.ml"
+# 11529 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10374,23 +11537,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = r;
-          MenhirLib.EngineTypes.startp = _startpos_r_;
-          MenhirLib.EngineTypes.endp = _endpos_r_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
           } = _menhir_stack in
-        let r : (
-# 51 "parser_cocci_menhir.mly"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 10387 "parser_cocci_menhir.ml"
-        ) = Obj.magic r in
-        let _startpos = _startpos_r_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_ctype = 
-# 540 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
-# 10394 "parser_cocci_menhir.ml"
+# 11561 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let ty0 = ty00 in
+          let ty =
+            let ty = ty0 in
+            
+# 660 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 11573 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11579 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11587 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11593 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10402,41 +11601,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = rp;
-          MenhirLib.EngineTypes.startp = _startpos_rp_;
-          MenhirLib.EngineTypes.endp = _endpos_rp_;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = t;
-            MenhirLib.EngineTypes.startp = _startpos_t_;
-            MenhirLib.EngineTypes.endp = _endpos_t_;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = lp;
-              MenhirLib.EngineTypes.startp = _startpos_lp_;
-              MenhirLib.EngineTypes.endp = _endpos_lp_;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
               MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let rp : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10425 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
-        let lp : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10431 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp in
-        let _startpos = _startpos_lp_ in
-        let _endpos = _endpos_rp_ in
-        let _v : 'tv_ctype = 
-# 542 "parser_cocci_menhir.mly"
-    ( let (mids,code) = t in
-      Ast0.wrap
-       (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 10440 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11625 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let ty0 = ty00 in
+          let ty =
+            let ty = ty0 in
+            
+# 662 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 11637 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11643 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11651 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11657 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10448,32 +11665,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
-        let _1 : 'tv_ident = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_d_ident = 
-# 1054 "parser_cocci_menhir.mly"
-      ( (_1,
-        function t ->
-          List.fold_right
-            (function (l,i,r) ->
-              function rest ->
-                Ast0.wrap
-                  (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r)))
-            _2 t) )
-# 10477 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11689 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let ty0 = ty00 in
+          let ty =
+            let ty = ty0 in
+            
+# 664 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 11701 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11707 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11715 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11721 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10485,25 +11729,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = i;
-          MenhirLib.EngineTypes.startp = _startpos_i_;
-          MenhirLib.EngineTypes.endp = _endpos_i_;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = t;
-            MenhirLib.EngineTypes.startp = _startpos_t_;
-            MenhirLib.EngineTypes.endp = _endpos_t_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let i : 'tv_ident = Obj.magic i in
-        let t : 'tv_ctype = Obj.magic t in
-        let _startpos = _startpos_t_ in
-        let _endpos = _endpos_i_ in
-        let _v : 'tv_decl = 
-# 810 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Param(t, Some i)) )
-# 10507 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11753 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let ty0 = ty00 in
+          let ty =
+            let ty = ty0 in
+            
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 11765 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11771 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11779 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11785 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10515,19 +11793,67 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = t;
-          MenhirLib.EngineTypes.startp = _startpos_t_;
-          MenhirLib.EngineTypes.endp = _endpos_t_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = i00;
+            MenhirLib.EngineTypes.startp = _startpos_i00_;
+            MenhirLib.EngineTypes.endp = _endpos_i00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = s00;
+              MenhirLib.EngineTypes.startp = _startpos_s00_;
+              MenhirLib.EngineTypes.endp = _endpos_s00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
           } = _menhir_stack in
-        let t : 'tv_ctype = Obj.magic t in
-        let _startpos = _startpos_t_ in
-        let _endpos = _endpos_t_ in
-        let _v : 'tv_decl = 
-# 811 "parser_cocci_menhir.mly"
-              ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
-# 10531 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let i00 : 'tv_ident = Obj.magic i00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11823 "parser_cocci_menhir.ml"
+        ) = Obj.magic s00 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let i0 = i00 in
+          let s0 = s00 in
+          let ty =
+            let i = i0 in
+            let s = s0 in
+            
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 11837 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11843 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11851 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11857 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10539,86 +11865,101 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = rp1;
-          MenhirLib.EngineTypes.startp = _startpos_rp1_;
-          MenhirLib.EngineTypes.endp = _endpos_rp1_;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = d;
-            MenhirLib.EngineTypes.startp = _startpos_d_;
-            MenhirLib.EngineTypes.endp = _endpos_d_;
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = lp1;
-              MenhirLib.EngineTypes.startp = _startpos_lp1_;
-              MenhirLib.EngineTypes.endp = _endpos_lp1_;
+              MenhirLib.EngineTypes.semv = ids00;
+              MenhirLib.EngineTypes.startp = _startpos_ids00_;
+              MenhirLib.EngineTypes.endp = _endpos_ids00_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = rp;
-                MenhirLib.EngineTypes.startp = _startpos_rp_;
-                MenhirLib.EngineTypes.endp = _endpos_rp_;
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
                 MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = i;
-                  MenhirLib.EngineTypes.startp = _startpos_i_;
-                  MenhirLib.EngineTypes.endp = _endpos_i_;
+                  MenhirLib.EngineTypes.semv = s00;
+                  MenhirLib.EngineTypes.startp = _startpos_s00_;
+                  MenhirLib.EngineTypes.endp = _endpos_s00_;
                   MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.semv = s;
-                    MenhirLib.EngineTypes.startp = _startpos_s_;
-                    MenhirLib.EngineTypes.endp = _endpos_s_;
-                    MenhirLib.EngineTypes.next = {
-                      MenhirLib.EngineTypes.semv = lp;
-                      MenhirLib.EngineTypes.startp = _startpos_lp_;
-                      MenhirLib.EngineTypes.endp = _endpos_lp_;
-                      MenhirLib.EngineTypes.next = {
-                        MenhirLib.EngineTypes.state = _menhir_s;
-                        MenhirLib.EngineTypes.semv = t;
-                        MenhirLib.EngineTypes.startp = _startpos_t_;
-                        MenhirLib.EngineTypes.endp = _endpos_t_;
-                        MenhirLib.EngineTypes.next = _menhir_stack;
-                        };
-                      };
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = x0;
+                    MenhirLib.EngineTypes.startp = _startpos_x0_;
+                    MenhirLib.EngineTypes.endp = _endpos_x0_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
                     };
                   };
                 };
               };
             };
           } = _menhir_stack in
-        let rp1 : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10587 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp1 in
-        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
-        let lp1 : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10593 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp1 in
-        let rp : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10598 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let i : 'tv_ident = Obj.magic i in
-        let s : (
-# 99 "parser_cocci_menhir.mly"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 10604 "parser_cocci_menhir.ml"
-        ) = Obj.magic s in
-        let lp : (
-# 76 "parser_cocci_menhir.mly"
+# 11904 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 10609 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp in
-        let t : 'tv_ctype = Obj.magic t in
-        let _startpos = _startpos_t_ in
-        let _endpos = _endpos_rp1_ in
-        let _v : 'tv_decl = 
-# 814 "parser_cocci_menhir.mly"
-        ( let fnptr =
-         Ast0.wrap
-           (Ast0.FunctionPointer
-              (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
-               P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
-       Ast0.wrap(Ast0.Param(fnptr, Some i)) )
-# 10622 "parser_cocci_menhir.ml"
+# 11910 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11915 "parser_cocci_menhir.ml"
+        ) = Obj.magic s00 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let r0 = r00 in
+          let ids0 = ids00 in
+          let l0 = l00 in
+          let s0 = s00 in
+          let ty =
+            let r = r0 in
+            let ids = ids0 in
+            let l = l0 in
+            let s = s0 in
+            let i =
+              
+# 39 "standard.mly"
+    ( None )
+# 11934 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 670 "parser_cocci_menhir.mly"
+    ( (if i = None && !Data.in_iso
+    then failwith "enums must be named in the iso file");
+      Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+                            P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 11943 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11949 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11957 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11963 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10630,24 +11971,110 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = ids00;
+              MenhirLib.EngineTypes.startp = _startpos_ids00_;
+              MenhirLib.EngineTypes.endp = _endpos_ids00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = x000;
+                  MenhirLib.EngineTypes.startp = _startpos_x000_;
+                  MenhirLib.EngineTypes.endp = _endpos_x000_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.semv = s00;
+                    MenhirLib.EngineTypes.startp = _startpos_s00_;
+                    MenhirLib.EngineTypes.endp = _endpos_s00_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.semv = x0;
+                      MenhirLib.EngineTypes.startp = _startpos_x0_;
+                      MenhirLib.EngineTypes.endp = _endpos_x0_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
+                    };
+                  };
+                };
+              };
+            };
           } = _menhir_stack in
-        let _1 : (
-# 64 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 10643 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl = 
-# 821 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = _1 in
-       Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
-# 10651 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12015 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12021 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_ident = Obj.magic x000 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 12027 "parser_cocci_menhir.ml"
+        ) = Obj.magic s00 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let r0 = r00 in
+          let ids0 = ids00 in
+          let l0 = l00 in
+          let x00 = x000 in
+          let s0 = s00 in
+          let ty =
+            let r = r0 in
+            let ids = ids0 in
+            let l = l0 in
+            let x0 = x00 in
+            let s = s0 in
+            let i =
+              let x = x0 in
+              
+# 41 "standard.mly"
+    ( Some x )
+# 12049 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 670 "parser_cocci_menhir.mly"
+    ( (if i = None && !Data.in_iso
+    then failwith "enums must be named in the iso file");
+      Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+                            P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 12058 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12064 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12072 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12078 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10659,23 +12086,63 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = i00;
+            MenhirLib.EngineTypes.startp = _startpos_i00_;
+            MenhirLib.EngineTypes.endp = _endpos_i00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = s00;
+              MenhirLib.EngineTypes.startp = _startpos_s00_;
+              MenhirLib.EngineTypes.endp = _endpos_s00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
           } = _menhir_stack in
-        let _1 : (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 10672 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_ident = 
-# 1585 "parser_cocci_menhir.mly"
-         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 10679 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let i00 : 'tv_type_ident = Obj.magic i00 in
+        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let i0 = i00 in
+          let s0 = s00 in
+          let ty =
+            let i = i0 in
+            let s = s0 in
+            
+# 675 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 12126 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12132 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12140 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12146 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10687,24 +12154,98 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = d00;
+              MenhirLib.EngineTypes.startp = _startpos_d00_;
+              MenhirLib.EngineTypes.endp = _endpos_d00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = s00;
+                  MenhirLib.EngineTypes.startp = _startpos_s00_;
+                  MenhirLib.EngineTypes.endp = _endpos_s00_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = x0;
+                    MenhirLib.EngineTypes.startp = _startpos_x0_;
+                    MenhirLib.EngineTypes.endp = _endpos_x0_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
+            };
           } = _menhir_stack in
-        let _1 : (
-# 62 "parser_cocci_menhir.mly"
-       (Parse_aux.idinfo)
-# 10700 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_ident = 
-# 1587 "parser_cocci_menhir.mly"
-         ( let (nm,constraints,pure,clt) = _1 in
-         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 10708 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12193 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12199 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let r0 = r00 in
+          let d0 = d00 in
+          let l0 = l00 in
+          let s0 = s00 in
+          let ty =
+            let r = r0 in
+            let d = d0 in
+            let l = l0 in
+            let s = s0 in
+            let i =
+              
+# 39 "standard.mly"
+    ( None )
+# 12219 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 678 "parser_cocci_menhir.mly"
+    ( (if i = None && !Data.in_iso
+    then failwith "structures must be named in the iso file");
+      Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
+                                   P.clt2mcode "{" l,
+                                   d, P.clt2mcode "}" r)) )
+# 12229 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12235 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12243 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12249 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10715,13 +12256,108 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_decl_list_decl_ = 
-# 1607 "parser_cocci_menhir.mly"
-              ( Ast0.wrap(Ast0.DOTS([])) )
-# 10725 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = d00;
+              MenhirLib.EngineTypes.startp = _startpos_d00_;
+              MenhirLib.EngineTypes.endp = _endpos_d00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = x000;
+                  MenhirLib.EngineTypes.startp = _startpos_x000_;
+                  MenhirLib.EngineTypes.endp = _endpos_x000_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.semv = s00;
+                    MenhirLib.EngineTypes.startp = _startpos_s00_;
+                    MenhirLib.EngineTypes.endp = _endpos_s00_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.semv = x0;
+                      MenhirLib.EngineTypes.startp = _startpos_x0_;
+                      MenhirLib.EngineTypes.endp = _endpos_x0_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
+                    };
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12301 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12307 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_type_ident = Obj.magic x000 in
+        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let r0 = r00 in
+          let d0 = d00 in
+          let l0 = l00 in
+          let x00 = x000 in
+          let s0 = s00 in
+          let ty =
+            let r = r0 in
+            let d = d0 in
+            let l = l0 in
+            let x0 = x00 in
+            let s = s0 in
+            let i =
+              let x = x0 in
+              
+# 41 "standard.mly"
+    ( Some x )
+# 12331 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 678 "parser_cocci_menhir.mly"
+    ( (if i = None && !Data.in_iso
+    then failwith "structures must be named in the iso file");
+      Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
+                                   P.clt2mcode "{" l,
+                                   d, P.clt2mcode "}" r)) )
+# 12341 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12347 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12355 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12361 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10733,23 +12369,93 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = d00;
+              MenhirLib.EngineTypes.startp = _startpos_d00_;
+              MenhirLib.EngineTypes.endp = _endpos_d00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = s00;
+                  MenhirLib.EngineTypes.startp = _startpos_s00_;
+                  MenhirLib.EngineTypes.endp = _endpos_s00_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = x0;
+                    MenhirLib.EngineTypes.startp = _startpos_x0_;
+                    MenhirLib.EngineTypes.endp = _endpos_x0_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_decl_list_start_decl_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_list_decl_ = 
-# 1609 "parser_cocci_menhir.mly"
-     (let circle x =
-       match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
-     if List.exists circle _1
-     then Ast0.wrap(Ast0.CIRCLES(_1))
-     else Ast0.wrap(Ast0.DOTS(_1)) )
-# 10753 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12408 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12414 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 12419 "parser_cocci_menhir.ml"
+        ) = Obj.magic s00 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let r0 = r00 in
+          let d0 = d00 in
+          let l0 = l00 in
+          let s0 = s00 in
+          let ty =
+            let r = r0 in
+            let d = d0 in
+            let l = l0 in
+            let s = s0 in
+            
+# 684 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = s in
+    let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
+    Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
+# 12439 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12445 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12453 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12459 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10760,13 +12466,60 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_decl_list_name_opt_decl_ = 
-# 1607 "parser_cocci_menhir.mly"
-              ( Ast0.wrap(Ast0.DOTS([])) )
-# 10770 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 12491 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let p0 = p00 in
+          let ty =
+            let p = p0 in
+            
+# 688 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 12503 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12509 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12517 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 701 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12523 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10779,22 +12532,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_list_name_opt_decl_ = 
-# 1609 "parser_cocci_menhir.mly"
-     (let circle x =
-       match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in
-     if List.exists circle _1
-     then Ast0.wrap(Ast0.CIRCLES(_1))
-     else Ast0.wrap(Ast0.DOTS(_1)) )
-# 10798 "parser_cocci_menhir.ml"
+        let r : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 12544 "parser_cocci_menhir.ml"
+        ) = Obj.magic r in
+        let _startpos = _startpos_r_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_ctype = 
+# 703 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
+# 12551 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10807,18 +12560,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_list_start_decl_ = 
-# 1616 "parser_cocci_menhir.mly"
-                 ( [_1] )
-# 10822 "parser_cocci_menhir.ml"
+        let r : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 12572 "parser_cocci_menhir.ml"
+        ) = Obj.magic r in
+        let _startpos = _startpos_r_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_ctype = 
+# 705 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
+# 12579 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10830,35 +12587,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.semv = rp;
+          MenhirLib.EngineTypes.startp = _startpos_rp_;
+          MenhirLib.EngineTypes.endp = _endpos_rp_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.semv = t;
+            MenhirLib.EngineTypes.startp = _startpos_t_;
+            MenhirLib.EngineTypes.endp = _endpos_t_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.semv = lp;
+              MenhirLib.EngineTypes.startp = _startpos_lp_;
+              MenhirLib.EngineTypes.endp = _endpos_lp_;
               MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_decl_list_start_decl_ = Obj.magic _3 in
-        let _2 : (
-# 107 "parser_cocci_menhir.mly"
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 10854 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_decl_list_start_decl_ = 
-# 1618 "parser_cocci_menhir.mly"
-    ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
-# 10862 "parser_cocci_menhir.ml"
+# 12610 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
+        let lp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12616 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let _startpos = _startpos_lp_ in
+        let _endpos = _endpos_rp_ in
+        let _v : 'tv_ctype = 
+# 707 "parser_cocci_menhir.mly"
+    ( let (mids,code) = t in
+      Ast0.wrap
+       (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
+# 12625 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10881,19 +12644,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in
-        let _1 : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10889 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
+        let _1 : 'tv_disj_ident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : 'tv_decl_list_start_decl_ = 
-# 1620 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
-      (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
-# 10897 "parser_cocci_menhir.ml"
+        let _v : 'tv_d_ident = 
+# 1277 "parser_cocci_menhir.mly"
+      ( (_1, function t -> P.arrayify t _2) )
+# 12655 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10905,19 +12663,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = a;
+          MenhirLib.EngineTypes.startp = _startpos_a_;
+          MenhirLib.EngineTypes.endp = _endpos_a_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = i;
+            MenhirLib.EngineTypes.startp = _startpos_i_;
+            MenhirLib.EngineTypes.endp = _endpos_i_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = t;
+              MenhirLib.EngineTypes.startp = _startpos_t_;
+              MenhirLib.EngineTypes.endp = _endpos_t_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_list_start_name_opt_decl_ = 
-# 1616 "parser_cocci_menhir.mly"
-                 ( [_1] )
-# 10921 "parser_cocci_menhir.ml"
+        let a : 'tv_list_array_dec_ = Obj.magic a in
+        let i : 'tv_disj_ident = Obj.magic i in
+        let t : 'tv_ctype = Obj.magic t in
+        let _startpos = _startpos_t_ in
+        let _endpos = _endpos_a_ in
+        let _v : 'tv_decl = 
+# 1029 "parser_cocci_menhir.mly"
+ ( let t = P.arrayify t a in Ast0.wrap(Ast0.Param(t, Some i)) )
+# 12691 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10929,35 +12699,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _3 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _3 in
-        let _2 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10953 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_decl_list_start_name_opt_decl_ = 
-# 1618 "parser_cocci_menhir.mly"
-    ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
-# 10961 "parser_cocci_menhir.ml"
+        let t : 'tv_ctype = Obj.magic t in
+        let _startpos = _startpos_t_ in
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_decl = 
+# 1030 "parser_cocci_menhir.mly"
+              ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
+# 12715 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10969,30 +12723,86 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = rp1;
+          MenhirLib.EngineTypes.startp = _startpos_rp1_;
+          MenhirLib.EngineTypes.endp = _endpos_rp1_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = lp1;
+              MenhirLib.EngineTypes.startp = _startpos_lp1_;
+              MenhirLib.EngineTypes.endp = _endpos_lp1_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = rp;
+                MenhirLib.EngineTypes.startp = _startpos_rp_;
+                MenhirLib.EngineTypes.endp = _endpos_rp_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = i;
+                  MenhirLib.EngineTypes.startp = _startpos_i_;
+                  MenhirLib.EngineTypes.endp = _endpos_i_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.semv = s;
+                    MenhirLib.EngineTypes.startp = _startpos_s_;
+                    MenhirLib.EngineTypes.endp = _endpos_s_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.semv = lp;
+                      MenhirLib.EngineTypes.startp = _startpos_lp_;
+                      MenhirLib.EngineTypes.endp = _endpos_lp_;
+                      MenhirLib.EngineTypes.next = {
+                        MenhirLib.EngineTypes.state = _menhir_s;
+                        MenhirLib.EngineTypes.semv = t;
+                        MenhirLib.EngineTypes.startp = _startpos_t_;
+                        MenhirLib.EngineTypes.endp = _endpos_t_;
+                        MenhirLib.EngineTypes.next = _menhir_stack;
+                        };
+                      };
+                    };
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let _2 : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in
-        let _1 : (
-# 73 "parser_cocci_menhir.mly"
+        let rp1 : (
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 10988 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_decl_list_start_name_opt_decl_ = 
-# 1620 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
-      (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
-# 10996 "parser_cocci_menhir.ml"
+# 12771 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp1 in
+        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+        let lp1 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12777 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp1 in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12782 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let i : 'tv_disj_ident = Obj.magic i in
+        let s : (
+# 167 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12788 "parser_cocci_menhir.ml"
+        ) = Obj.magic s in
+        let lp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12793 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let t : 'tv_ctype = Obj.magic t in
+        let _startpos = _startpos_t_ in
+        let _endpos = _endpos_rp1_ in
+        let _v : 'tv_decl = 
+# 1033 "parser_cocci_menhir.mly"
+        ( let fnptr =
+         Ast0.wrap
+           (Ast0.FunctionPointer
+              (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
+               P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
+       Ast0.wrap(Ast0.Param(fnptr, Some i)) )
+# 12806 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11011,17 +12821,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 11017 "parser_cocci_menhir.ml"
+# 12827 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_statement = 
-# 1132 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = _1 in
-      [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 11025 "parser_cocci_menhir.ml"
+        let _v : 'tv_decl = 
+# 1040 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = _1 in
+       Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
+# 12835 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11039,17 +12849,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_decl_var = Obj.magic _1 in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 12856 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_statement = 
-# 1135 "parser_cocci_menhir.mly"
-      ( List.map
-         (function x ->
-           Ast0.wrap
-             (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
-         _1 )
-# 11053 "parser_cocci_menhir.ml"
+        let _v : 'tv_decl = 
+# 1042 "parser_cocci_menhir.mly"
+            ( tmeta_to_param _1 )
+# 12863 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11067,15 +12877,185 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_statement = Obj.magic _1 in
+        let _1 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 12884 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_statement = 
-# 1140 "parser_cocci_menhir.mly"
-              ( [_1] )
-# 11077 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
+        let _v : 'tv_decl_ident = 
+# 1935 "parser_cocci_menhir.mly"
+         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 12891 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 129 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 12912 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_ident = 
+# 1937 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 12920 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_list_decl_ = 
+# 1959 "parser_cocci_menhir.mly"
+     ( Ast0.wrap
+        (Ast0.DOTS
+           (_1
+              (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
+              (fun c -> Ast0.PComma c))) )
+# 12948 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_list_name_opt_decl_ = 
+# 1959 "parser_cocci_menhir.mly"
+     ( Ast0.wrap
+        (Ast0.DOTS
+           (_1
+              (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
+              (fun c -> Ast0.PComma c))) )
+# 12976 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 12997 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_statement = 
+# 1340 "parser_cocci_menhir.mly"
+      ( let (nm,pure,clt) = _1 in
+      [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
+# 13005 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_decl_var = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_statement = 
+# 1343 "parser_cocci_menhir.mly"
+      ( List.map
+         (function x ->
+           Ast0.wrap
+             (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
+         _1 )
+# 13033 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_statement = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_statement = 
+# 1348 "parser_cocci_menhir.mly"
+              ( [_1] )
+# 13057 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
           MenhirLib.EngineTypes.semv = Obj.repr _v;
           MenhirLib.EngineTypes.startp = _startpos;
@@ -11102,20 +13082,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11108 "parser_cocci_menhir.ml"
+# 13088 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11114 "parser_cocci_menhir.ml"
+# 13094 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_decl_statement = 
-# 1149 "parser_cocci_menhir.mly"
+# 1357 "parser_cocci_menhir.mly"
       ( let (mids,code) = t in
        if List.for_all
            (function x ->
@@ -11125,7 +13105,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       else
          [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
                               P.clt2mcode ")" _3))] )
-# 11129 "parser_cocci_menhir.ml"
+# 13109 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11144,17 +13124,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 11150 "parser_cocci_menhir.ml"
+# 13130 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_statement_expr = 
-# 1162 "parser_cocci_menhir.mly"
+# 1370 "parser_cocci_menhir.mly"
       ( let (nm,pure,clt) = _1 in
       [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 11158 "parser_cocci_menhir.ml"
+# 13138 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11176,13 +13156,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_statement_expr = 
-# 1165 "parser_cocci_menhir.mly"
+# 1373 "parser_cocci_menhir.mly"
       ( List.map
          (function x ->
            Ast0.wrap
              (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
          _1 )
-# 11186 "parser_cocci_menhir.ml"
+# 13166 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11204,9 +13184,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_statement_expr = 
-# 1170 "parser_cocci_menhir.mly"
+# 1378 "parser_cocci_menhir.mly"
               ( [_1] )
-# 11210 "parser_cocci_menhir.ml"
+# 13190 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11235,20 +13215,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11241 "parser_cocci_menhir.ml"
+# 13221 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let t : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = Obj.magic t in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11247 "parser_cocci_menhir.ml"
+# 13227 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_decl_statement_expr = 
-# 1179 "parser_cocci_menhir.mly"
+# 1387 "parser_cocci_menhir.mly"
       ( let (mids,code) = t in
        if List.for_all (function [] -> true | _ -> false) code
       then []
@@ -11257,7 +13237,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
            List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in
          [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids,
                               P.clt2mcode ")" _3))] )
-# 11261 "parser_cocci_menhir.ml"
+# 13241 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11281,17 +13261,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11287 "parser_cocci_menhir.ml"
+# 13267 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
         let _endpos = _endpos_pv_ in
         let _v : 'tv_decl_var = 
-# 942 "parser_cocci_menhir.mly"
+# 1163 "parser_cocci_menhir.mly"
       ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
-# 11295 "parser_cocci_menhir.ml"
+# 13275 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 13296 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_var = 
+# 1164 "parser_cocci_menhir.mly"
+              ( [P.meta_decl _1] )
+# 13303 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11320,9 +13328,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11326 "parser_cocci_menhir.ml"
+# 13334 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let d : 'tv_comma_list_d_ident_ = Obj.magic d in
         let t : 'tv_ctype = Obj.magic t in
@@ -11332,16 +13340,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11336 "parser_cocci_menhir.ml"
+# 13344 "parser_cocci_menhir.ml"
           
         in
         
-# 944 "parser_cocci_menhir.mly"
+# 1166 "parser_cocci_menhir.mly"
       ( List.map
          (function (id,fn) ->
            Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
          d )
-# 11345 "parser_cocci_menhir.ml"
+# 13353 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11375,9 +13383,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11381 "parser_cocci_menhir.ml"
+# 13389 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let d : 'tv_comma_list_d_ident_ = Obj.magic d in
         let t : 'tv_ctype = Obj.magic t in
@@ -11389,16 +13397,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11393 "parser_cocci_menhir.ml"
+# 13401 "parser_cocci_menhir.ml"
           
         in
         
-# 944 "parser_cocci_menhir.mly"
+# 1166 "parser_cocci_menhir.mly"
       ( List.map
          (function (id,fn) ->
            Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
          d )
-# 11402 "parser_cocci_menhir.ml"
+# 13410 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11420,9 +13428,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_f_ in
         let _v : 'tv_decl_var = 
-# 948 "parser_cocci_menhir.mly"
+# 1170 "parser_cocci_menhir.mly"
                ( [f] )
-# 11426 "parser_cocci_menhir.ml"
+# 13434 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11461,15 +13469,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11467 "parser_cocci_menhir.ml"
+# 13475 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11473 "parser_cocci_menhir.ml"
+# 13481 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let d : 'tv_d_ident = Obj.magic d in
         let t : 'tv_ctype = Obj.magic t in
@@ -11479,14 +13487,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11483 "parser_cocci_menhir.ml"
+# 13491 "parser_cocci_menhir.ml"
           
         in
         
-# 950 "parser_cocci_menhir.mly"
+# 1172 "parser_cocci_menhir.mly"
       (let (id,fn) = d in
       [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 11490 "parser_cocci_menhir.ml"
+# 13498 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11530,15 +13538,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11536 "parser_cocci_menhir.ml"
+# 13544 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11542 "parser_cocci_menhir.ml"
+# 13550 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let d : 'tv_d_ident = Obj.magic d in
         let t : 'tv_ctype = Obj.magic t in
@@ -11550,14 +13558,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11554 "parser_cocci_menhir.ml"
+# 13562 "parser_cocci_menhir.ml"
           
         in
         
-# 950 "parser_cocci_menhir.mly"
+# 1172 "parser_cocci_menhir.mly"
       (let (id,fn) = d in
       [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 11561 "parser_cocci_menhir.ml"
+# 13569 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11586,9 +13594,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11592 "parser_cocci_menhir.ml"
+# 13600 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let d : 'tv_comma_list_d_ident_ = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -11598,25 +13606,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11602 "parser_cocci_menhir.ml"
+# 13610 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 11609 "parser_cocci_menhir.ml"
+# 13617 "parser_cocci_menhir.ml"
           
         in
         
-# 955 "parser_cocci_menhir.mly"
+# 1177 "parser_cocci_menhir.mly"
       ( List.map
          (function (id,fn) ->
            let idtype =
              P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
            Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
          d )
-# 11620 "parser_cocci_menhir.ml"
+# 13628 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11650,9 +13658,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11656 "parser_cocci_menhir.ml"
+# 13664 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let d : 'tv_comma_list_d_ident_ = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -11664,25 +13672,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11668 "parser_cocci_menhir.ml"
+# 13676 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 11675 "parser_cocci_menhir.ml"
+# 13683 "parser_cocci_menhir.ml"
           
         in
         
-# 955 "parser_cocci_menhir.mly"
+# 1177 "parser_cocci_menhir.mly"
       ( List.map
          (function (id,fn) ->
            let idtype =
              P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
            Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
          d )
-# 11686 "parser_cocci_menhir.ml"
+# 13694 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11716,9 +13724,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11722 "parser_cocci_menhir.ml"
+# 13730 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let d : 'tv_comma_list_d_ident_ = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -11729,7 +13737,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11733 "parser_cocci_menhir.ml"
+# 13741 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -11737,18 +13745,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11741 "parser_cocci_menhir.ml"
+# 13749 "parser_cocci_menhir.ml"
           
         in
         
-# 955 "parser_cocci_menhir.mly"
+# 1177 "parser_cocci_menhir.mly"
       ( List.map
          (function (id,fn) ->
            let idtype =
              P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
            Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
          d )
-# 11752 "parser_cocci_menhir.ml"
+# 13760 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11787,9 +13795,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11793 "parser_cocci_menhir.ml"
+# 13801 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let d : 'tv_comma_list_d_ident_ = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -11802,7 +13810,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11806 "parser_cocci_menhir.ml"
+# 13814 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -11810,18 +13818,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11814 "parser_cocci_menhir.ml"
+# 13822 "parser_cocci_menhir.ml"
           
         in
         
-# 955 "parser_cocci_menhir.mly"
+# 1177 "parser_cocci_menhir.mly"
       ( List.map
          (function (id,fn) ->
            let idtype =
              P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
            Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)))
          d )
-# 11825 "parser_cocci_menhir.ml"
+# 13833 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11860,15 +13868,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11866 "parser_cocci_menhir.ml"
+# 13874 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11872 "parser_cocci_menhir.ml"
+# 13880 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let d : 'tv_d_ident = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -11878,24 +13886,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11882 "parser_cocci_menhir.ml"
+# 13890 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 11889 "parser_cocci_menhir.ml"
+# 13897 "parser_cocci_menhir.ml"
           
         in
         
-# 963 "parser_cocci_menhir.mly"
+# 1185 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       !Data.add_type_name (P.id2name i);
       let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
       [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
                           P.clt2mcode ";" pv))] )
-# 11899 "parser_cocci_menhir.ml"
+# 13907 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11939,15 +13947,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11945 "parser_cocci_menhir.ml"
+# 13953 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11951 "parser_cocci_menhir.ml"
+# 13959 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let d : 'tv_d_ident = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -11959,24 +13967,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11963 "parser_cocci_menhir.ml"
+# 13971 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 11970 "parser_cocci_menhir.ml"
+# 13978 "parser_cocci_menhir.ml"
           
         in
         
-# 963 "parser_cocci_menhir.mly"
+# 1185 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       !Data.add_type_name (P.id2name i);
       let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
       [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
                           P.clt2mcode ";" pv))] )
-# 11980 "parser_cocci_menhir.ml"
+# 13988 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12020,15 +14028,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12026 "parser_cocci_menhir.ml"
+# 14034 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12032 "parser_cocci_menhir.ml"
+# 14040 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let d : 'tv_d_ident = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -12039,7 +14047,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 12043 "parser_cocci_menhir.ml"
+# 14051 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -12047,17 +14055,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12051 "parser_cocci_menhir.ml"
+# 14059 "parser_cocci_menhir.ml"
           
         in
         
-# 963 "parser_cocci_menhir.mly"
+# 1185 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       !Data.add_type_name (P.id2name i);
       let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
       [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
                           P.clt2mcode ";" pv))] )
-# 12061 "parser_cocci_menhir.ml"
+# 14069 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12106,15 +14114,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12112 "parser_cocci_menhir.ml"
+# 14120 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12118 "parser_cocci_menhir.ml"
+# 14126 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let d : 'tv_d_ident = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -12127,7 +14135,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12131 "parser_cocci_menhir.ml"
+# 14139 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -12135,17 +14143,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12139 "parser_cocci_menhir.ml"
+# 14147 "parser_cocci_menhir.ml"
           
         in
         
-# 963 "parser_cocci_menhir.mly"
+# 1185 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       !Data.add_type_name (P.id2name i);
       let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
       [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
                           P.clt2mcode ";" pv))] )
-# 12149 "parser_cocci_menhir.ml"
+# 14157 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12204,36 +14212,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12210 "parser_cocci_menhir.ml"
+# 14218 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12215 "parser_cocci_menhir.ml"
+# 14223 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12221 "parser_cocci_menhir.ml"
+# 14229 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12226 "parser_cocci_menhir.ml"
+# 14234 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12232 "parser_cocci_menhir.ml"
+# 14240 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12237 "parser_cocci_menhir.ml"
+# 14245 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -12242,11 +14250,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 12246 "parser_cocci_menhir.ml"
+# 14254 "parser_cocci_menhir.ml"
           
         in
         
-# 973 "parser_cocci_menhir.mly"
+# 1195 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -12254,7 +14262,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
                P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
         [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
-# 12258 "parser_cocci_menhir.ml"
+# 14266 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12318,36 +14326,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12324 "parser_cocci_menhir.ml"
+# 14332 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12329 "parser_cocci_menhir.ml"
+# 14337 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12335 "parser_cocci_menhir.ml"
+# 14343 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12340 "parser_cocci_menhir.ml"
+# 14348 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12346 "parser_cocci_menhir.ml"
+# 14354 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12351 "parser_cocci_menhir.ml"
+# 14359 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
@@ -12358,11 +14366,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12362 "parser_cocci_menhir.ml"
+# 14370 "parser_cocci_menhir.ml"
           
         in
         
-# 973 "parser_cocci_menhir.mly"
+# 1195 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -12370,7 +14378,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
                P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
         [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] )
-# 12374 "parser_cocci_menhir.ml"
+# 14382 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12409,29 +14417,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _5 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12415 "parser_cocci_menhir.ml"
+# 14423 "parser_cocci_menhir.ml"
         ) = Obj.magic _5 in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12420 "parser_cocci_menhir.ml"
+# 14428 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12426 "parser_cocci_menhir.ml"
+# 14434 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_decl_ident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : 'tv_decl_var = 
-# 981 "parser_cocci_menhir.mly"
+# 1203 "parser_cocci_menhir.mly"
       ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
                                  P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
-# 12435 "parser_cocci_menhir.ml"
+# 14443 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12500,42 +14508,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12506 "parser_cocci_menhir.ml"
+# 14514 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12512 "parser_cocci_menhir.ml"
+# 14520 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12517 "parser_cocci_menhir.ml"
+# 14525 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12523 "parser_cocci_menhir.ml"
+# 14531 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12528 "parser_cocci_menhir.ml"
+# 14536 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12534 "parser_cocci_menhir.ml"
+# 14542 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12539 "parser_cocci_menhir.ml"
+# 14547 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -12544,11 +14552,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 12548 "parser_cocci_menhir.ml"
+# 14556 "parser_cocci_menhir.ml"
           
         in
         
-# 987 "parser_cocci_menhir.mly"
+# 1209 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -12556,7 +14564,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
                P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
       [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 12560 "parser_cocci_menhir.ml"
+# 14568 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12630,42 +14638,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12636 "parser_cocci_menhir.ml"
+# 14644 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12642 "parser_cocci_menhir.ml"
+# 14650 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12647 "parser_cocci_menhir.ml"
+# 14655 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12653 "parser_cocci_menhir.ml"
+# 14661 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12658 "parser_cocci_menhir.ml"
+# 14666 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12664 "parser_cocci_menhir.ml"
+# 14672 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12669 "parser_cocci_menhir.ml"
+# 14677 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
@@ -12676,11 +14684,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12680 "parser_cocci_menhir.ml"
+# 14688 "parser_cocci_menhir.ml"
           
         in
         
-# 987 "parser_cocci_menhir.mly"
+# 1209 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -12688,7 +14696,2128 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
                P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
       [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 12692 "parser_cocci_menhir.ml"
+# 14700 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = pv;
+          MenhirLib.EngineTypes.startp = _startpos_pv_;
+          MenhirLib.EngineTypes.endp = _endpos_pv_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = id;
+            MenhirLib.EngineTypes.startp = _startpos_id_;
+            MenhirLib.EngineTypes.endp = _endpos_id_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = t;
+              MenhirLib.EngineTypes.startp = _startpos_t_;
+              MenhirLib.EngineTypes.endp = _endpos_t_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = s;
+                MenhirLib.EngineTypes.startp = _startpos_s_;
+                MenhirLib.EngineTypes.endp = _endpos_s_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let pv : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 14736 "parser_cocci_menhir.ml"
+        ) = Obj.magic pv in
+        let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in
+        let t : 'tv_typedef_ctype = Obj.magic t in
+        let s : (
+# 119 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 14743 "parser_cocci_menhir.ml"
+        ) = Obj.magic s in
+        let _startpos = _startpos_s_ in
+        let _endpos = _endpos_pv_ in
+        let _v : 'tv_decl_var = 
+# 1217 "parser_cocci_menhir.mly"
+      ( let s = P.clt2mcode "typedef" s in
+        List.map
+         (function id ->
+           Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv)))
+         id )
+# 14754 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_empty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_define_param_list_option = 
+# 952 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.DOTS
+            (_1
+               (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d)))
+               (fun c -> Ast0.DPComma c))) )
+# 14782 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 149 "parser_cocci_menhir.mly"
+       (Data.clt * token)
+# 14803 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_defineop = 
+# 903 "parser_cocci_menhir.mly"
+    ( let (clt,ident) = _1 in
+      let aft = P.get_aft clt in (* move stuff after the define to the ident *)
+      function body ->
+       Ast0.wrap
+         (Ast0.Define
+            (P.clt2mcode "#define" (P.drop_aft clt),
+             (match ident with
+               TMetaId((nm,constraints,pure,clt)) ->
+                 let clt = P.set_aft aft clt in
+                 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
+             | TIdent((nm,clt)) ->
+                 let clt = P.set_aft aft clt in
+                 Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
+             | _ ->
+                 raise
+                   (Semantic_cocci.Semantic
+                      "unexpected name for a #define")),
+             Ast0.wrap Ast0.NoParams,
+             body)) )
+# 14828 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _3 : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 14859 "parser_cocci_menhir.ml"
+        ) = Obj.magic _3 in
+        let _2 : 'tv_define_param_list_option = Obj.magic _2 in
+        let _1 : (
+# 150 "parser_cocci_menhir.mly"
+       (Data.clt * token * int * int)
+# 14865 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_defineop = 
+# 923 "parser_cocci_menhir.mly"
+    ( let (clt,ident,parenoff,parencol) = _1 in
+      let aft = P.get_aft clt in (* move stuff after the define to the ( *)
+      (* clt is the start of the #define itself *)
+      let (arity,line,lline,offset,col,strbef,straft,pos) = clt in
+      let lp =
+       P.clt2mcode "("
+         (arity,line,lline,parenoff,parencol,[],[],[]) in
+      function body ->
+       Ast0.wrap
+         (Ast0.Define
+            (P.clt2mcode "#define" (P.drop_aft clt),
+             (match ident with
+               TMetaId((nm,constraints,pure,clt)) ->
+                 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
+             | TIdent((nm,clt)) ->
+                 Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
+             | _ ->
+                 raise
+                   (Semantic_cocci.Semantic
+                      "unexpected name for a #define")),
+             (let clt = P.set_aft aft _3 in
+             Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" clt))),body)) )
+# 14893 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_pnrule = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_dep = 
+# 295 "parser_cocci_menhir.mly"
+                   ( _1 )
+# 14917 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _3 : 'tv_dep = Obj.magic _3 in
+        let _1 : 'tv_dep = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_dep = 
+# 296 "parser_cocci_menhir.mly"
+                   ( Ast.AndDep(_1, _3) )
+# 14951 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _3 : 'tv_dep = Obj.magic _3 in
+        let _1 : 'tv_dep = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_dep = 
+# 297 "parser_cocci_menhir.mly"
+                   ( Ast.OrDep (_1, _3) )
+# 14985 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_depends = 
+# 291 "parser_cocci_menhir.mly"
+                           ( Ast.NoDep )
+# 15002 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = parents;
+          MenhirLib.EngineTypes.startp = _startpos_parents_;
+          MenhirLib.EngineTypes.endp = _endpos_parents_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let parents : 'tv_dep = Obj.magic parents in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_parents_ in
+        let _v : 'tv_depends = 
+# 292 "parser_cocci_menhir.mly"
+                           ( parents )
+# 15034 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_disj_ident = Obj.magic _2 in
+        let _1 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15061 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_designator = 
+# 1326 "parser_cocci_menhir.mly"
+     ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
+# 15068 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _3 : (
+# 170 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15099 "parser_cocci_menhir.ml"
+        ) = Obj.magic _3 in
+        let _2 : 'tv_eexpr = Obj.magic _2 in
+        let _1 : (
+# 170 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15105 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_designator = 
+# 1328 "parser_cocci_menhir.mly"
+     ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
+# 15112 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _5;
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _4;
+            MenhirLib.EngineTypes.startp = _startpos__4_;
+            MenhirLib.EngineTypes.endp = _endpos__4_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = _3;
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = _2;
+                MenhirLib.EngineTypes.startp = _startpos__2_;
+                MenhirLib.EngineTypes.endp = _endpos__2_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = _1;
+                  MenhirLib.EngineTypes.startp = _startpos__1_;
+                  MenhirLib.EngineTypes.endp = _endpos__1_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let _5 : (
+# 170 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15153 "parser_cocci_menhir.ml"
+        ) = Obj.magic _5 in
+        let _4 : 'tv_eexpr = Obj.magic _4 in
+        let _3 : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15159 "parser_cocci_menhir.ml"
+        ) = Obj.magic _3 in
+        let _2 : 'tv_eexpr = Obj.magic _2 in
+        let _1 : (
+# 170 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15165 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_designator = 
+# 1330 "parser_cocci_menhir.mly"
+     ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
+                            _4,P.clt2mcode "]" _5) )
+# 15173 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_dexpr = 
+# 1409 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 15197 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_disable = 
+# 310 "parser_cocci_menhir.mly"
+                                                      ( List.map P.id2name _2 )
+# 15225 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_mident = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_disj_ident = 
+# 1923 "parser_cocci_menhir.mly"
+              ( _1 )
+# 15249 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = rp;
+          MenhirLib.EngineTypes.startp = _startpos_rp_;
+          MenhirLib.EngineTypes.endp = _endpos_rp_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = t;
+            MenhirLib.EngineTypes.startp = _startpos_t_;
+            MenhirLib.EngineTypes.endp = _endpos_t_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = lp;
+              MenhirLib.EngineTypes.startp = _startpos_lp_;
+              MenhirLib.EngineTypes.endp = _endpos_lp_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15280 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_midzero_list_disj_ident_disj_ident_ = Obj.magic t in
+        let lp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15286 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let _startpos = _startpos_lp_ in
+        let _endpos = _endpos_rp_ in
+        let _v : 'tv_disj_ident = 
+# 1925 "parser_cocci_menhir.mly"
+  ( let (mids,code) = t in
+        Ast0.wrap
+          (Ast0.DisjId(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
+# 15295 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15316 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_dot_expressions = 
+# 1418 "parser_cocci_menhir.mly"
+            ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
+# 15323 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_nest_expressions = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_dot_expressions = 
+# 1419 "parser_cocci_menhir.mly"
+                   ( _1 )
+# 15347 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_mident = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_dparam = 
+# 948 "parser_cocci_menhir.mly"
+               ( Ast0.wrap(Ast0.DParam _1) )
+# 15371 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = d;
+          MenhirLib.EngineTypes.startp = _startpos_d_;
+          MenhirLib.EngineTypes.endp = _endpos_d_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15392 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_d_ in
+        let _v : 'tv_edots_when_TEllipsis_eexpr_ = 
+# 2245 "parser_cocci_menhir.mly"
+                                                  ( (d,None) )
+# 15399 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = w;
+            MenhirLib.EngineTypes.startp = _startpos_w_;
+            MenhirLib.EngineTypes.endp = _endpos_w_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__2_;
+                MenhirLib.EngineTypes.endp = _endpos__2_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = d;
+                  MenhirLib.EngineTypes.startp = _startpos_d_;
+                  MenhirLib.EngineTypes.endp = _endpos_d_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let w : 'tv_eexpr = Obj.magic w in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15438 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_edots_when_TEllipsis_eexpr_ = 
+# 2246 "parser_cocci_menhir.mly"
+                                                  ( (d,Some w) )
+# 15445 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = d;
+          MenhirLib.EngineTypes.startp = _startpos_d_;
+          MenhirLib.EngineTypes.endp = _endpos_d_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15466 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_d_ in
+        let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = 
+# 2245 "parser_cocci_menhir.mly"
+                                                  ( (d,None) )
+# 15473 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = w;
+            MenhirLib.EngineTypes.startp = _startpos_w_;
+            MenhirLib.EngineTypes.endp = _endpos_w_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__2_;
+                MenhirLib.EngineTypes.endp = _endpos__2_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = d;
+                  MenhirLib.EngineTypes.startp = _startpos_d_;
+                  MenhirLib.EngineTypes.endp = _endpos_d_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let w : 'tv_enum_decl_one = Obj.magic w in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15512 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = 
+# 2246 "parser_cocci_menhir.mly"
+                                                  ( (d,Some w) )
+# 15519 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = d;
+          MenhirLib.EngineTypes.startp = _startpos_d_;
+          MenhirLib.EngineTypes.endp = _endpos_d_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15540 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_d_ in
+        let _v : 'tv_edots_when_TEllipsis_initialize_ = 
+# 2245 "parser_cocci_menhir.mly"
+                                                  ( (d,None) )
+# 15547 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = w;
+            MenhirLib.EngineTypes.startp = _startpos_w_;
+            MenhirLib.EngineTypes.endp = _endpos_w_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__2_;
+                MenhirLib.EngineTypes.endp = _endpos__2_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = d;
+                  MenhirLib.EngineTypes.startp = _startpos_d_;
+                  MenhirLib.EngineTypes.endp = _endpos_d_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let w : 'tv_initialize = Obj.magic w in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15586 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_edots_when_TEllipsis_initialize_ = 
+# 2246 "parser_cocci_menhir.mly"
+                                                  ( (d,Some w) )
+# 15593 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = d;
+          MenhirLib.EngineTypes.startp = _startpos_d_;
+          MenhirLib.EngineTypes.endp = _endpos_d_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15614 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_d_ in
+        let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ = 
+# 2245 "parser_cocci_menhir.mly"
+                                                  ( (d,None) )
+# 15621 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = w;
+            MenhirLib.EngineTypes.startp = _startpos_w_;
+            MenhirLib.EngineTypes.endp = _endpos_w_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__2_;
+                MenhirLib.EngineTypes.endp = _endpos__2_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = d;
+                  MenhirLib.EngineTypes.startp = _startpos_d_;
+                  MenhirLib.EngineTypes.endp = _endpos_d_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let w : 'tv_struct_decl_one = Obj.magic w in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 15660 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ = 
+# 2246 "parser_cocci_menhir.mly"
+                                                  ( (d,Some w) )
+# 15667 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_eexpr = 
+# 1407 "parser_cocci_menhir.mly"
+                                         ( _1 )
+# 15691 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_empty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_eexpr_list_option = 
+# 2225 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.DOTS
+            (_1
+               (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None)))
+               (fun c -> Ast0.EComma c))) )
+# 15719 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_empty_list_start_aexpr_TEllipsis_ = 
+# 1987 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15736 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_empty_list_start_aexpr_TEllipsis_ = 
+# 1988 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15760 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_empty_list_start_dparam_TEllipsis_ = 
+# 1987 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15777 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_empty_list_start_dparam_TEllipsis_ = 
+# 1988 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15801 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1987 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15818 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1988 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15842 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = 
+# 1987 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15859 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = 
+# 1988 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15883 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 1987 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15900 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 1988 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15924 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_decl_list = 
+# 804 "parser_cocci_menhir.mly"
+     ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) )
+# 15948 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_disj_ident = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_decl_one = 
+# 775 "parser_cocci_menhir.mly"
+                    ( Ast0.wrap(Ast0.Ident(_1)) )
+# 15972 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _3 : 'tv_enum_val = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 16004 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_disj_ident = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_enum_decl_one = 
+# 777 "parser_cocci_menhir.mly"
+ ( let id = Ast0.wrap(Ast0.Ident(_1)) in
+       Ast0.wrap
+         (Ast0.Assignment
+            (id,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,
+             false)) )
+# 16016 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_ident = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 784 "parser_cocci_menhir.mly"
+            ( Ast0.wrap(Ast0.Ident(_1)) )
+# 16040 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 155 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 16061 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 786 "parser_cocci_menhir.mly"
+     ( let (x,clt) = _1 in
+     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 16069 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 16090 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 788 "parser_cocci_menhir.mly"
+         ( tmeta_to_exp _1 )
+# 16097 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 135 "parser_cocci_menhir.mly"
+       (Parse_aux.typed_expinfo)
+# 16118 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 790 "parser_cocci_menhir.mly"
+     ( let (nm,constraints,pure,ty,clt) = _1 in
+     Ast0.wrap
+       (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
+# 16127 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 135 "parser_cocci_menhir.mly"
+       (Parse_aux.typed_expinfo)
+# 16148 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 794 "parser_cocci_menhir.mly"
+     ( let (nm,constraints,pure,ty,clt) = _1 in
+     Ast0.wrap
+       (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
+# 16157 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 135 "parser_cocci_menhir.mly"
+       (Parse_aux.typed_expinfo)
+# 16178 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 798 "parser_cocci_menhir.mly"
+     ( let (nm,constraints,pure,ty,clt) = _1 in
+     Ast0.wrap
+       (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
+# 16187 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_exists = 
+# 313 "parser_cocci_menhir.mly"
+          ( Ast.Exists )
+# 16209 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_exists = 
+# 314 "parser_cocci_menhir.mly"
+          ( Ast.Forall )
+# 16231 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_exists = 
+# 315 "parser_cocci_menhir.mly"
+          ( Ast.Undetermined )
+# 16248 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_expr = 
+# 1405 "parser_cocci_menhir.mly"
+                                ( _1 )
+# 16272 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
+        let _startpos = _startpos_r_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_expr_dots_TEllipsis_ = 
+# 1642 "parser_cocci_menhir.mly"
+                                                       ( r )
+# 16296 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let m : 'tv_nonempty_list_TMul_ = Obj.magic m in
+        let _startpos = _startpos_m_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_expression_type = 
+# 569 "parser_cocci_menhir.mly"
+                        ( P.ty_pointerify Type_cocci.Unknown m )
+# 16320 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_expression_type = 
+# 571 "parser_cocci_menhir.mly"
+    ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m )
+# 16348 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_expression_type = 
+# 573 "parser_cocci_menhir.mly"
+    ( P.ty_pointerify
+       (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m )
+# 16377 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_expression_type = 
+# 576 "parser_cocci_menhir.mly"
+    ( P.ty_pointerify
+       (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m )
+# 16406 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_extends = 
+# 286 "parser_cocci_menhir.mly"
+                                                  ( () )
+# 16423 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = parent;
+          MenhirLib.EngineTypes.startp = _startpos_parent_;
+          MenhirLib.EngineTypes.endp = _endpos_parent_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let parent : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 16448 "parser_cocci_menhir.ml"
+        ) = Obj.magic parent in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_parent_ in
+        let _v : 'tv_extends = 
+# 288 "parser_cocci_menhir.mly"
+    ( !Data.install_bindings (parent) )
+# 16455 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : (
+# 151 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 16481 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : (
+# 151 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 16486 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_filespec = 
+# 841 "parser_cocci_menhir.mly"
+    ( [Ast0.wrap
+         (Ast0.FILEINFO(P.id2mcode _1,
+                        P.id2mcode _2))] )
+# 16495 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_disj_ident = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_fn_ident = 
+# 1900 "parser_cocci_menhir.mly"
+                     ( _1 )
+# 16519 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 128 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 16540 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_fn_ident = 
+# 1902 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+        Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 16548 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 128 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 16569 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_fn_ident = 
+# 1905 "parser_cocci_menhir.mly"
+  ( let (nm,constraints,pure,clt) = _1 in
+        Ast0.wrap
+          (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 16578 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_fninfo = 
+# 984 "parser_cocci_menhir.mly"
+                ( [] )
+# 16595 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_fninfo = Obj.magic _2 in
+        let _1 : 'tv_storage = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fninfo = 
+# 986 "parser_cocci_menhir.mly"
+      ( try
+       let _ =
+         List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
+       raise (Semantic_cocci.Semantic "duplicate storage")
+      with Not_found -> (Ast0.FStorage(_1))::_2 )
+# 16629 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = t;
+            MenhirLib.EngineTypes.startp = _startpos_t_;
+            MenhirLib.EngineTypes.endp = _endpos_t_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let r : 'tv_fninfo_nt = Obj.magic r in
+        let t : 'tv_ctype = Obj.magic t in
+        let _startpos = _startpos_t_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_fninfo = 
+# 991 "parser_cocci_menhir.mly"
+                        ( (Ast0.FType(t))::r )
+# 16659 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_fninfo = Obj.magic _2 in
+        let _1 : (
+# 119 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 16686 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fninfo = 
+# 993 "parser_cocci_menhir.mly"
+      ( try
+       let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
+       raise (Semantic_cocci.Semantic "duplicate inline")
+      with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
+# 16696 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_fninfo = Obj.magic _2 in
+        let _1 : (
+# 121 "parser_cocci_menhir.mly"
+      (string * Data.clt)
+# 16723 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fninfo = 
+# 998 "parser_cocci_menhir.mly"
+      ( try
+       let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
+       raise (Semantic_cocci.Semantic "multiple attributes")
+      with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
+# 16733 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_fninfo_nt = 
+# 1004 "parser_cocci_menhir.mly"
+                ( [] )
+# 16750 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_fninfo_nt = Obj.magic _2 in
+        let _1 : 'tv_storage = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fninfo_nt = 
+# 1006 "parser_cocci_menhir.mly"
+      ( try
+       let _ =
+         List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
+       raise (Semantic_cocci.Semantic "duplicate storage")
+      with Not_found -> (Ast0.FStorage(_1))::_2 )
+# 16784 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_fninfo_nt = Obj.magic _2 in
+        let _1 : (
+# 119 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 16811 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fninfo_nt = 
+# 1012 "parser_cocci_menhir.mly"
+      ( try
+       let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
+       raise (Semantic_cocci.Semantic "duplicate inline")
+      with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
+# 16821 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12700,49 +16829,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = pv;
-          MenhirLib.EngineTypes.startp = _startpos_pv_;
-          MenhirLib.EngineTypes.endp = _endpos_pv_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = id;
-            MenhirLib.EngineTypes.startp = _startpos_id_;
-            MenhirLib.EngineTypes.endp = _endpos_id_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = t;
-              MenhirLib.EngineTypes.startp = _startpos_t_;
-              MenhirLib.EngineTypes.endp = _endpos_t_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = s;
-                MenhirLib.EngineTypes.startp = _startpos_s_;
-                MenhirLib.EngineTypes.endp = _endpos_s_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let pv : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 12728 "parser_cocci_menhir.ml"
-        ) = Obj.magic pv in
-        let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in
-        let t : 'tv_typedef_ctype = Obj.magic t in
-        let s : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 12735 "parser_cocci_menhir.ml"
-        ) = Obj.magic s in
-        let _startpos = _startpos_s_ in
-        let _endpos = _endpos_pv_ in
-        let _v : 'tv_decl_var = 
-# 995 "parser_cocci_menhir.mly"
-      ( let s = P.clt2mcode "typedef" s in
-        List.map
-         (function id ->
-           Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv)))
-         id )
-# 12746 "parser_cocci_menhir.ml"
+        let _2 : 'tv_fninfo_nt = Obj.magic _2 in
+        let _1 : (
+# 121 "parser_cocci_menhir.mly"
+      (string * Data.clt)
+# 16848 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fninfo_nt = 
+# 1017 "parser_cocci_menhir.mly"
+      ( try
+       let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
+       raise (Semantic_cocci.Semantic "duplicate init")
+      with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
+# 16858 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12753,24 +16865,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_fun_after_dots = 
+# 2158 "parser_cocci_menhir.mly"
+                               ([])
+# 16875 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
           MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let _1 : 'tv_define_param_list_start = Obj.magic _1 in
+        let _2 : 'tv_fun_after_exp = Obj.magic _2 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_define_param_list = 
-# 712 "parser_cocci_menhir.mly"
-     (let circle x =
-       match Ast0.unwrap x with Ast0.DPcircles(_) -> true | _ -> false in
-     if List.exists circle _1
-     then Ast0.wrap(Ast0.CIRCLES(_1))
-     else Ast0.wrap(Ast0.DOTS(_1)) )
-# 12774 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fun_after_dots = 
+# 2159 "parser_cocci_menhir.mly"
+                               (_2)
+# 16903 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12782,19 +16911,55 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_fun_after_exp = Obj.magic _2 in
+        let _1 : 'tv_expr = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fun_after_dots = 
+# 2160 "parser_cocci_menhir.mly"
+                               (Ast0.wrap(Ast0.Exp(_1))::_2)
+# 16933 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
           MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let _1 : 'tv_define_param_list = Obj.magic _1 in
+        let _2 : 'tv_fun_after_stm = Obj.magic _2 in
+        let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_define_param_list_option = 
-# 736 "parser_cocci_menhir.mly"
-                                            ( _1 )
-# 12798 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fun_after_dots = 
+# 2161 "parser_cocci_menhir.mly"
+                                    (_1@_2)
+# 16963 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12808,10 +16973,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
         let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
         let _endpos = _startpos in
-        let _v : 'tv_define_param_list_option = 
-# 737 "parser_cocci_menhir.mly"
-                           ( Ast0.wrap(Ast0.DOTS([])) )
-# 12815 "parser_cocci_menhir.ml"
+        let _v : 'tv_fun_after_dots_or = 
+# 2168 "parser_cocci_menhir.mly"
+                               ([])
+# 16980 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12823,19 +16988,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fun_after_dots_or = 
+# 2169 "parser_cocci_menhir.mly"
+                               (_2)
+# 17008 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
           MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let _1 : 'tv_ident = Obj.magic _1 in
+        let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
+        let _1 : 'tv_expr = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_define_param_list_start = 
-# 719 "parser_cocci_menhir.mly"
-          ( [Ast0.wrap(Ast0.DParam _1)] )
-# 12839 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fun_after_dots_or = 
+# 2170 "parser_cocci_menhir.mly"
+                               (Ast0.wrap(Ast0.Exp(_1))::_2)
+# 17038 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12847,36 +17046,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _3 : 'tv_define_param_list_start = Obj.magic _3 in
-        let _2 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 12871 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : 'tv_ident = Obj.magic _1 in
+        let _2 : 'tv_fun_after_stm = Obj.magic _2 in
+        let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_define_param_list_start = 
-# 721 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.DParam _1)::
-       Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 )
-# 12880 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fun_after_dots_or = 
+# 2171 "parser_cocci_menhir.mly"
+                                    (_1@_2)
+# 17068 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12888,30 +17076,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = r;
-          MenhirLib.EngineTypes.startp = _startpos_r_;
-          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = d;
-            MenhirLib.EngineTypes.startp = _startpos_d_;
-            MenhirLib.EngineTypes.endp = _endpos_d_;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let r : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic r in
-        let d : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 12907 "parser_cocci_menhir.ml"
-        ) = Obj.magic d in
-        let _startpos = _startpos_d_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_define_param_list_start = 
-# 724 "parser_cocci_menhir.mly"
-      ( (P.mkdpdots "..." d)::
-       (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) )
-# 12915 "parser_cocci_menhir.ml"
+        let _2 : 'tv_fun_after_dots = Obj.magic _2 in
+        let _1 : 'tv_stm_dots = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fun_after_exp = 
+# 2164 "parser_cocci_menhir.mly"
+                               (_1::_2)
+# 17098 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_fun_after_exp_or = 
+# 2174 "parser_cocci_menhir.mly"
+                               ([])
+# 17115 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12923,38 +17123,72 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_fun_after_dots = Obj.magic _2 in
+        let _1 : 'tv_stm_dots = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fun_after_exp_or = 
+# 2175 "parser_cocci_menhir.mly"
+                               (_1::_2)
+# 17145 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_fun_after_stm = 
+# 2153 "parser_cocci_menhir.mly"
+                               ([])
+# 17162 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
           MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let _1 : (
-# 81 "parser_cocci_menhir.mly"
-       (Data.clt * token)
-# 12936 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _2 : 'tv_fun_after_dots = Obj.magic _2 in
+        let _1 : 'tv_stm_dots = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_defineop = 
-# 671 "parser_cocci_menhir.mly"
-    ( let (clt,ident) = _1 in
-      function body ->
-       Ast0.wrap
-         (Ast0.Define
-            (P.clt2mcode "#define" clt,
-             (match ident with
-               TMetaId((nm,constraints,pure,clt)) ->
-                 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
-             | TIdent(nm_pure) ->
-                 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
-             | _ ->
-                 raise
-                   (Semantic_cocci.Semantic
-                      "unexpected name for a #define")),
-             Ast0.wrap Ast0.NoParams,
-             body)) )
-# 12958 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fun_after_stm = 
+# 2154 "parser_cocci_menhir.mly"
+                               (_1::_2)
+# 17192 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12966,58 +17200,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _3 : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 12989 "parser_cocci_menhir.ml"
-        ) = Obj.magic _3 in
-        let _2 : 'tv_define_param_list_option = Obj.magic _2 in
-        let _1 : (
-# 82 "parser_cocci_menhir.mly"
-       (Data.clt * token * int * int)
-# 12995 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _2 : 'tv_fun_after_stm = Obj.magic _2 in
+        let _1 : 'tv_decl_statement = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_defineop = 
-# 688 "parser_cocci_menhir.mly"
-    ( let (clt,ident,parenoff,parencol) = _1 in
-      (* clt is the start of the #define itself *)
-      let (arity,line,lline,offset,col,strbef,straft,pos) = clt in
-      let lp =
-       P.clt2mcode "("
-         (arity,line,lline,parenoff,parencol,[],[],Ast0.NoMetaPos) in
-      function body ->
-       Ast0.wrap
-         (Ast0.Define
-            (P.clt2mcode "#define" clt,
-             (match ident with
-               TMetaId((nm,constraints,pure,clt)) ->
-                 Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
-             | TIdent(nm_pure) ->
-                 Ast0.wrap(Ast0.Id(P.id2mcode nm_pure))
-             | _ ->
-                 raise
-                   (Semantic_cocci.Semantic
-                      "unexpected name for a #define")),
-             Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) )
-# 13021 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_fun_after_stm = 
+# 2155 "parser_cocci_menhir.mly"
+                               (_1@_2)
+# 17222 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13035,13 +17236,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_pnrule = Obj.magic _1 in
+        let _1 : 'tv_fun_after_stm = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_dep = 
-# 225 "parser_cocci_menhir.mly"
-                   ( _1 )
-# 13045 "parser_cocci_menhir.ml"
+        let _v : 'tv_fun_start = 
+# 2150 "parser_cocci_menhir.mly"
+                 ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 17246 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13053,29 +17254,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _3 : 'tv_dep = Obj.magic _3 in
-        let _1 : 'tv_dep = Obj.magic _1 in
+        let _1 : 'tv_ident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_dep = 
-# 226 "parser_cocci_menhir.mly"
-                   ( Ast.AndDep(_1, _3) )
-# 13079 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_func_ident = 
+# 1891 "parser_cocci_menhir.mly"
+                  ( _1 )
+# 17270 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13087,29 +17278,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _3 : 'tv_dep = Obj.magic _3 in
-        let _1 : 'tv_dep = Obj.magic _1 in
+        let _1 : (
+# 128 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 17291 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_dep = 
-# 227 "parser_cocci_menhir.mly"
-                   ( Ast.OrDep (_1, _3) )
-# 13113 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_func_ident = 
+# 1893 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+        Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 17299 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13120,13 +17306,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_depends = 
-# 221 "parser_cocci_menhir.mly"
-                           ( Ast.NoDep )
-# 13130 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 128 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 17320 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_func_ident = 
+# 1896 "parser_cocci_menhir.mly"
+  ( let (nm,constraints,pure,clt) = _1 in
+        Ast0.wrap
+          (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 17329 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13138,61 +17337,87 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = parents;
-          MenhirLib.EngineTypes.startp = _startpos_parents_;
-          MenhirLib.EngineTypes.endp = _endpos_parents_;
+          MenhirLib.EngineTypes.semv = rb;
+          MenhirLib.EngineTypes.startp = _startpos_rb_;
+          MenhirLib.EngineTypes.endp = _endpos_rb_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.semv = b;
+            MenhirLib.EngineTypes.startp = _startpos_b_;
+            MenhirLib.EngineTypes.endp = _endpos_b_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.semv = lb;
+              MenhirLib.EngineTypes.startp = _startpos_lb_;
+              MenhirLib.EngineTypes.endp = _endpos_lb_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = rp;
+                MenhirLib.EngineTypes.startp = _startpos_rp_;
+                MenhirLib.EngineTypes.endp = _endpos_rp_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = d;
+                  MenhirLib.EngineTypes.startp = _startpos_d_;
+                  MenhirLib.EngineTypes.endp = _endpos_d_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.semv = lp;
+                    MenhirLib.EngineTypes.startp = _startpos_lp_;
+                    MenhirLib.EngineTypes.endp = _endpos_lp_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.semv = i;
+                      MenhirLib.EngineTypes.startp = _startpos_i_;
+                      MenhirLib.EngineTypes.endp = _endpos_i_;
+                      MenhirLib.EngineTypes.next = {
+                        MenhirLib.EngineTypes.startp = _startpos__2_;
+                        MenhirLib.EngineTypes.endp = _endpos__2_;
+                        MenhirLib.EngineTypes.next = {
+                          MenhirLib.EngineTypes.state = _menhir_s;
+                          MenhirLib.EngineTypes.semv = f;
+                          MenhirLib.EngineTypes.startp = _startpos_f_;
+                          MenhirLib.EngineTypes.endp = _endpos_f_;
+                          MenhirLib.EngineTypes.next = _menhir_stack;
+                          };
+                        };
+                      };
+                    };
+                  };
+                };
               };
             };
           } = _menhir_stack in
-        let parents : 'tv_dep = Obj.magic parents in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos_parents_ in
-        let _v : 'tv_depends = 
-# 222 "parser_cocci_menhir.mly"
-                           ( parents )
-# 13162 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
-          } = _menhir_stack in
-        let _2 : 'tv_ident = Obj.magic _2 in
-        let _1 : (
-# 107 "parser_cocci_menhir.mly"
+        let rb : (
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13189 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_designator = 
-# 1096 "parser_cocci_menhir.mly"
-     ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
-# 13196 "parser_cocci_menhir.ml"
+# 17389 "parser_cocci_menhir.ml"
+        ) = Obj.magic rb in
+        let b : 'tv_fun_start = Obj.magic b in
+        let lb : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 17395 "parser_cocci_menhir.ml"
+        ) = Obj.magic lb in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 17400 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let d : 'tv_decl_list_decl_ = Obj.magic d in
+        let lp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 17406 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let i : 'tv_fn_ident = Obj.magic i in
+        let f : 'tv_fninfo = Obj.magic f in
+        let _startpos = _startpos_f_ in
+        let _endpos = _endpos_rb_ in
+        let _v : 'tv_fundecl = 
+# 975 "parser_cocci_menhir.mly"
+      ( P.verify_parameter_declarations (Ast0.undots d);
+       Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
+                              f, i,
+                              P.clt2mcode "(" lp, d,
+                              P.clt2mcode ")" rp,
+                              P.clt2mcode "{" lb, b,
+                              P.clt2mcode "}" rb)) )
+# 17421 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13204,39 +17429,74 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.semv = pt;
+          MenhirLib.EngineTypes.startp = _startpos_pt_;
+          MenhirLib.EngineTypes.endp = _endpos_pt_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.semv = rp;
+            MenhirLib.EngineTypes.startp = _startpos_rp_;
+            MenhirLib.EngineTypes.endp = _endpos_rp_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.semv = d;
+              MenhirLib.EngineTypes.startp = _startpos_d_;
+              MenhirLib.EngineTypes.endp = _endpos_d_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = lp;
+                MenhirLib.EngineTypes.startp = _startpos_lp_;
+                MenhirLib.EngineTypes.endp = _endpos_lp_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = id;
+                  MenhirLib.EngineTypes.startp = _startpos_id_;
+                  MenhirLib.EngineTypes.endp = _endpos_id_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = t;
+                    MenhirLib.EngineTypes.startp = _startpos_t_;
+                    MenhirLib.EngineTypes.endp = _endpos_t_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
               };
             };
           } = _menhir_stack in
-        let _3 : (
-# 102 "parser_cocci_menhir.mly"
+        let pt : (
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13227 "parser_cocci_menhir.ml"
-        ) = Obj.magic _3 in
-        let _2 : 'tv_eexpr = Obj.magic _2 in
-        let _1 : (
-# 102 "parser_cocci_menhir.mly"
+# 17467 "parser_cocci_menhir.ml"
+        ) = Obj.magic pt in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13233 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_designator = 
-# 1098 "parser_cocci_menhir.mly"
-     ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
-# 13240 "parser_cocci_menhir.ml"
+# 17472 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+        let lp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 17478 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let id : 'tv_fn_ident = Obj.magic id in
+        let t : 'tv_ctype = Obj.magic t in
+        let _startpos = _startpos_t_ in
+        let _endpos = _endpos_pt_ in
+        let _v : 'tv_funproto = let s =
+          
+# 39 "standard.mly"
+    ( None )
+# 17488 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 963 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.UnInit
+            (s,
+             Ast0.wrap
+               (Ast0.FunctionType(Some t,
+                                  P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
+             id, P.clt2mcode ";" pt)) )
+# 17500 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13248,56 +17508,81 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _5;
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.semv = pt;
+          MenhirLib.EngineTypes.startp = _startpos_pt_;
+          MenhirLib.EngineTypes.endp = _endpos_pt_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _4;
-            MenhirLib.EngineTypes.startp = _startpos__4_;
-            MenhirLib.EngineTypes.endp = _endpos__4_;
+            MenhirLib.EngineTypes.semv = rp;
+            MenhirLib.EngineTypes.startp = _startpos_rp_;
+            MenhirLib.EngineTypes.endp = _endpos_rp_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = _3;
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.semv = d;
+              MenhirLib.EngineTypes.startp = _startpos_d_;
+              MenhirLib.EngineTypes.endp = _endpos_d_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = _2;
-                MenhirLib.EngineTypes.startp = _startpos__2_;
-                MenhirLib.EngineTypes.endp = _endpos__2_;
+                MenhirLib.EngineTypes.semv = lp;
+                MenhirLib.EngineTypes.startp = _startpos_lp_;
+                MenhirLib.EngineTypes.endp = _endpos_lp_;
                 MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = _1;
-                  MenhirLib.EngineTypes.startp = _startpos__1_;
-                  MenhirLib.EngineTypes.endp = _endpos__1_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  MenhirLib.EngineTypes.semv = id;
+                  MenhirLib.EngineTypes.startp = _startpos_id_;
+                  MenhirLib.EngineTypes.endp = _endpos_id_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.semv = t;
+                    MenhirLib.EngineTypes.startp = _startpos_t_;
+                    MenhirLib.EngineTypes.endp = _endpos_t_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.semv = x0;
+                      MenhirLib.EngineTypes.startp = _startpos_x0_;
+                      MenhirLib.EngineTypes.endp = _endpos_x0_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
+                    };
                   };
                 };
               };
             };
           } = _menhir_stack in
-        let _5 : (
-# 102 "parser_cocci_menhir.mly"
+        let pt : (
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13281 "parser_cocci_menhir.ml"
-        ) = Obj.magic _5 in
-        let _4 : 'tv_eexpr = Obj.magic _4 in
-        let _3 : (
-# 73 "parser_cocci_menhir.mly"
+# 17551 "parser_cocci_menhir.ml"
+        ) = Obj.magic pt in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13287 "parser_cocci_menhir.ml"
-        ) = Obj.magic _3 in
-        let _2 : 'tv_eexpr = Obj.magic _2 in
-        let _1 : (
-# 102 "parser_cocci_menhir.mly"
+# 17556 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+        let lp : (
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13293 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_designator = 
-# 1100 "parser_cocci_menhir.mly"
-     ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
-                            _4,P.clt2mcode "]" _5) )
-# 13301 "parser_cocci_menhir.ml"
+# 17562 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let id : 'tv_fn_ident = Obj.magic id in
+        let t : 'tv_ctype = Obj.magic t in
+        let x0 : 'tv_storage = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_pt_ in
+        let _v : 'tv_funproto = let s =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 17574 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 963 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.UnInit
+            (s,
+             Ast0.wrap
+               (Ast0.FunctionType(Some t,
+                                  P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
+             id, P.clt2mcode ";" pt)) )
+# 17586 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13315,13 +17600,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_basic_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+        let _1 : 'tv_pure_ident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_dexpr = 
-# 1199 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 13325 "parser_cocci_menhir.ml"
+        let _v : 'tv_ident = 
+# 1910 "parser_cocci_menhir.mly"
+         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 17610 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13333,23 +17618,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _2 : 'tv_separated_nonempty_list_TComma_pure_ident_ = Obj.magic _2 in
+        let _1 : (
+# 128 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 17631 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_disable = 
-# 240 "parser_cocci_menhir.mly"
-                                                      ( List.map P.id2name _2 )
-# 13353 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_ident = 
+# 1912 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 17639 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13362,22 +17648,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = i;
+          MenhirLib.EngineTypes.startp = _startpos_i_;
+          MenhirLib.EngineTypes.endp = _endpos_i_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13374 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_dot_expressions = 
-# 1208 "parser_cocci_menhir.mly"
-            ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
-# 13381 "parser_cocci_menhir.ml"
+        let i : 'tv_pure_ident = Obj.magic i in
+        let _startpos = _startpos_i_ in
+        let _endpos = _endpos_i_ in
+        let _v : 'tv_ident_or_const = 
+# 1865 "parser_cocci_menhir.mly"
+                    ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
+# 17663 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13395,13 +17677,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_nest_expressions = Obj.magic _1 in
+        let _1 : (
+# 155 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 17684 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_dot_expressions = 
-# 1209 "parser_cocci_menhir.mly"
-                   ( _1 )
-# 13405 "parser_cocci_menhir.ml"
+        let _v : 'tv_ident_or_const = 
+# 1867 "parser_cocci_menhir.mly"
+  ( let (x,clt) = _1 in
+        Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 17692 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13413,34 +17700,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = d;
-          MenhirLib.EngineTypes.startp = _startpos_d_;
-          MenhirLib.EngineTypes.endp = _endpos_d_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = c;
-            MenhirLib.EngineTypes.startp = _startpos_c_;
-            MenhirLib.EngineTypes.endp = _endpos_c_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let d : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13431 "parser_cocci_menhir.ml"
-        ) = Obj.magic d in
-        let c : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13436 "parser_cocci_menhir.ml"
-        ) = Obj.magic c in
-        let _startpos = _startpos_c_ in
-        let _endpos = _endpos_d_ in
-        let _v : 'tv_dp_comma_args_TEllipsis_ = 
-# 729 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] )
-# 13444 "parser_cocci_menhir.ml"
+        let _1 : (
+# 148 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 17713 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_incl = 
+# 326 "parser_cocci_menhir.mly"
+                      ( let (x,_) = _1 in Data.Include(x) )
+# 17720 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13457,54 +17733,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
             MenhirLib.EngineTypes.startp = _startpos__1_;
             MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_ident = Obj.magic _2 in
-        let _1 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13471 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _2 : (
+# 155 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 17745 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : 'tv_dp_comma_args_TEllipsis_ = 
-# 732 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1));
-       Ast0.wrap(Ast0.DParam _2)] )
-# 13480 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = d;
-          MenhirLib.EngineTypes.startp = _startpos_d_;
-          MenhirLib.EngineTypes.endp = _endpos_d_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let d : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13501 "parser_cocci_menhir.ml"
-        ) = Obj.magic d in
-        let _startpos = _startpos_d_ in
-        let _endpos = _endpos_d_ in
-        let _v : 'tv_edots_when_TEllipsis_eexpr_ = 
-# 1883 "parser_cocci_menhir.mly"
-                                                  ( (d,None) )
-# 13508 "parser_cocci_menhir.ml"
+        let _v : 'tv_incl = 
+# 327 "parser_cocci_menhir.mly"
+                      ( Data.Iso(Common.Left(P.id2name _2)) )
+# 17752 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13516,69 +17760,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = w;
-            MenhirLib.EngineTypes.startp = _startpos_w_;
-            MenhirLib.EngineTypes.endp = _endpos_w_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__2_;
-                MenhirLib.EngineTypes.endp = _endpos__2_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = d;
-                  MenhirLib.EngineTypes.startp = _startpos_d_;
-                  MenhirLib.EngineTypes.endp = _endpos_d_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let w : 'tv_eexpr = Obj.magic w in
-        let d : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13547 "parser_cocci_menhir.ml"
-        ) = Obj.magic d in
-        let _startpos = _startpos_d_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_edots_when_TEllipsis_eexpr_ = 
-# 1884 "parser_cocci_menhir.mly"
-                                                  ( (d,Some w) )
-# 13554 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = d;
-          MenhirLib.EngineTypes.startp = _startpos_d_;
-          MenhirLib.EngineTypes.endp = _endpos_d_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let d : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13575 "parser_cocci_menhir.ml"
-        ) = Obj.magic d in
-        let _startpos = _startpos_d_ in
-        let _endpos = _endpos_d_ in
-        let _v : 'tv_edots_when_TEllipsis_initialize_ = 
-# 1883 "parser_cocci_menhir.mly"
-                                                  ( (d,None) )
-# 13582 "parser_cocci_menhir.ml"
+        let _2 : (
+# 147 "parser_cocci_menhir.mly"
+       (string)
+# 17777 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_incl = 
+# 328 "parser_cocci_menhir.mly"
+                      ( Data.Iso(Common.Right _2) )
+# 17784 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13590,69 +17792,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = w;
-            MenhirLib.EngineTypes.startp = _startpos_w_;
-            MenhirLib.EngineTypes.endp = _endpos_w_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__2_;
-                MenhirLib.EngineTypes.endp = _endpos__2_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = d;
-                  MenhirLib.EngineTypes.startp = _startpos_d_;
-                  MenhirLib.EngineTypes.endp = _endpos_d_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let w : 'tv_initialize = Obj.magic w in
-        let d : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13621 "parser_cocci_menhir.ml"
-        ) = Obj.magic d in
-        let _startpos = _startpos_d_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_edots_when_TEllipsis_initialize_ = 
-# 1884 "parser_cocci_menhir.mly"
-                                                  ( (d,Some w) )
-# 13628 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = d;
-          MenhirLib.EngineTypes.startp = _startpos_d_;
-          MenhirLib.EngineTypes.endp = _endpos_d_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let d : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13649 "parser_cocci_menhir.ml"
-        ) = Obj.magic d in
-        let _startpos = _startpos_d_ in
-        let _endpos = _endpos_d_ in
-        let _v : 'tv_edots_when_TEllipsis_struct_decl_ = 
-# 1883 "parser_cocci_menhir.mly"
-                                                  ( (d,None) )
-# 13656 "parser_cocci_menhir.ml"
+        let _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_incl = 
+# 330 "parser_cocci_menhir.mly"
+    ( let names = List.map P.id2name _2 in
+      Iteration.parsed_virtual_rules :=
+       Common.union_set names !Iteration.parsed_virtual_rules;
+      (* ensure that the names of virtual and real rules don't overlap *)
+      List.iter
+      (function name -> Hashtbl.add Data.all_metadecls name [])
+      names;
+      Data.Virt(names) )
+# 17819 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13664,41 +17827,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = w;
-            MenhirLib.EngineTypes.startp = _startpos_w_;
-            MenhirLib.EngineTypes.endp = _endpos_w_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__2_;
-                MenhirLib.EngineTypes.endp = _endpos__2_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = d;
-                  MenhirLib.EngineTypes.startp = _startpos_d_;
-                  MenhirLib.EngineTypes.endp = _endpos_d_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let w : 'tv_struct_decl = Obj.magic w in
-        let d : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13695 "parser_cocci_menhir.ml"
-        ) = Obj.magic d in
-        let _startpos = _startpos_d_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_edots_when_TEllipsis_struct_decl_ = 
-# 1884 "parser_cocci_menhir.mly"
-                                                  ( (d,Some w) )
-# 13702 "parser_cocci_menhir.ml"
+        let _1 : 'tv_list_incl_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 216 "parser_cocci_menhir.mly"
+      (Data.incl_iso list)
+# 17847 "parser_cocci_menhir.ml"
+        ) = 
+# 322 "parser_cocci_menhir.mly"
+                       ( _1 )
+# 17851 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13710,19 +17859,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let _1 : 'tv_basic_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _1 : 'tv_list_incl_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_eexpr = 
-# 1197 "parser_cocci_menhir.mly"
-                                         ( _1 )
-# 13726 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 216 "parser_cocci_menhir.mly"
+      (Data.incl_iso list)
+# 17879 "parser_cocci_menhir.ml"
+        ) = 
+# 323 "parser_cocci_menhir.mly"
+                       ( _1 )
+# 17883 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13740,22 +17897,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_eexpr_list_start = Obj.magic _1 in
+        let _1 : (
+# 148 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 17904 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_eexpr_list = 
-# 1827 "parser_cocci_menhir.mly"
-     (let circle x =
-       match Ast0.unwrap x with Ast0.Ecircles(_) -> true | _ -> false in
-     let star x =
-       match Ast0.unwrap x with Ast0.Estars(_) -> true | _ -> false in
-     if List.exists circle _1
-     then Ast0.wrap(Ast0.CIRCLES(_1))
-     else
-       if List.exists star _1
-       then Ast0.wrap(Ast0.STARS(_1))
-       else Ast0.wrap(Ast0.DOTS(_1)) )
-# 13759 "parser_cocci_menhir.ml"
+        let _v : 'tv_includes = 
+# 847 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+             (Ast0.Include(P.clt2mcode "#include"
+                             (P.drop_pos (P.drop_aft (P.id2clt _1))),
+                           let (arity,ln,lln,offset,col,strbef,straft,pos) =
+                             P.id2clt _1 in
+                           let clt =
+                             (arity,ln,lln,offset,0,strbef,straft,pos) in
+                           P.clt2mcode
+                             (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
+                             (P.drop_bef clt))) )
+# 17920 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13773,13 +17934,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_eexpr_list = Obj.magic _1 in
+        let _1 : (
+# 148 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 17941 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_eexpr_list_option = 
-# 1866 "parser_cocci_menhir.mly"
-                              ( _1 )
-# 13783 "parser_cocci_menhir.ml"
+        let _v : 'tv_includes = 
+# 858 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+             (Ast0.Include(P.clt2mcode "#include"
+                             (P.drop_pos (P.drop_aft (P.id2clt _1))),
+                           let (arity,ln,lln,offset,col,strbef,straft,pos) =
+                             P.id2clt _1 in
+                           let clt =
+                             (arity,ln,lln,offset,0,strbef,straft,pos) in
+                           P.clt2mcode
+                             (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
+                             (P.drop_bef clt))) )
+# 17957 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13790,13 +17964,43 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_eexpr_list_option = 
-# 1867 "parser_cocci_menhir.mly"
-                           ( Ast0.wrap(Ast0.DOTS([])) )
-# 13800 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _1 : (
+# 149 "parser_cocci_menhir.mly"
+       (Data.clt * token)
+# 17982 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_includes = 
+# 869 "parser_cocci_menhir.mly"
+    ( let (clt,ident) = _1 in
+      let aft = P.get_aft clt in (* move stuff after the define to the ident *)
+      Ast0.wrap
+      (Ast0.Undef
+        (P.clt2mcode "#undef" (P.drop_aft clt),
+         (match ident with
+           TMetaId((nm,constraints,pure,clt)) ->
+             let clt = P.set_aft aft clt in
+             Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure))
+         | TIdent((nm,clt)) ->
+             let clt = P.set_aft aft clt in
+             Ast0.wrap(Ast0.Id(P.clt2mcode nm clt))
+         | _ ->
+             raise
+               (Semantic_cocci.Semantic
+                  "unexpected name for a #define")))) )
+# 18004 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13808,19 +18012,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let _1 : 'tv_aexpr = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_eexpr_list_start = 
-# 1854 "parser_cocci_menhir.mly"
-          ( [_1] )
-# 13824 "parser_cocci_menhir.ml"
+        let d : 'tv_defineop = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_includes = 
+# 886 "parser_cocci_menhir.mly"
+    ( d (Ast0.wrap(Ast0.DOTS([]))) )
+# 18032 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13832,35 +18040,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _3;
           MenhirLib.EngineTypes.startp = _startpos__3_;
           MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.semv = t;
+            MenhirLib.EngineTypes.startp = _startpos_t_;
+            MenhirLib.EngineTypes.endp = _endpos_t_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.semv = d;
+              MenhirLib.EngineTypes.startp = _startpos_d_;
+              MenhirLib.EngineTypes.endp = _endpos_d_;
               MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_eexpr_list_start = Obj.magic _3 in
-        let _2 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13856 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : 'tv_aexpr = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
+        let t : 'tv_ctype = Obj.magic t in
+        let d : 'tv_defineop = Obj.magic d in
+        let _startpos = _startpos_d_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_eexpr_list_start = 
-# 1856 "parser_cocci_menhir.mly"
-      ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 )
-# 13864 "parser_cocci_menhir.ml"
+        let _v : 'tv_includes = 
+# 888 "parser_cocci_menhir.mly"
+    ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
+      d (Ast0.wrap(Ast0.DOTS([ty]))) )
+# 18067 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13872,17 +18075,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = b;
+            MenhirLib.EngineTypes.startp = _startpos_b_;
+            MenhirLib.EngineTypes.endp = _endpos_b_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
           } = _menhir_stack in
+        let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
+        let _1 : 'tv_defineop = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_exists = 
-# 243 "parser_cocci_menhir.mly"
-          ( Ast.Exists )
-# 13886 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_includes = 
+# 891 "parser_cocci_menhir.mly"
+    ( let body =
+       match b with
+         [e] ->
+           (match Ast0.unwrap e with
+             Ast0.Exp(e1) ->
+               [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
+           | _ -> b)
+       | _ -> b in
+      _1 (Ast0.wrap(Ast0.DOTS(body))) )
+# 18109 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13895,16 +18118,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
           MenhirLib.EngineTypes.startp = _startpos__1_;
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
+        let _1 : 'tv_eexpr = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_exists = 
-# 244 "parser_cocci_menhir.mly"
-          ( Ast.Forall )
-# 13908 "parser_cocci_menhir.ml"
+        let _v : 'tv_initialize = 
+# 1283 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.InitExpr(_1)) )
+# 18133 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13915,13 +18140,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_exists = 
-# 245 "parser_cocci_menhir.mly"
-          ( Ast.Undetermined )
-# 13925 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _3 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 18164 "parser_cocci_menhir.ml"
+        ) = Obj.magic _3 in
+        let _2 : 'tv_initialize_list = Obj.magic _2 in
+        let _1 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 18170 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_initialize = 
+# 1285 "parser_cocci_menhir.mly"
+    ( if P.struct_initializer _2
+    then
+      let il = P.drop_dot_commas _2 in
+      Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
+    else
+      Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
+# 18182 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13939,13 +18196,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_basic_expr_expr_invalid_ = Obj.magic _1 in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 18203 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_expr = 
-# 1195 "parser_cocci_menhir.mly"
-                                ( _1 )
-# 13949 "parser_cocci_menhir.ml"
+        let _v : 'tv_initialize = 
+# 1292 "parser_cocci_menhir.mly"
+      (let (nm,pure,clt) = _1 in
+      Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
+# 18211 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13958,35 +18220,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = r;
-          MenhirLib.EngineTypes.startp = _startpos_r_;
-          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let r : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = Obj.magic r in
-        let _startpos = _startpos_r_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_expr_dots_TEllipsis_ = 
-# 1377 "parser_cocci_menhir.mly"
-                                                       ( r )
-# 13973 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_extends = 
-# 216 "parser_cocci_menhir.mly"
-                                                  ( () )
-# 13990 "parser_cocci_menhir.ml"
+        let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_initialize2 = 
+# 1298 "parser_cocci_menhir.mly"
+                            ( Ast0.wrap(Ast0.InitExpr(_1)) )
+# 18235 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13998,27 +18243,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = parent;
-          MenhirLib.EngineTypes.startp = _startpos_parent_;
-          MenhirLib.EngineTypes.endp = _endpos_parent_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let parent : (
-# 47 "parser_cocci_menhir.mly"
-      (string)
-# 14015 "parser_cocci_menhir.ml"
-        ) = Obj.magic parent in
+        let _3 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 18266 "parser_cocci_menhir.ml"
+        ) = Obj.magic _3 in
+        let _2 : 'tv_initialize_list = Obj.magic _2 in
+        let _1 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 18272 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos_parent_ in
-        let _v : 'tv_extends = 
-# 218 "parser_cocci_menhir.mly"
-    ( !Data.install_bindings (parent) )
-# 14022 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_initialize2 = 
+# 1300 "parser_cocci_menhir.mly"
+    ( if P.struct_initializer _2
+    then
+      let il = P.drop_dot_commas _2 in
+      Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
+    else
+      Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
+# 18284 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14030,52 +18292,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
+        let _3 : 'tv_initialize2 = Obj.magic _3 in
         let _2 : (
-# 83 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 14048 "parser_cocci_menhir.ml"
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 18316 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : (
-# 83 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 14053 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _1 : 'tv_list_designator_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_filespec = 
-# 630 "parser_cocci_menhir.mly"
-    ( [Ast0.wrap
-         (Ast0.FILEINFO(P.id2mcode _1,
-                        P.id2mcode _2))] )
-# 14062 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_fninfo = 
-# 765 "parser_cocci_menhir.mly"
-                ( [] )
-# 14079 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_initialize2 = 
+# 1308 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
+# 18324 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14087,29 +18332,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let _2 : 'tv_fninfo = Obj.magic _2 in
-        let _1 : 'tv_storage = Obj.magic _1 in
+        let _3 : 'tv_initialize2 = Obj.magic _3 in
+        let _2 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 18356 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_mident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fninfo = 
-# 767 "parser_cocci_menhir.mly"
-      ( try
-       let _ =
-         List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
-       raise (Semantic_cocci.Semantic "duplicate storage")
-      with Not_found -> (Ast0.FStorage(_1))::_2 )
-# 14113 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_initialize2 = 
+# 1310 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
+# 18364 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14121,62 +18372,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = r;
-          MenhirLib.EngineTypes.startp = _startpos_r_;
-          MenhirLib.EngineTypes.endp = _endpos_r_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = t;
-            MenhirLib.EngineTypes.startp = _startpos_t_;
-            MenhirLib.EngineTypes.endp = _endpos_t_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
-          } = _menhir_stack in
-        let r : 'tv_fninfo_nt = Obj.magic r in
-        let t : 'tv_ctype = Obj.magic t in
-        let _startpos = _startpos_t_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_fninfo = 
-# 772 "parser_cocci_menhir.mly"
-                        ( (Ast0.FType(t))::r )
-# 14143 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
           } = _menhir_stack in
-        let _2 : 'tv_fninfo = Obj.magic _2 in
         let _1 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 14170 "parser_cocci_menhir.ml"
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 18385 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fninfo = 
-# 774 "parser_cocci_menhir.mly"
-      ( try
-       let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
-       raise (Semantic_cocci.Semantic "duplicate inline")
-      with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
-# 14180 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_initialize2 = 
+# 1312 "parser_cocci_menhir.mly"
+      (let (nm,pure,clt) = _1 in
+      Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
+# 18393 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14188,83 +18401,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
-          } = _menhir_stack in
-        let _2 : 'tv_fninfo = Obj.magic _2 in
-        let _1 : (
-# 55 "parser_cocci_menhir.mly"
-      (string * Data.clt)
-# 14207 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fninfo = 
-# 779 "parser_cocci_menhir.mly"
-      ( try
-       let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
-       raise (Semantic_cocci.Semantic "multiple attributes")
-      with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
-# 14217 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_fninfo_nt = 
-# 785 "parser_cocci_menhir.mly"
-                ( [] )
-# 14234 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
           } = _menhir_stack in
-        let _2 : 'tv_fninfo_nt = Obj.magic _2 in
-        let _1 : 'tv_storage = Obj.magic _1 in
+        let _1 : (
+# 133 "parser_cocci_menhir.mly"
+       (Parse_aux.list_info)
+# 18414 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fninfo_nt = 
-# 787 "parser_cocci_menhir.mly"
-      ( try
-       let _ =
-         List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in
-       raise (Semantic_cocci.Semantic "duplicate storage")
-      with Not_found -> (Ast0.FStorage(_1))::_2 )
-# 14268 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_initialize2 = 
+# 1315 "parser_cocci_menhir.mly"
+      (let (nm,lenname,pure,clt) = _1 in
+      let nm = P.clt2mcode nm clt in
+      let lenname =
+       match lenname with
+         Ast.AnyLen -> Ast0.AnyListLen
+       | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
+       | Ast.CstLen n -> Ast0.CstListLen n in
+      Ast0.wrap(Ast0.MetaInitList(nm,lenname,pure)) )
+# 18428 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14276,32 +18436,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _2 : 'tv_fninfo_nt = Obj.magic _2 in
-        let _1 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 14295 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _1 : 'tv_empty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fninfo_nt = 
-# 793 "parser_cocci_menhir.mly"
-      ( try
-       let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in
-       raise (Semantic_cocci.Semantic "duplicate inline")
-      with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 )
-# 14305 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_initialize_list = 
+# 1335 "parser_cocci_menhir.mly"
+     ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) )
+# 18452 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14313,32 +18460,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _2 : 'tv_fninfo_nt = Obj.magic _2 in
-        let _1 : (
-# 55 "parser_cocci_menhir.mly"
-      (string * Data.clt)
-# 14332 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fninfo_nt = 
-# 798 "parser_cocci_menhir.mly"
-      ( try
-       let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in
-       raise (Semantic_cocci.Semantic "duplicate init")
-      with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 )
-# 14342 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_invalid = 
+# 1415 "parser_cocci_menhir.mly"
+           ( raise (Semantic_cocci.Semantic "not matchable") )
+# 18474 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14352,10 +18484,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
         let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
         let _endpos = _startpos in
-        let _v : 'tv_fun_after_dots = 
-# 1775 "parser_cocci_menhir.mly"
-                               ([])
-# 14359 "parser_cocci_menhir.ml"
+        let _v : 'tv_is_expression = 
+# 318 "parser_cocci_menhir.mly"
+              ( false )
+# 18491 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14367,23 +18499,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _2 : 'tv_fun_after_exp = Obj.magic _2 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fun_after_dots = 
-# 1776 "parser_cocci_menhir.mly"
-                               (_2)
-# 14387 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_is_expression = 
+# 319 "parser_cocci_menhir.mly"
+              ( true )
+# 18513 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14395,25 +18521,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
             MenhirLib.EngineTypes.startp = _startpos__1_;
             MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_fun_after_exp = Obj.magic _2 in
-        let _1 : 'tv_expr = Obj.magic _1 in
+        let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fun_after_dots = 
-# 1777 "parser_cocci_menhir.mly"
-                               (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 14417 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_ctype_ = 
+# 2301 "parser_cocci_menhir.mly"
+                ( Common.Left t )
+# 18541 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14425,42 +18549,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
             MenhirLib.EngineTypes.startp = _startpos__1_;
             MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_fun_after_stm = Obj.magic _2 in
-        let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+        let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fun_after_dots = 
-# 1778 "parser_cocci_menhir.mly"
-                                    (_1@_2)
-# 14447 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_fun_after_dots_or = 
-# 1785 "parser_cocci_menhir.mly"
-                               ([])
-# 14464 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_ctype_ = 
+# 2302 "parser_cocci_menhir.mly"
+                     ( Common.Right t )
+# 18569 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14472,9 +18577,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
             MenhirLib.EngineTypes.startp = _startpos__1_;
@@ -14482,13 +18587,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
+        let t : 'tv_decl_var = Obj.magic t in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fun_after_dots_or = 
-# 1786 "parser_cocci_menhir.mly"
-                               (_2)
-# 14492 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_decl_var_ = 
+# 2301 "parser_cocci_menhir.mly"
+                ( Common.Left t )
+# 18597 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14500,25 +18605,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
             MenhirLib.EngineTypes.startp = _startpos__1_;
             MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_fun_after_exp_or = Obj.magic _2 in
-        let _1 : 'tv_expr = Obj.magic _1 in
+        let t : 'tv_decl_var = Obj.magic t in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fun_after_dots_or = 
-# 1787 "parser_cocci_menhir.mly"
-                               (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 14522 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_decl_var_ = 
+# 2302 "parser_cocci_menhir.mly"
+                     ( Common.Right t )
+# 18625 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14530,25 +18633,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
             MenhirLib.EngineTypes.startp = _startpos__1_;
             MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_fun_after_stm = Obj.magic _2 in
-        let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+        let t : 'tv_eexpr = Obj.magic t in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fun_after_dots_or = 
-# 1788 "parser_cocci_menhir.mly"
-                                    (_1@_2)
-# 14552 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_eexpr_ = 
+# 2301 "parser_cocci_menhir.mly"
+                ( Common.Left t )
+# 18653 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14560,42 +18661,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
             MenhirLib.EngineTypes.startp = _startpos__1_;
             MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_fun_after_dots = Obj.magic _2 in
-        let _1 : 'tv_stm_dots = Obj.magic _1 in
+        let t : 'tv_eexpr = Obj.magic t in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fun_after_exp = 
-# 1781 "parser_cocci_menhir.mly"
-                               (_1::_2)
-# 14582 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_fun_after_exp_or = 
-# 1791 "parser_cocci_menhir.mly"
-                               ([])
-# 14599 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_eexpr_ = 
+# 2302 "parser_cocci_menhir.mly"
+                     ( Common.Right t )
+# 18681 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14607,42 +18689,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
             MenhirLib.EngineTypes.startp = _startpos__1_;
             MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_fun_after_dots = Obj.magic _2 in
-        let _1 : 'tv_stm_dots = Obj.magic _1 in
+        let t : 'tv_nest_start = Obj.magic t in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fun_after_exp_or = 
-# 1792 "parser_cocci_menhir.mly"
-                               (_1::_2)
-# 14629 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_fun_after_stm = 
-# 1770 "parser_cocci_menhir.mly"
-                               ([])
-# 14646 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_nest_start_ = 
+# 2301 "parser_cocci_menhir.mly"
+                ( Common.Left t )
+# 18709 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14654,25 +18717,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
             MenhirLib.EngineTypes.startp = _startpos__1_;
             MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_fun_after_dots = Obj.magic _2 in
-        let _1 : 'tv_stm_dots = Obj.magic _1 in
+        let t : 'tv_nest_start = Obj.magic t in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fun_after_stm = 
-# 1771 "parser_cocci_menhir.mly"
-                               (_1::_2)
-# 14676 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_nest_start_ = 
+# 2302 "parser_cocci_menhir.mly"
+                     ( Common.Right t )
+# 18737 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14684,25 +18745,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
             MenhirLib.EngineTypes.startp = _startpos__1_;
             MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_fun_after_stm = Obj.magic _2 in
-        let _1 : 'tv_decl_statement = Obj.magic _1 in
+        let t : 'tv_single_statement = Obj.magic t in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_fun_after_stm = 
-# 1772 "parser_cocci_menhir.mly"
-                               (_1@_2)
-# 14706 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_single_statement_ = 
+# 2301 "parser_cocci_menhir.mly"
+                ( Common.Left t )
+# 18765 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14714,19 +18773,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let _1 : 'tv_fun_after_stm = Obj.magic _1 in
+        let t : 'tv_single_statement = Obj.magic t in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_fun_start = 
-# 1767 "parser_cocci_menhir.mly"
-                 ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 14730 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_iso_single_statement_ = 
+# 2302 "parser_cocci_menhir.mly"
+                     ( Common.Right t )
+# 18793 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14738,19 +18801,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.startp = _startpos__4_;
+          MenhirLib.EngineTypes.endp = _endpos__4_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = el;
+            MenhirLib.EngineTypes.startp = _startpos_el_;
+            MenhirLib.EngineTypes.endp = _endpos_el_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = e1;
+              MenhirLib.EngineTypes.startp = _startpos_e1_;
+              MenhirLib.EngineTypes.endp = _endpos_e1_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_pure_ident = Obj.magic _1 in
+        let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+        let e1 : 'tv_eexpr = Obj.magic e1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_func_ident = 
-# 1565 "parser_cocci_menhir.mly"
-         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 14754 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 18831 "parser_cocci_menhir.ml"
+        ) = 
+# 2269 "parser_cocci_menhir.mly"
+    ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
+# 18835 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14762,24 +18843,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.startp = _startpos__4_;
+          MenhirLib.EngineTypes.endp = _endpos__4_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = el;
+            MenhirLib.EngineTypes.startp = _startpos_el_;
+            MenhirLib.EngineTypes.endp = _endpos_el_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = e1;
+              MenhirLib.EngineTypes.startp = _startpos_e1_;
+              MenhirLib.EngineTypes.endp = _endpos_e1_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
           } = _menhir_stack in
-        let _1 : (
-# 61 "parser_cocci_menhir.mly"
-       (Parse_aux.idinfo)
-# 14775 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+        let e1 : 'tv_eexpr = Obj.magic e1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_func_ident = 
-# 1567 "parser_cocci_menhir.mly"
-         ( let (nm,constraints,pure,clt) = _1 in
-        Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 14783 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 18873 "parser_cocci_menhir.ml"
+        ) = 
+# 2271 "parser_cocci_menhir.mly"
+    ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
+# 18877 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14791,24 +18885,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.startp = _startpos__4_;
+          MenhirLib.EngineTypes.endp = _endpos__4_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = el;
+            MenhirLib.EngineTypes.startp = _startpos_el_;
+            MenhirLib.EngineTypes.endp = _endpos_el_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = e1;
+              MenhirLib.EngineTypes.startp = _startpos_e1_;
+              MenhirLib.EngineTypes.endp = _endpos_e1_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
           } = _menhir_stack in
-        let _1 : (
-# 61 "parser_cocci_menhir.mly"
-       (Parse_aux.idinfo)
-# 14804 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+        let e1 : 'tv_eexpr = Obj.magic e1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_func_ident = 
-# 1570 "parser_cocci_menhir.mly"
-         ( let (nm,constraints,pure,clt) = _1 in
-        Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 14812 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 18915 "parser_cocci_menhir.ml"
+        ) = 
+# 2273 "parser_cocci_menhir.mly"
+    ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
+# 18919 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14820,25 +18927,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.startp = _startpos__4_;
+          MenhirLib.EngineTypes.endp = _endpos__4_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = el;
+            MenhirLib.EngineTypes.startp = _startpos_el_;
+            MenhirLib.EngineTypes.endp = _endpos_el_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = e1;
+              MenhirLib.EngineTypes.startp = _startpos_e1_;
+              MenhirLib.EngineTypes.endp = _endpos_e1_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
           } = _menhir_stack in
-        let _1 : (
-# 61 "parser_cocci_menhir.mly"
-       (Parse_aux.idinfo)
-# 14833 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let el : 'tv_list_iso_eexpr__ = Obj.magic el in
+        let e1 : 'tv_eexpr = Obj.magic e1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_func_ident = 
-# 1573 "parser_cocci_menhir.mly"
-  ( let (nm,constraints,pure,clt) = _1 in
-        Ast0.wrap
-          (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 14842 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 18957 "parser_cocci_menhir.ml"
+        ) = 
+# 2275 "parser_cocci_menhir.mly"
+    ( let ffn x = Ast0.ExprTag x in
+      let fn x =  Ast0.TestExprTag x in
+      P.iso_adjust ffn fn e1 el )
+# 18963 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14850,87 +18971,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = rb;
-          MenhirLib.EngineTypes.startp = _startpos_rb_;
-          MenhirLib.EngineTypes.endp = _endpos_rb_;
+          MenhirLib.EngineTypes.startp = _startpos__4_;
+          MenhirLib.EngineTypes.endp = _endpos__4_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = b;
-            MenhirLib.EngineTypes.startp = _startpos_b_;
-            MenhirLib.EngineTypes.endp = _endpos_b_;
+            MenhirLib.EngineTypes.semv = sl;
+            MenhirLib.EngineTypes.startp = _startpos_sl_;
+            MenhirLib.EngineTypes.endp = _endpos_sl_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = lb;
-              MenhirLib.EngineTypes.startp = _startpos_lb_;
-              MenhirLib.EngineTypes.endp = _endpos_lb_;
+              MenhirLib.EngineTypes.semv = s1;
+              MenhirLib.EngineTypes.startp = _startpos_s1_;
+              MenhirLib.EngineTypes.endp = _endpos_s1_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = rp;
-                MenhirLib.EngineTypes.startp = _startpos_rp_;
-                MenhirLib.EngineTypes.endp = _endpos_rp_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = d;
-                  MenhirLib.EngineTypes.startp = _startpos_d_;
-                  MenhirLib.EngineTypes.endp = _endpos_d_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.semv = lp;
-                    MenhirLib.EngineTypes.startp = _startpos_lp_;
-                    MenhirLib.EngineTypes.endp = _endpos_lp_;
-                    MenhirLib.EngineTypes.next = {
-                      MenhirLib.EngineTypes.semv = i;
-                      MenhirLib.EngineTypes.startp = _startpos_i_;
-                      MenhirLib.EngineTypes.endp = _endpos_i_;
-                      MenhirLib.EngineTypes.next = {
-                        MenhirLib.EngineTypes.startp = _startpos__2_;
-                        MenhirLib.EngineTypes.endp = _endpos__2_;
-                        MenhirLib.EngineTypes.next = {
-                          MenhirLib.EngineTypes.state = _menhir_s;
-                          MenhirLib.EngineTypes.semv = f;
-                          MenhirLib.EngineTypes.startp = _startpos_f_;
-                          MenhirLib.EngineTypes.endp = _endpos_f_;
-                          MenhirLib.EngineTypes.next = _menhir_stack;
-                          };
-                        };
-                      };
-                    };
-                  };
-                };
-              };
-            };
-          } = _menhir_stack in
-        let rb : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 14902 "parser_cocci_menhir.ml"
-        ) = Obj.magic rb in
-        let b : 'tv_fun_start = Obj.magic b in
-        let lb : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 14908 "parser_cocci_menhir.ml"
-        ) = Obj.magic lb in
-        let rp : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 14913 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let d : 'tv_decl_list_decl_ = Obj.magic d in
-        let lp : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 14919 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp in
-        let i : 'tv_func_ident = Obj.magic i in
-        let f : 'tv_fninfo = Obj.magic f in
-        let _startpos = _startpos_f_ in
-        let _endpos = _endpos_rb_ in
-        let _v : 'tv_fundecl = 
-# 756 "parser_cocci_menhir.mly"
-      ( P.verify_parameter_declarations (Ast0.undots d);
-       Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
-                              f, i,
-                              P.clt2mcode "(" lp, d,
-                              P.clt2mcode ")" rp,
-                              P.clt2mcode "{" lb, b,
-                              P.clt2mcode "}" rb)) )
-# 14934 "parser_cocci_menhir.ml"
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in
+        let s1 : 'tv_single_statement = Obj.magic s1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 19001 "parser_cocci_menhir.ml"
+        ) = 
+# 2279 "parser_cocci_menhir.mly"
+    ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
+# 19005 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14942,74 +19013,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = pt;
-          MenhirLib.EngineTypes.startp = _startpos_pt_;
-          MenhirLib.EngineTypes.endp = _endpos_pt_;
+          MenhirLib.EngineTypes.startp = _startpos__4_;
+          MenhirLib.EngineTypes.endp = _endpos__4_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = rp;
-            MenhirLib.EngineTypes.startp = _startpos_rp_;
-            MenhirLib.EngineTypes.endp = _endpos_rp_;
+            MenhirLib.EngineTypes.semv = tl;
+            MenhirLib.EngineTypes.startp = _startpos_tl_;
+            MenhirLib.EngineTypes.endp = _endpos_tl_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = d;
-              MenhirLib.EngineTypes.startp = _startpos_d_;
-              MenhirLib.EngineTypes.endp = _endpos_d_;
+              MenhirLib.EngineTypes.semv = t1;
+              MenhirLib.EngineTypes.startp = _startpos_t1_;
+              MenhirLib.EngineTypes.endp = _endpos_t1_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = lp;
-                MenhirLib.EngineTypes.startp = _startpos_lp_;
-                MenhirLib.EngineTypes.endp = _endpos_lp_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = id;
-                  MenhirLib.EngineTypes.startp = _startpos_id_;
-                  MenhirLib.EngineTypes.endp = _endpos_id_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = t;
-                    MenhirLib.EngineTypes.startp = _startpos_t_;
-                    MenhirLib.EngineTypes.endp = _endpos_t_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
-                    };
-                  };
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
                 };
               };
             };
           } = _menhir_stack in
-        let pt : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 14980 "parser_cocci_menhir.ml"
-        ) = Obj.magic pt in
-        let rp : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 14985 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
-        let lp : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 14991 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp in
-        let id : 'tv_func_ident = Obj.magic id in
-        let t : 'tv_ctype = Obj.magic t in
-        let _startpos = _startpos_t_ in
-        let _endpos = _endpos_pt_ in
-        let _v : 'tv_funproto = let s =
-          
-# 39 "standard.mly"
-    ( None )
-# 15001 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 744 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.UnInit
-            (s,
-             Ast0.wrap
-               (Ast0.FunctionType(Some t,
-                                  P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
-             id, P.clt2mcode ";" pt)) )
-# 15013 "parser_cocci_menhir.ml"
+        let tl : 'tv_list_iso_ctype__ = Obj.magic tl in
+        let t1 : 'tv_ctype = Obj.magic t1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 19043 "parser_cocci_menhir.ml"
+        ) = 
+# 2281 "parser_cocci_menhir.mly"
+    ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
+# 19047 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15021,81 +19055,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = pt;
-          MenhirLib.EngineTypes.startp = _startpos_pt_;
-          MenhirLib.EngineTypes.endp = _endpos_pt_;
+          MenhirLib.EngineTypes.startp = _startpos__4_;
+          MenhirLib.EngineTypes.endp = _endpos__4_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = rp;
-            MenhirLib.EngineTypes.startp = _startpos_rp_;
-            MenhirLib.EngineTypes.endp = _endpos_rp_;
+            MenhirLib.EngineTypes.semv = el;
+            MenhirLib.EngineTypes.startp = _startpos_el_;
+            MenhirLib.EngineTypes.endp = _endpos_el_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = d;
-              MenhirLib.EngineTypes.startp = _startpos_d_;
-              MenhirLib.EngineTypes.endp = _endpos_d_;
+              MenhirLib.EngineTypes.semv = e1;
+              MenhirLib.EngineTypes.startp = _startpos_e1_;
+              MenhirLib.EngineTypes.endp = _endpos_e1_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = lp;
-                MenhirLib.EngineTypes.startp = _startpos_lp_;
-                MenhirLib.EngineTypes.endp = _endpos_lp_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = id;
-                  MenhirLib.EngineTypes.startp = _startpos_id_;
-                  MenhirLib.EngineTypes.endp = _endpos_id_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.semv = t;
-                    MenhirLib.EngineTypes.startp = _startpos_t_;
-                    MenhirLib.EngineTypes.endp = _endpos_t_;
-                    MenhirLib.EngineTypes.next = {
-                      MenhirLib.EngineTypes.state = _menhir_s;
-                      MenhirLib.EngineTypes.semv = x0;
-                      MenhirLib.EngineTypes.startp = _startpos_x0_;
-                      MenhirLib.EngineTypes.endp = _endpos_x0_;
-                      MenhirLib.EngineTypes.next = _menhir_stack;
-                      };
-                    };
-                  };
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
                 };
               };
             };
           } = _menhir_stack in
-        let pt : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15064 "parser_cocci_menhir.ml"
-        ) = Obj.magic pt in
-        let rp : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15069 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
-        let lp : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15075 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp in
-        let id : 'tv_func_ident = Obj.magic id in
-        let t : 'tv_ctype = Obj.magic t in
-        let x0 : 'tv_storage = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
-        let _endpos = _endpos_pt_ in
-        let _v : 'tv_funproto = let s =
-          let x = x0 in
-          
-# 41 "standard.mly"
-    ( Some x )
-# 15087 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 744 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.UnInit
-            (s,
-             Ast0.wrap
-               (Ast0.FunctionType(Some t,
-                                  P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
-             id, P.clt2mcode ";" pt)) )
-# 15099 "parser_cocci_menhir.ml"
+        let el : 'tv_list_iso_nest_start__ = Obj.magic el in
+        let e1 : 'tv_nest_start = Obj.magic e1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 19085 "parser_cocci_menhir.ml"
+        ) = 
+# 2283 "parser_cocci_menhir.mly"
+    ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
+# 19089 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15107,19 +19097,50 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.startp = _startpos__4_;
+          MenhirLib.EngineTypes.endp = _endpos__4_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = dl;
+            MenhirLib.EngineTypes.startp = _startpos_dl_;
+            MenhirLib.EngineTypes.endp = _endpos_dl_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = d1;
+              MenhirLib.EngineTypes.startp = _startpos_d1_;
+              MenhirLib.EngineTypes.endp = _endpos_d1_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_pure_ident = Obj.magic _1 in
+        let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
+        let d1 : 'tv_decl_var = Obj.magic d1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_ident = 
-# 1578 "parser_cocci_menhir.mly"
-         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 15123 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__4_ in
+        let _v : (
+# 232 "parser_cocci_menhir.mly"
+      (Ast0_cocci.anything list list)
+# 19127 "parser_cocci_menhir.ml"
+        ) = 
+# 2285 "parser_cocci_menhir.mly"
+    ( let check_one = function
+       [x] -> x
+      | _ ->
+         raise
+           (Semantic_cocci.Semantic
+              "only one variable per declaration in an isomorphism rule") in
+    let d1 = check_one d1 in
+    let dl =
+      List.map
+       (function
+           Common.Left x -> Common.Left(check_one x)
+         | Common.Right x -> Common.Right(check_one x))
+       dl in
+    let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl )
+# 19144 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15132,23 +19153,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : (
-# 61 "parser_cocci_menhir.mly"
-       (Parse_aux.idinfo)
-# 15144 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_ident = 
-# 1580 "parser_cocci_menhir.mly"
-         ( let (nm,constraints,pure,clt) = _1 in
-         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 15152 "parser_cocci_menhir.ml"
+        let m : 'tv_metadec = Obj.magic m in
+        let _startpos = _startpos_m_ in
+        let _endpos = _endpos_m_ in
+        let _v : (
+# 235 "parser_cocci_menhir.mly"
+      ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
+# 19168 "parser_cocci_menhir.ml"
+        ) = 
+# 252 "parser_cocci_menhir.mly"
+                         ( m "" )
+# 19172 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15160,19 +19180,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = i;
-          MenhirLib.EngineTypes.startp = _startpos_i_;
-          MenhirLib.EngineTypes.endp = _endpos_i_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = nm;
+            MenhirLib.EngineTypes.startp = _startpos_nm_;
+            MenhirLib.EngineTypes.endp = _endpos_nm_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let i : 'tv_pure_ident = Obj.magic i in
-        let _startpos = _startpos_i_ in
-        let _endpos = _endpos_i_ in
-        let _v : 'tv_ident_or_const = 
-# 1532 "parser_cocci_menhir.mly"
-                    ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
-# 15176 "parser_cocci_menhir.ml"
+        let nm : 'tv_pure_ident = Obj.magic nm in
+        let _startpos = _startpos_nm_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 219 "parser_cocci_menhir.mly"
+      (Ast_cocci.rulename)
+# 19200 "parser_cocci_menhir.ml"
+        ) = 
+# 267 "parser_cocci_menhir.mly"
+                      ( P.make_iso_rule_name_result (P.id2name nm) )
+# 19204 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15191,17 +19219,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 15197 "parser_cocci_menhir.ml"
+# 19225 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_ident_or_const = 
-# 1534 "parser_cocci_menhir.mly"
-  ( let (x,clt) = _1 in
-        Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 15205 "parser_cocci_menhir.ml"
+        let _v : 'tv_iter_ident = 
+# 1942 "parser_cocci_menhir.mly"
+         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 19232 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15220,16 +19247,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 80 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 15226 "parser_cocci_menhir.ml"
+# 129 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 19253 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_incl = 
-# 256 "parser_cocci_menhir.mly"
-                      ( let (x,_) = _1 in Data.Include(x) )
-# 15233 "parser_cocci_menhir.ml"
+        let _v : 'tv_iter_ident = 
+# 1944 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 19261 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15240,28 +19268,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
-          } = _menhir_stack in
-        let _2 : (
-# 87 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 15258 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_incl = 
-# 257 "parser_cocci_menhir.mly"
-                      ( Data.Iso(Common.Left(P.id2name _2)) )
-# 15265 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_TMul_ = 
+# 114 "standard.mly"
+    ( [] )
+# 19278 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15273,27 +19286,46 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : (
-# 79 "parser_cocci_menhir.mly"
-       (string)
-# 15290 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_incl = 
-# 258 "parser_cocci_menhir.mly"
-                      ( Data.Iso(Common.Right _2) )
-# 15297 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_TMul_ = Obj.magic xs in
+        let x : (
+# 167 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 19305 "parser_cocci_menhir.ml"
+        ) = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_TMul_ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19312 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_array_dec_ = 
+# 114 "standard.mly"
+    ( [] )
+# 19329 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15305,28 +19337,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_comma_list_pure_ident_ = Obj.magic _2 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_incl = 
-# 260 "parser_cocci_menhir.mly"
-    ( let names = List.map P.id2name _2 in
-      (* ensure that the names of virtual and real rules don't overlap *)
-      List.iter
-      (function name -> Hashtbl.add Data.all_metadecls name [])
-      names;
-      Data.Virt(names) )
-# 15330 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_array_dec_ = Obj.magic xs in
+        let x : 'tv_array_dec = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_array_dec_ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19359 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_case_line_ = 
+# 114 "standard.mly"
+    ( [] )
+# 19376 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15338,27 +19384,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _1 : 'tv_list_incl_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : (
-# 146 "parser_cocci_menhir.mly"
-      (Data.incl_iso list)
-# 15358 "parser_cocci_menhir.ml"
-        ) = 
-# 252 "parser_cocci_menhir.mly"
-                       ( _1 )
-# 15362 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_case_line_ = Obj.magic xs in
+        let x : 'tv_case_line = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_case_line_ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19406 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_decl_var_ = 
+# 114 "standard.mly"
+    ( [] )
+# 19423 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15370,27 +19431,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _1 : 'tv_list_incl_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : (
-# 146 "parser_cocci_menhir.mly"
-      (Data.incl_iso list)
-# 15390 "parser_cocci_menhir.ml"
-        ) = 
-# 253 "parser_cocci_menhir.mly"
-                       ( _1 )
-# 15394 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_decl_var_ = Obj.magic xs in
+        let x : 'tv_decl_var = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_decl_var_ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19453 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15401,32 +19460,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _1 : (
-# 80 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 15415 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_includes = 
-# 636 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-             (Ast0.Include(P.clt2mcode "#include" (P.drop_aft (P.id2clt _1)),
-                           let (arity,ln,lln,offset,col,strbef,straft,pos) =
-                             P.id2clt _1 in
-                           let clt =
-                             (arity,ln,lln,offset,0,strbef,straft,pos) in
-                           P.clt2mcode
-                             (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
-                             (P.drop_bef clt))) )
-# 15430 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_designator_ = 
+# 114 "standard.mly"
+    ( [] )
+# 19470 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15438,31 +19478,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _1 : (
-# 80 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 15451 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_includes = 
-# 646 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-             (Ast0.Include(P.clt2mcode "#include" (P.drop_aft (P.id2clt _1)),
-                           let (arity,ln,lln,offset,col,strbef,straft,pos) =
-                             P.id2clt _1 in
-                           let clt =
-                             (arity,ln,lln,offset,0,strbef,straft,pos) in
-                           P.clt2mcode
-                             (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
-                             (P.drop_bef clt))) )
-# 15466 "parser_cocci_menhir.ml"
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let xs : 'tv_list_designator_ = Obj.magic xs in
+        let x : 'tv_designator = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_designator_ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19500 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15473,31 +19507,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = t;
-            MenhirLib.EngineTypes.startp = _startpos_t_;
-            MenhirLib.EngineTypes.endp = _endpos_t_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = d;
-              MenhirLib.EngineTypes.startp = _startpos_d_;
-              MenhirLib.EngineTypes.endp = _endpos_d_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
-          } = _menhir_stack in
-        let t : 'tv_ctype = Obj.magic t in
-        let d : 'tv_defineop = Obj.magic d in
-        let _startpos = _startpos_d_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_includes = 
-# 656 "parser_cocci_menhir.mly"
-    ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
-      d (Ast0.wrap(Ast0.DOTS([ty]))) )
-# 15501 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_incl_ = 
+# 114 "standard.mly"
+    ( [] )
+# 19517 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15509,37 +19525,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = b;
-            MenhirLib.EngineTypes.startp = _startpos_b_;
-            MenhirLib.EngineTypes.endp = _endpos_b_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let b : 'tv_toplevel_seq_start_toplevel_after_dots_ = Obj.magic b in
-        let _1 : 'tv_defineop = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_includes = 
-# 659 "parser_cocci_menhir.mly"
-    ( let body =
-       match b with
-         [e] ->
-           (match Ast0.unwrap e with
-             Ast0.Exp(e1) ->
-               [Ast0.rewrap e (Ast0.TopExp(Ast0.set_arg_exp (e1)))]
-           | _ -> b)
-       | _ -> b in
-      _1 (Ast0.wrap(Ast0.DOTS(body))) )
-# 15543 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_incl_ = Obj.magic xs in
+        let x : 'tv_incl = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_incl_ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19547 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15550,20 +19554,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _1 : 'tv_eexpr = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_initialize = 
-# 1067 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 15567 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_iso_ctype__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19564 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15575,39 +19572,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _3 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15598 "parser_cocci_menhir.ml"
-        ) = Obj.magic _3 in
-        let _2 : 'tv_initialize_list = Obj.magic _2 in
-        let _1 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15604 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_initialize = 
-# 1069 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 15611 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_iso_ctype__ = Obj.magic xs in
+        let x : 'tv_iso_ctype_ = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_iso_ctype__ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19594 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_iso_decl_var__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19611 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15619,35 +19619,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15637 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15642 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_initialize = 
-# 1071 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
-                        P.clt2mcode "}" _2)) )
-# 15651 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in
+        let x : 'tv_iso_decl_var_ = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_iso_decl_var__ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19641 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15658,25 +19648,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _1 : (
-# 65 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 15672 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_initialize = 
-# 1075 "parser_cocci_menhir.mly"
-      (let (nm,pure,clt) = _1 in
-      Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
-# 15680 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_iso_eexpr__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19658 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15688,19 +19666,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_initialize2 = 
-# 1081 "parser_cocci_menhir.mly"
-                            ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 15704 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_iso_eexpr__ = Obj.magic xs in
+        let x : 'tv_iso_eexpr_ = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_iso_eexpr__ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19688 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15711,40 +19695,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
-          } = _menhir_stack in
-        let _3 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15735 "parser_cocci_menhir.ml"
-        ) = Obj.magic _3 in
-        let _2 : 'tv_initialize_list = Obj.magic _2 in
-        let _1 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15741 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_initialize2 = 
-# 1083 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 15748 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_iso_nest_start__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19705 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15756,35 +19713,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15774 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15779 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_initialize2 = 
-# 1085 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
-                      P.clt2mcode "}" _2)) )
-# 15788 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in
+        let x : 'tv_iso_nest_start_ = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_iso_nest_start__ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19735 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15795,36 +19742,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
-          } = _menhir_stack in
-        let _3 : 'tv_initialize2 = Obj.magic _3 in
-        let _2 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15820 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : 'tv_list_designator_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_initialize2 = 
-# 1090 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
-# 15828 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_iso_single_statement__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19752 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15836,35 +19760,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _3 : 'tv_initialize2 = Obj.magic _3 in
-        let _2 : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15860 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : 'tv_ident = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_initialize2 = 
-# 1092 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
-# 15868 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in
+        let x : 'tv_iso_single_statement_ = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_iso_single_statement__ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19782 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15875,20 +19789,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _1 : 'tv_initialize_list_start = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_initialize_list = 
-# 1104 "parser_cocci_menhir.mly"
-                         ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 15892 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_mzl_ctype__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19799 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15900,29 +19807,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15918 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : 'tv_initialize2 = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_initialize_list_start = 
-# 1107 "parser_cocci_menhir.mly"
-                     ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] )
-# 15926 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in
+        let x : 'tv_mzl_ctype_ = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_mzl_ctype__ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19829 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15933,36 +19836,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
-          } = _menhir_stack in
-        let _3 : 'tv_initialize_list_start = Obj.magic _3 in
-        let _2 : (
-# 107 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15958 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : 'tv_initialize2 = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_initialize_list_start = 
-# 1109 "parser_cocci_menhir.mly"
-    ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 )
-# 15966 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_mzl_disj_ident__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19846 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15974,26 +19854,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = r;
-          MenhirLib.EngineTypes.startp = _startpos_r_;
-          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = d;
-            MenhirLib.EngineTypes.startp = _startpos_d_;
-            MenhirLib.EngineTypes.endp = _endpos_d_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
-        let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
-        let _startpos = _startpos_d_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_initialize_list_start = 
-# 1112 "parser_cocci_menhir.mly"
-    ( (P.mkidots "..." d)::
-      (List.concat(List.map (function x -> x (P.mkidots "...")) r)) )
-# 15997 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_mzl_disj_ident__ = Obj.magic xs in
+        let x : 'tv_mzl_disj_ident_ = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_mzl_disj_ident__ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19876 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16004,18 +19883,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_invalid = 
-# 1205 "parser_cocci_menhir.mly"
-           ( raise (Semantic_cocci.Semantic "not matchable") )
-# 16019 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_mzl_eexpr__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19893 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16026,13 +19900,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_is_expression = 
-# 248 "parser_cocci_menhir.mly"
-              ( false )
-# 16036 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in
+        let x : 'tv_mzl_eexpr_ = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_mzl_eexpr__ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19923 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16043,18 +19930,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_is_expression = 
-# 249 "parser_cocci_menhir.mly"
-              ( true )
-# 16058 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_mzl_fun_after_dots_or__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19940 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16066,23 +19948,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = t;
-          MenhirLib.EngineTypes.startp = _startpos_t_;
-          MenhirLib.EngineTypes.endp = _endpos_t_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let t : 'tv_ctype = Obj.magic t in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos_t_ in
-        let _v : 'tv_iso_ctype_ = 
-# 1935 "parser_cocci_menhir.mly"
-                ( Common.Left t )
-# 16086 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in
+        let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_mzl_fun_after_dots_or__ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19970 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16093,24 +19977,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = t;
-          MenhirLib.EngineTypes.startp = _startpos_t_;
-          MenhirLib.EngineTypes.endp = _endpos_t_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
-          } = _menhir_stack in
-        let t : 'tv_ctype = Obj.magic t in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos_t_ in
-        let _v : 'tv_iso_ctype_ = 
-# 1936 "parser_cocci_menhir.mly"
-                     ( Common.Right t )
-# 16114 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_mzl_fun_start__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19987 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16122,23 +19995,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = t;
-          MenhirLib.EngineTypes.startp = _startpos_t_;
-          MenhirLib.EngineTypes.endp = _endpos_t_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let t : 'tv_decl_var = Obj.magic t in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos_t_ in
-        let _v : 'tv_iso_decl_var_ = 
-# 1935 "parser_cocci_menhir.mly"
-                ( Common.Left t )
-# 16142 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in
+        let x : 'tv_mzl_fun_start_ = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_mzl_fun_start__ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 20017 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16149,24 +20024,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = t;
-          MenhirLib.EngineTypes.startp = _startpos_t_;
-          MenhirLib.EngineTypes.endp = _endpos_t_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
-          } = _menhir_stack in
-        let t : 'tv_decl_var = Obj.magic t in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos_t_ in
-        let _v : 'tv_iso_decl_var_ = 
-# 1936 "parser_cocci_menhir.mly"
-                     ( Common.Right t )
-# 16170 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_mzl_mctype__ = 
+# 114 "standard.mly"
+    ( [] )
+# 20034 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16178,23 +20042,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = t;
-          MenhirLib.EngineTypes.startp = _startpos_t_;
-          MenhirLib.EngineTypes.endp = _endpos_t_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let t : 'tv_dexpr = Obj.magic t in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos_t_ in
-        let _v : 'tv_iso_dexpr_ = 
-# 1935 "parser_cocci_menhir.mly"
-                ( Common.Left t )
-# 16198 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_mzl_mctype__ = Obj.magic xs in
+        let x : 'tv_mzl_mctype_ = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_mzl_mctype__ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 20064 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16205,24 +20071,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = t;
-          MenhirLib.EngineTypes.startp = _startpos_t_;
-          MenhirLib.EngineTypes.endp = _endpos_t_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
-          } = _menhir_stack in
-        let t : 'tv_dexpr = Obj.magic t in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos_t_ in
-        let _v : 'tv_iso_dexpr_ = 
-# 1936 "parser_cocci_menhir.mly"
-                     ( Common.Right t )
-# 16226 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_mzl_rule_elem_statement__ = 
+# 114 "standard.mly"
+    ( [] )
+# 20081 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16234,23 +20089,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = t;
-          MenhirLib.EngineTypes.startp = _startpos_t_;
-          MenhirLib.EngineTypes.endp = _endpos_t_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let t : 'tv_nest_start = Obj.magic t in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos_t_ in
-        let _v : 'tv_iso_nest_start_ = 
-# 1935 "parser_cocci_menhir.mly"
-                ( Common.Left t )
-# 16254 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in
+        let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_mzl_rule_elem_statement__ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 20111 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16261,24 +20118,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = t;
-          MenhirLib.EngineTypes.startp = _startpos_t_;
-          MenhirLib.EngineTypes.endp = _endpos_t_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
-          } = _menhir_stack in
-        let t : 'tv_nest_start = Obj.magic t in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos_t_ in
-        let _v : 'tv_iso_nest_start_ = 
-# 1936 "parser_cocci_menhir.mly"
-                     ( Common.Right t )
-# 16282 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_mzl_statement__ = 
+# 114 "standard.mly"
+    ( [] )
+# 20128 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16290,23 +20136,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = t;
-          MenhirLib.EngineTypes.startp = _startpos_t_;
-          MenhirLib.EngineTypes.endp = _endpos_t_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let t : 'tv_single_statement = Obj.magic t in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos_t_ in
-        let _v : 'tv_iso_single_statement_ = 
-# 1935 "parser_cocci_menhir.mly"
-                ( Common.Left t )
-# 16310 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_mzl_statement__ = Obj.magic xs in
+        let x : 'tv_mzl_statement_ = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_mzl_statement__ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 20158 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16317,24 +20165,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = t;
-          MenhirLib.EngineTypes.startp = _startpos_t_;
-          MenhirLib.EngineTypes.endp = _endpos_t_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
-          } = _menhir_stack in
-        let t : 'tv_single_statement = Obj.magic t in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos_t_ in
-        let _v : 'tv_iso_single_statement_ = 
-# 1936 "parser_cocci_menhir.mly"
-                     ( Common.Right t )
-# 16338 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = 
+# 114 "standard.mly"
+    ( [] )
+# 20175 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16346,37 +20183,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__4_;
-          MenhirLib.EngineTypes.endp = _endpos__4_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = el;
-            MenhirLib.EngineTypes.startp = _startpos_el_;
-            MenhirLib.EngineTypes.endp = _endpos_el_;
+            MenhirLib.EngineTypes.semv = y0;
+            MenhirLib.EngineTypes.startp = _startpos_y0_;
+            MenhirLib.EngineTypes.endp = _endpos_y0_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = e1;
-              MenhirLib.EngineTypes.startp = _startpos_e1_;
-              MenhirLib.EngineTypes.endp = _endpos_e1_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.startp = _startpos__1_;
-                MenhirLib.EngineTypes.endp = _endpos__1_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let el : 'tv_list_iso_dexpr__ = Obj.magic el in
-        let e1 : 'tv_dexpr = Obj.magic e1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ in
-        let _v : (
-# 162 "parser_cocci_menhir.mly"
-      (Ast0_cocci.anything list list)
-# 16376 "parser_cocci_menhir.ml"
-        ) = 
-# 1907 "parser_cocci_menhir.mly"
-    ( P.iso_adjust (function x -> Ast0.ExprTag x) e1 el )
-# 16380 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
+        let y0 : 'tv_dexpr = Obj.magic y0 in
+        let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
+          let y = y0 in
+          let x = x0 in
+          
+# 70 "standard.mly"
+    ( (x, y) )
+# 20214 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 116 "standard.mly"
+    ( x :: xs )
+# 20220 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16387,38 +20227,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.startp = _startpos__4_;
-          MenhirLib.EngineTypes.endp = _endpos__4_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = el;
-            MenhirLib.EngineTypes.startp = _startpos_el_;
-            MenhirLib.EngineTypes.endp = _endpos_el_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = e1;
-              MenhirLib.EngineTypes.startp = _startpos_e1_;
-              MenhirLib.EngineTypes.endp = _endpos_e1_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.startp = _startpos__1_;
-                MenhirLib.EngineTypes.endp = _endpos__1_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
-            };
-          } = _menhir_stack in
-        let el : 'tv_list_iso_dexpr__ = Obj.magic el in
-        let e1 : 'tv_dexpr = Obj.magic e1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ in
-        let _v : (
-# 162 "parser_cocci_menhir.mly"
-      (Ast0_cocci.anything list list)
-# 16418 "parser_cocci_menhir.ml"
-        ) = 
-# 1909 "parser_cocci_menhir.mly"
-    ( P.iso_adjust (function x -> Ast0.ArgExprTag x) e1 el )
-# 16422 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_list_whenppdecs_ = 
+# 114 "standard.mly"
+    ( [] )
+# 20237 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16430,37 +20245,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__4_;
-          MenhirLib.EngineTypes.endp = _endpos__4_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = el;
-            MenhirLib.EngineTypes.startp = _startpos_el_;
-            MenhirLib.EngineTypes.endp = _endpos_el_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = e1;
-              MenhirLib.EngineTypes.startp = _startpos_e1_;
-              MenhirLib.EngineTypes.endp = _endpos_e1_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.startp = _startpos__1_;
-                MenhirLib.EngineTypes.endp = _endpos__1_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let el : 'tv_list_iso_dexpr__ = Obj.magic el in
-        let e1 : 'tv_dexpr = Obj.magic e1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ in
-        let _v : (
-# 162 "parser_cocci_menhir.mly"
-      (Ast0_cocci.anything list list)
-# 16460 "parser_cocci_menhir.ml"
-        ) = 
-# 1911 "parser_cocci_menhir.mly"
-    ( P.iso_adjust (function x -> Ast0.TestExprTag x) e1 el )
-# 16464 "parser_cocci_menhir.ml"
+        let xs : 'tv_list_whenppdecs_ = Obj.magic xs in
+        let x : 'tv_whenppdecs = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_whenppdecs_ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 20267 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16472,37 +20275,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__4_;
-          MenhirLib.EngineTypes.endp = _endpos__4_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = sl;
-            MenhirLib.EngineTypes.startp = _startpos_sl_;
-            MenhirLib.EngineTypes.endp = _endpos_sl_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = s1;
-              MenhirLib.EngineTypes.startp = _startpos_s1_;
-              MenhirLib.EngineTypes.endp = _endpos_s1_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.startp = _startpos__1_;
-                MenhirLib.EngineTypes.endp = _endpos__1_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let sl : 'tv_list_iso_single_statement__ = Obj.magic sl in
-        let s1 : 'tv_single_statement = Obj.magic s1 in
+        let _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ in
-        let _v : (
-# 162 "parser_cocci_menhir.mly"
-      (Ast0_cocci.anything list list)
-# 16502 "parser_cocci_menhir.ml"
-        ) = 
-# 1913 "parser_cocci_menhir.mly"
-    ( P.iso_adjust (function x -> Ast0.StmtTag x) s1 sl )
-# 16506 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_list_len = 
+# 417 "parser_cocci_menhir.mly"
+                           ( Common.Left _1 )
+# 20291 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16514,37 +20299,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__4_;
-          MenhirLib.EngineTypes.endp = _endpos__4_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = tl;
-            MenhirLib.EngineTypes.startp = _startpos_tl_;
-            MenhirLib.EngineTypes.endp = _endpos_tl_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = t1;
-              MenhirLib.EngineTypes.startp = _startpos_t1_;
-              MenhirLib.EngineTypes.endp = _endpos_t1_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.startp = _startpos__1_;
-                MenhirLib.EngineTypes.endp = _endpos__1_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let tl : 'tv_list_iso_ctype__ = Obj.magic tl in
-        let t1 : 'tv_ctype = Obj.magic t1 in
+        let _1 : (
+# 155 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 20312 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ in
-        let _v : (
-# 162 "parser_cocci_menhir.mly"
-      (Ast0_cocci.anything list list)
-# 16544 "parser_cocci_menhir.ml"
-        ) = 
-# 1915 "parser_cocci_menhir.mly"
-    ( P.iso_adjust (function x -> Ast0.TypeCTag x) t1 tl )
-# 16548 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_list_len = 
+# 418 "parser_cocci_menhir.mly"
+       ( let (x,clt) = _1 in Common.Right (int_of_string x) )
+# 20319 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16555,38 +20326,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.startp = _startpos__4_;
-          MenhirLib.EngineTypes.endp = _endpos__4_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = el;
-            MenhirLib.EngineTypes.startp = _startpos_el_;
-            MenhirLib.EngineTypes.endp = _endpos_el_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = e1;
-              MenhirLib.EngineTypes.startp = _startpos_e1_;
-              MenhirLib.EngineTypes.endp = _endpos_e1_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.startp = _startpos__1_;
-                MenhirLib.EngineTypes.endp = _endpos__1_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
-            };
-          } = _menhir_stack in
-        let el : 'tv_list_iso_nest_start__ = Obj.magic el in
-        let e1 : 'tv_nest_start = Obj.magic e1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ in
-        let _v : (
-# 162 "parser_cocci_menhir.mly"
-      (Ast0_cocci.anything list list)
-# 16586 "parser_cocci_menhir.ml"
-        ) = 
-# 1917 "parser_cocci_menhir.mly"
-    ( P.iso_adjust (function x -> Ast0.DotsStmtTag x) e1 el )
-# 16590 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_loption_choose_iso_ = 
+# 57 "standard.mly"
+    ( [] )
+# 20336 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16598,50 +20344,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__4_;
-          MenhirLib.EngineTypes.endp = _endpos__4_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = dl;
-            MenhirLib.EngineTypes.startp = _startpos_dl_;
-            MenhirLib.EngineTypes.endp = _endpos_dl_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = d1;
-              MenhirLib.EngineTypes.startp = _startpos_d1_;
-              MenhirLib.EngineTypes.endp = _endpos_d1_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.startp = _startpos__1_;
-                MenhirLib.EngineTypes.endp = _endpos__1_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = x;
+          MenhirLib.EngineTypes.startp = _startpos_x_;
+          MenhirLib.EngineTypes.endp = _endpos_x_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let dl : 'tv_list_iso_decl_var__ = Obj.magic dl in
-        let d1 : 'tv_decl_var = Obj.magic d1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ in
-        let _v : (
-# 162 "parser_cocci_menhir.mly"
-      (Ast0_cocci.anything list list)
-# 16628 "parser_cocci_menhir.ml"
-        ) = 
-# 1919 "parser_cocci_menhir.mly"
-    ( let check_one = function
-       [x] -> x
-      | _ ->
-         raise
-           (Semantic_cocci.Semantic
-              "only one variable per declaration in an isomorphism rule") in
-    let d1 = check_one d1 in
-    let dl =
-      List.map
-       (function
-           Common.Left x -> Common.Left(check_one x)
-         | Common.Right x -> Common.Right(check_one x))
-       dl in
-    P.iso_adjust (function x -> Ast0.DeclTag x) d1 dl )
-# 16645 "parser_cocci_menhir.ml"
+        let x : 'tv_choose_iso = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_loption_choose_iso_ = 
+# 59 "standard.mly"
+    ( x )
+# 20360 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_loption_disable_ = 
+# 57 "standard.mly"
+    ( [] )
+# 20377 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16654,22 +20386,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.semv = x;
+          MenhirLib.EngineTypes.startp = _startpos_x_;
+          MenhirLib.EngineTypes.endp = _endpos_x_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let m : 'tv_metadec = Obj.magic m in
-        let _startpos = _startpos_m_ in
-        let _endpos = _endpos_m_ in
-        let _v : (
-# 165 "parser_cocci_menhir.mly"
-      ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 16669 "parser_cocci_menhir.ml"
-        ) = 
-# 182 "parser_cocci_menhir.mly"
-                         ( m "" )
-# 16673 "parser_cocci_menhir.ml"
+        let x : 'tv_disable = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_loption_disable_ = 
+# 59 "standard.mly"
+    ( x )
+# 20401 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16680,28 +20408,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = nm;
-            MenhirLib.EngineTypes.startp = _startpos_nm_;
-            MenhirLib.EngineTypes.endp = _endpos_nm_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
-          } = _menhir_stack in
-        let nm : 'tv_pure_ident = Obj.magic nm in
-        let _startpos = _startpos_nm_ in
-        let _endpos = _endpos__2_ in
-        let _v : (
-# 149 "parser_cocci_menhir.mly"
-      (Ast_cocci.rulename)
-# 16701 "parser_cocci_menhir.ml"
-        ) = 
-# 197 "parser_cocci_menhir.mly"
-                      ( P.make_iso_rule_name_result (P.id2name nm) )
-# 16705 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_loption_filespec_ = 
+# 57 "standard.mly"
+    ( [] )
+# 20418 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16714,22 +20427,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = x;
+          MenhirLib.EngineTypes.startp = _startpos_x_;
+          MenhirLib.EngineTypes.endp = _endpos_x_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 16726 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_iter_ident = 
-# 1592 "parser_cocci_menhir.mly"
-         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 16733 "parser_cocci_menhir.ml"
+        let x : 'tv_filespec = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_loption_filespec_ = 
+# 59 "standard.mly"
+    ( x )
+# 20442 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_loption_minus_start_ = 
+# 57 "standard.mly"
+    ( [] )
+# 20459 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16742,23 +20468,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = x;
+          MenhirLib.EngineTypes.startp = _startpos_x_;
+          MenhirLib.EngineTypes.endp = _endpos_x_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : (
-# 62 "parser_cocci_menhir.mly"
-       (Parse_aux.idinfo)
-# 16754 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_iter_ident = 
-# 1594 "parser_cocci_menhir.mly"
-         ( let (nm,constraints,pure,clt) = _1 in
-         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 16762 "parser_cocci_menhir.ml"
+        let x : 'tv_minus_start = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_loption_minus_start_ = 
+# 59 "standard.mly"
+    ( x )
+# 20483 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16772,10 +20493,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
         let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
         let _endpos = _startpos in
-        let _v : 'tv_list_TMul_ = 
-# 114 "standard.mly"
+        let _v : 'tv_loption_not_pos_ = 
+# 57 "standard.mly"
     ( [] )
-# 16779 "parser_cocci_menhir.ml"
+# 20500 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16787,29 +20508,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = x;
+          MenhirLib.EngineTypes.startp = _startpos_x_;
+          MenhirLib.EngineTypes.endp = _endpos_x_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let xs : 'tv_list_TMul_ = Obj.magic xs in
-        let x : (
-# 99 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 16806 "parser_cocci_menhir.ml"
-        ) = Obj.magic x in
+        let x : 'tv_not_pos = Obj.magic x in
         let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_TMul_ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 16813 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_loption_not_pos_ = 
+# 59 "standard.mly"
+    ( x )
+# 20524 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16823,10 +20534,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
         let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
         let _endpos = _startpos in
-        let _v : 'tv_list_array_dec_ = 
-# 114 "standard.mly"
+        let _v : 'tv_loption_plus_start_ = 
+# 57 "standard.mly"
     ( [] )
-# 16830 "parser_cocci_menhir.ml"
+# 20541 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16838,25 +20549,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = x;
+          MenhirLib.EngineTypes.startp = _startpos_x_;
+          MenhirLib.EngineTypes.endp = _endpos_x_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let xs : 'tv_list_array_dec_ = Obj.magic xs in
-        let x : 'tv_array_dec = Obj.magic x in
+        let x : 'tv_plus_start = Obj.magic x in
         let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_array_dec_ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 16860 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_loption_plus_start_ = 
+# 59 "standard.mly"
+    ( x )
+# 20565 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16867,13 +20572,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_case_line_ = 
-# 114 "standard.mly"
-    ( [] )
-# 16877 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 20586 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_mctype = 
+# 712 "parser_cocci_menhir.mly"
+        ( tmeta_to_type _1 )
+# 20593 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16885,25 +20601,75 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_ctype = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_mctype = 
+# 713 "parser_cocci_menhir.mly"
+        (_1)
+# 20617 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let t : 'tv_typedef_ctype = Obj.magic t in
+        let _startpos = _startpos_t_ in
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_meta_exp_type = 
+# 612 "parser_cocci_menhir.mly"
+    ( [Ast0_cocci.ast0_type_to_type t] )
+# 20641 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = t;
+              MenhirLib.EngineTypes.startp = _startpos_t_;
+              MenhirLib.EngineTypes.endp = _endpos_t_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_case_line_ = Obj.magic xs in
-        let x : 'tv_case_line = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_case_line_ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 16907 "parser_cocci_menhir.ml"
+        let t : 'tv_typedef_ctype = Obj.magic t in
+        let _startpos = _startpos_t_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_meta_exp_type = 
+# 614 "parser_cocci_menhir.mly"
+    ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] )
+# 20673 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16914,13 +20680,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_comma_decls_TEllipsis_decl__ = 
-# 114 "standard.mly"
-    ( [] )
-# 16924 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.startp = _startpos__3_;
+            MenhirLib.EngineTypes.endp = _endpos__3_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = t;
+              MenhirLib.EngineTypes.startp = _startpos_t_;
+              MenhirLib.EngineTypes.endp = _endpos_t_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let t : 'tv_comma_list_ctype_ = Obj.magic t in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_meta_exp_type = 
+# 616 "parser_cocci_menhir.mly"
+    ( List.map
+       (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
+       t )
+# 20713 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16932,25 +20721,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic xs in
-        let x : 'tv_comma_decls_TEllipsis_decl_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_comma_decls_TEllipsis_decl__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 16954 "parser_cocci_menhir.ml"
+        let _3 : 'tv_pure_ident = Obj.magic _3 in
+        let _1 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 20744 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_meta_ident = 
+# 1680 "parser_cocci_menhir.mly"
+                                   ( (Some _1,P.id2name _3) )
+# 20751 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16961,13 +20758,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = 
-# 114 "standard.mly"
-    ( [] )
-# 16971 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in
+        let _1 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 20782 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_meta_ident = 
+# 1681 "parser_cocci_menhir.mly"
+                                   ( (Some _1,_3) )
+# 20789 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16979,25 +20797,76 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let m : 'tv_metadec = Obj.magic m in
+        let _startpos = _startpos_m_ in
+        let _endpos = _endpos_m_ in
+        let _v : (
+# 227 "parser_cocci_menhir.mly"
+      ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
+# 20813 "parser_cocci_menhir.ml"
+        ) = 
+# 251 "parser_cocci_menhir.mly"
+                       ( m (!Ast0.rule_name) )
+# 20817 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic xs in
-        let x : 'tv_comma_decls_TEllipsis_name_opt_decl_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17001 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 429 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta ->
+      let tok = check_meta(Ast.MetaMetaDecl(arity,name)) in
+      !Data.add_meta_meta name pure; tok) )
+# 20864 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20870 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17008,13 +20877,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_decl_var_ = 
-# 114 "standard.mly"
-    ( [] )
-# 17018 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 433 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta ->
+      let tok = check_meta(Ast.MetaParamDecl(arity,name)) in
+      !Data.add_param_meta name pure; tok) )
+# 20917 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20923 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17026,25 +20931,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__6_;
+          MenhirLib.EngineTypes.endp = _endpos__6_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__4_;
+              MenhirLib.EngineTypes.endp = _endpos__4_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__3_;
+                MenhirLib.EngineTypes.endp = _endpos__3_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = ispure;
+                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = ar;
+                    MenhirLib.EngineTypes.startp = _startpos_ar_;
+                    MenhirLib.EngineTypes.endp = _endpos_ar_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_decl_var_ = Obj.magic xs in
-        let x : 'tv_decl_var = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_decl_var_ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17048 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__6_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 437 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta ->
+      let len = Ast.AnyLen in
+      let tok = check_meta(Ast.MetaParamListDecl(arity,name,len)) in
+      !Data.add_paramlist_meta name len pure; tok) )
+# 20975 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20981 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17055,13 +20988,54 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_designator_ = 
-# 114 "standard.mly"
-    ( [] )
-# 17065 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__6_;
+          MenhirLib.EngineTypes.endp = _endpos__6_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__4_;
+              MenhirLib.EngineTypes.endp = _endpos__4_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__3_;
+                MenhirLib.EngineTypes.endp = _endpos__3_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = ispure;
+                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = ar;
+                    MenhirLib.EngineTypes.startp = _startpos_ar_;
+                    MenhirLib.EngineTypes.endp = _endpos_ar_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__6_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 442 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta ->
+      let len = Ast.AnyLen in
+      let tok = check_meta(Ast.MetaExpListDecl(arity,name,len)) in
+      !Data.add_explist_meta name len pure; tok) )
+# 21033 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21039 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17073,25 +21047,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_designator_ = Obj.magic xs in
-        let x : 'tv_designator = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_designator_ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17095 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 447 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta ->
+      let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in
+      !Data.add_type_meta name pure; tok) )
+# 21086 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21092 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17102,13 +21099,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_dp_comma_args_TEllipsis__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17112 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 451 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta ->
+      let tok = check_meta(Ast.MetaInitDecl(arity,name)) in
+      !Data.add_init_meta name pure; tok) )
+# 21139 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21145 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17120,25 +21153,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__6_;
+          MenhirLib.EngineTypes.endp = _endpos__6_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__4_;
+              MenhirLib.EngineTypes.endp = _endpos__4_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__3_;
+                MenhirLib.EngineTypes.endp = _endpos__3_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = ispure;
+                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = ar;
+                    MenhirLib.EngineTypes.startp = _startpos_ar_;
+                    MenhirLib.EngineTypes.endp = _endpos_ar_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_dp_comma_args_TEllipsis__ = Obj.magic xs in
-        let x : 'tv_dp_comma_args_TEllipsis_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_dp_comma_args_TEllipsis__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17142 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__6_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 455 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta ->
+      let len = Ast.AnyLen in
+      let tok = check_meta(Ast.MetaInitListDecl(arity,name,len)) in
+      !Data.add_initlist_meta name len pure; tok) )
+# 21197 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21203 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17149,13 +21210,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_incl_ = 
-# 114 "standard.mly"
-    ( [] )
-# 17159 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 460 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta ->
+      let tok = check_meta(Ast.MetaStmDecl(arity,name)) in
+      !Data.add_stm_meta name pure; tok) )
+# 21250 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21256 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17167,25 +21264,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_incl_ = Obj.magic xs in
-        let x : 'tv_incl = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_incl_ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17189 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 464 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta ->
+      let tok = check_meta(Ast.MetaDeclDecl(arity,name)) in
+      !Data.add_decl_meta name pure; tok) )
+# 21303 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21309 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17196,13 +21316,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_iso_ctype__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17206 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 468 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta ->
+      let tok = check_meta(Ast.MetaFieldDecl(arity,name)) in
+      !Data.add_field_meta name pure; tok) )
+# 21356 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21362 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17214,25 +21370,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__6_;
+          MenhirLib.EngineTypes.endp = _endpos__6_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__4_;
+              MenhirLib.EngineTypes.endp = _endpos__4_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__3_;
+                MenhirLib.EngineTypes.endp = _endpos__3_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = ispure;
+                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = ar;
+                    MenhirLib.EngineTypes.startp = _startpos_ar_;
+                    MenhirLib.EngineTypes.endp = _endpos_ar_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_iso_ctype__ = Obj.magic xs in
-        let x : 'tv_iso_ctype_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_iso_ctype__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17236 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__6_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 472 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta ->
+      let len = Ast.AnyLen in
+      let tok = check_meta(Ast.MetaFieldListDecl(arity,name,len)) in
+      !Data.add_field_list_meta name len pure; tok) )
+# 21414 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21420 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17243,13 +21427,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_iso_decl_var__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17253 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__6_;
+          MenhirLib.EngineTypes.endp = _endpos__6_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__4_;
+              MenhirLib.EngineTypes.endp = _endpos__4_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__3_;
+                MenhirLib.EngineTypes.endp = _endpos__3_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = ispure;
+                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = ar;
+                    MenhirLib.EngineTypes.startp = _startpos_ar_;
+                    MenhirLib.EngineTypes.endp = _endpos_ar_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__6_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 477 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta ->
+      let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in
+      !Data.add_stmlist_meta name pure; tok) )
+# 21471 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21477 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17261,25 +21485,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_iso_decl_var__ = Obj.magic xs in
-        let x : 'tv_iso_decl_var_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_iso_decl_var__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17283 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 481 "parser_cocci_menhir.mly"
+    ( (fun arity (_,name) pure check_meta ->
+      if arity = Ast.NONE && pure = Ast0.Impure
+      then (!Data.add_type_name name; [])
+      else raise (Semantic_cocci.Semantic "bad typedef")) )
+# 21525 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21531 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17290,13 +21538,54 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_iso_dexpr__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17300 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__6_;
+          MenhirLib.EngineTypes.endp = _endpos__6_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__4_;
+              MenhirLib.EngineTypes.endp = _endpos__4_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__3_;
+                MenhirLib.EngineTypes.endp = _endpos__3_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = ispure;
+                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = ar;
+                    MenhirLib.EngineTypes.startp = _startpos_ar_;
+                    MenhirLib.EngineTypes.endp = _endpos_ar_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__6_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 486 "parser_cocci_menhir.mly"
+    ( (fun arity (_,name) pure check_meta ->
+      if arity = Ast.NONE && pure = Ast0.Impure
+      then (!Data.add_declarer_name name; [])
+      else raise (Semantic_cocci.Semantic "bad declarer")) )
+# 21583 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21589 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17308,25 +21597,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__6_;
+          MenhirLib.EngineTypes.endp = _endpos__6_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__4_;
+              MenhirLib.EngineTypes.endp = _endpos__4_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__3_;
+                MenhirLib.EngineTypes.endp = _endpos__3_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = ispure;
+                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = ar;
+                    MenhirLib.EngineTypes.startp = _startpos_ar_;
+                    MenhirLib.EngineTypes.endp = _endpos_ar_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_iso_dexpr__ = Obj.magic xs in
-        let x : 'tv_iso_dexpr_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_iso_dexpr__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17330 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__6_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 491 "parser_cocci_menhir.mly"
+    ( (fun arity (_,name) pure check_meta ->
+      if arity = Ast.NONE && pure = Ast0.Impure
+      then (!Data.add_iterator_name name; [])
+      else raise (Semantic_cocci.Semantic "bad iterator")) )
+# 21641 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 342 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21647 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17337,13 +21654,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_iso_nest_start__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17347 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__4_;
+          MenhirLib.EngineTypes.endp = _endpos__4_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__2_;
+              MenhirLib.EngineTypes.endp = _endpos__2_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__4_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 422 "parser_cocci_menhir.mly"
+    ( (fun name check_meta seed ->
+      let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
+      !Data.add_fresh_id_meta name; tok) )
+# 21686 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 345 "parser_cocci_menhir.mly"
+    ( P.create_fresh_metadec kindfn ids )
+# 21692 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17355,25 +21700,65 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_iso_nest_start__ = Obj.magic xs in
-        let x : 'tv_iso_nest_start_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_iso_nest_start__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17377 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 498 "parser_cocci_menhir.mly"
+    (
+     let idfn arity name pure check_meta constraints =
+       let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
+       !Data.add_id_meta name constraints pure; tok in
+     let virtfn arity name pure check_meta virtual_env =
+       try
+        let vl = List.assoc name virtual_env in
+        !Data.add_virt_id_meta_found name vl; []
+       with Not_found ->
+        Iteration.parsed_virtual_identifiers :=
+          Common.union_set [name]
+            !Iteration.parsed_virtual_identifiers;
+        let name = ("virtual",name) in
+        let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
+        !Data.add_virt_id_meta_not_found name pure; tok in
+     (idfn,virtfn) )
+# 21752 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 351 "parser_cocci_menhir.mly"
+    ( let (normal,virt) = Common.partition_either (fun x -> x) ids in
+    let (idfn,virtfn) = kindfn in
+    function cr ->
+      (P.create_metadec_with_constraints ar ispure idfn normal cr) @
+      (P.create_metadec_virt ar ispure virtfn virt cr) )
+# 21762 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17384,13 +21769,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_iso_single_statement__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17394 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 517 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta constraints ->
+      let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in
+      !Data.add_func_meta name constraints pure; tok) )
+# 21809 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 360 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21815 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17402,25 +21823,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__6_;
+          MenhirLib.EngineTypes.endp = _endpos__6_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__4_;
+              MenhirLib.EngineTypes.endp = _endpos__4_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__3_;
+                MenhirLib.EngineTypes.endp = _endpos__3_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = ispure;
+                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = ar;
+                    MenhirLib.EngineTypes.startp = _startpos_ar_;
+                    MenhirLib.EngineTypes.endp = _endpos_ar_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_iso_single_statement__ = Obj.magic xs in
-        let x : 'tv_iso_single_statement_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_iso_single_statement__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17424 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__6_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 521 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta constraints ->
+      let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in
+      !Data.add_local_func_meta name constraints pure;
+      tok) )
+# 21867 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 360 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21873 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17431,13 +21880,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_mzl_ctype__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17441 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 526 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta constraints ->
+      let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in
+      !Data.add_declarer_meta name constraints pure; tok) )
+# 21920 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 360 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21926 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17449,25 +21934,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_mzl_ctype__ = Obj.magic xs in
-        let x : 'tv_mzl_ctype_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_mzl_ctype__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17471 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 530 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta constraints ->
+      let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in
+      !Data.add_iterator_meta name constraints pure; tok) )
+# 21973 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 360 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21979 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17478,13 +21986,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_mzl_eexpr__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17488 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 536 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta constraints ->
+      let tok = check_meta(Ast.MetaErrDecl(arity,name)) in
+      !Data.add_err_meta name constraints pure; tok) )
+# 22026 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 365 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22032 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17496,25 +22040,67 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__6_;
+          MenhirLib.EngineTypes.endp = _endpos__6_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__4_;
+              MenhirLib.EngineTypes.endp = _endpos__4_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = l0;
+                MenhirLib.EngineTypes.startp = _startpos_l0_;
+                MenhirLib.EngineTypes.endp = _endpos_l0_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = ispure;
+                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = ar;
+                    MenhirLib.EngineTypes.startp = _startpos_ar_;
+                    MenhirLib.EngineTypes.endp = _endpos_ar_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_mzl_eexpr__ = Obj.magic xs in
-        let x : 'tv_mzl_eexpr_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_mzl_eexpr__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17518 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+        let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__6_ in
+        let _v : 'tv_metadec = let kindfn =
+          let l = l0 in
+          let ty =
+            
+# 39 "standard.mly"
+    ( None )
+# 22085 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 540 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta constraints ->
+      match l with
+       None ->
+         !Data.add_idexp_meta ty name constraints pure;
+         check_meta(Ast.MetaIdExpDecl(arity,name,ty))
+      | Some _ ->
+         !Data.add_local_idexp_meta ty name constraints pure;
+         check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
+# 22098 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 365 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22104 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17525,13 +22111,76 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_mzl_fun_after_dots_or__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17535 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__7_;
+          MenhirLib.EngineTypes.endp = _endpos__7_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = x00;
+              MenhirLib.EngineTypes.startp = _startpos_x00_;
+              MenhirLib.EngineTypes.endp = _endpos_x00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__4_;
+                MenhirLib.EngineTypes.endp = _endpos__4_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = l0;
+                  MenhirLib.EngineTypes.startp = _startpos_l0_;
+                  MenhirLib.EngineTypes.endp = _endpos_l0_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.semv = ispure;
+                    MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                    MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.semv = ar;
+                      MenhirLib.EngineTypes.startp = _startpos_ar_;
+                      MenhirLib.EngineTypes.endp = _endpos_ar_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
+                    };
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+        let x00 : 'tv_meta_exp_type = Obj.magic x00 in
+        let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__7_ in
+        let _v : 'tv_metadec = let kindfn =
+          let x0 = x00 in
+          let l = l0 in
+          let ty =
+            let x = x0 in
+            
+# 41 "standard.mly"
+    ( Some x )
+# 22165 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 540 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta constraints ->
+      match l with
+       None ->
+         !Data.add_idexp_meta ty name constraints pure;
+         check_meta(Ast.MetaIdExpDecl(arity,name,ty))
+      | Some _ ->
+         !Data.add_local_idexp_meta ty name constraints pure;
+         check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
+# 22178 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 365 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22184 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17543,42 +22192,68 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__7_;
+          MenhirLib.EngineTypes.endp = _endpos__7_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = m0;
+              MenhirLib.EngineTypes.startp = _startpos_m0_;
+              MenhirLib.EngineTypes.endp = _endpos_m0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__4_;
+                MenhirLib.EngineTypes.endp = _endpos__4_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = l0;
+                  MenhirLib.EngineTypes.startp = _startpos_l0_;
+                  MenhirLib.EngineTypes.endp = _endpos_l0_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.semv = ispure;
+                    MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                    MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.semv = ar;
+                      MenhirLib.EngineTypes.startp = _startpos_ar_;
+                      MenhirLib.EngineTypes.endp = _endpos_ar_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
+                    };
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic xs in
-        let x : 'tv_mzl_fun_after_dots_or_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_mzl_fun_after_dots_or__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17565 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_mzl_fun_start__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17582 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+        let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
+        let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__7_ in
+        let _v : 'tv_metadec = let kindfn =
+          let m = m0 in
+          let l = l0 in
+          
+# 549 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta constraints ->
+      let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
+      match l with
+       None ->
+         !Data.add_idexp_meta ty name constraints pure;
+         check_meta(Ast.MetaIdExpDecl(arity,name,ty))
+      | Some _ ->
+         !Data.add_local_idexp_meta ty name constraints pure;
+         check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
+# 22251 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 365 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22257 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17590,25 +22265,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__6_;
+          MenhirLib.EngineTypes.endp = _endpos__6_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = ty0;
+              MenhirLib.EngineTypes.startp = _startpos_ty0_;
+              MenhirLib.EngineTypes.endp = _endpos_ty0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__3_;
+                MenhirLib.EngineTypes.endp = _endpos__3_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = ispure;
+                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = ar;
+                    MenhirLib.EngineTypes.startp = _startpos_ar_;
+                    MenhirLib.EngineTypes.endp = _endpos_ar_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_mzl_fun_start__ = Obj.magic xs in
-        let x : 'tv_mzl_fun_start_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_mzl_fun_start__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17612 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+        let ty0 : 'tv_expression_type = Obj.magic ty0 in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__6_ in
+        let _v : 'tv_metadec = let kindfn =
+          let ty = ty0 in
+          
+# 559 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta constraints ->
+      let ty = Some [ty] in
+      let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
+      !Data.add_exp_meta ty name constraints pure; tok) )
+# 22312 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 365 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22318 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17619,13 +22325,56 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_mzl_rule_elem_statement__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17629 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          let ty =
+            
+# 39 "standard.mly"
+    ( None )
+# 22364 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 564 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta constraints ->
+      let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
+      !Data.add_const_meta ty name constraints pure; tok) )
+# 22372 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 365 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22378 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17637,25 +22386,63 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__6_;
+          MenhirLib.EngineTypes.endp = _endpos__6_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = x00;
+              MenhirLib.EngineTypes.startp = _startpos_x00_;
+              MenhirLib.EngineTypes.endp = _endpos_x00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__3_;
+                MenhirLib.EngineTypes.endp = _endpos__3_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = ispure;
+                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = ar;
+                    MenhirLib.EngineTypes.startp = _startpos_ar_;
+                    MenhirLib.EngineTypes.endp = _endpos_ar_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_mzl_rule_elem_statement__ = Obj.magic xs in
-        let x : 'tv_mzl_rule_elem_statement_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_mzl_rule_elem_statement__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17659 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic ids in
+        let x00 : 'tv_meta_exp_type = Obj.magic x00 in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__6_ in
+        let _v : 'tv_metadec = let kindfn =
+          let x0 = x00 in
+          let ty =
+            let x = x0 in
+            
+# 41 "standard.mly"
+    ( Some x )
+# 22432 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 564 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta constraints ->
+      let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
+      !Data.add_const_meta ty name constraints pure; tok) )
+# 22440 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 365 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22446 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17666,13 +22453,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_mzl_statement__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17676 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          
+# 581 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta constraints ->
+      let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in
+      !Data.add_exp_meta None name constraints pure; tok) )
+# 22493 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 370 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22499 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17684,25 +22507,72 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = vl0;
+              MenhirLib.EngineTypes.startp = _startpos_vl0_;
+              MenhirLib.EngineTypes.endp = _endpos_vl0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_mzl_statement__ = Obj.magic xs in
-        let x : 'tv_mzl_statement_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_mzl_statement__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17706 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic ids in
+        let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = let kindfn =
+          let vl = vl0 in
+          
+# 585 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta constraints ->
+      let ty = Some vl in
+      (match constraints with
+       Ast0.NotExpCstrt constraints ->
+         List.iter
+           (function c ->
+             match Ast0.unwrap c with
+               Ast0.Constant(_) ->
+                 if not
+                     (List.exists
+                        (function
+                            Type_cocci.BaseType(Type_cocci.IntType) -> true
+                          | Type_cocci.BaseType(Type_cocci.ShortType) -> true
+                          | Type_cocci.BaseType(Type_cocci.LongType) -> true
+                          | _ -> false)
+                        vl)
+                 then
+                   failwith "metavariable with int constraint must be an int"
+             | _ -> ())
+           constraints
+      |        _ -> ());
+      let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
+      !Data.add_exp_meta ty name constraints pure; tok)
+    )
+# 22570 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 370 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 22576 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17713,13 +22583,46 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17723 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = a;
+              MenhirLib.EngineTypes.startp = _startpos_a_;
+              MenhirLib.EngineTypes.endp = _endpos_a_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__2_;
+                MenhirLib.EngineTypes.endp = _endpos__2_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
+        let a : 'tv_option_TPosAny_ = Obj.magic a in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = 
+# 376 "parser_cocci_menhir.mly"
+    ( (if !Data.in_generating
+      then failwith "position variables not allowed in a generated rule file");
+      let kindfn arity name pure check_meta constraints =
+      let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
+      let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
+      !Data.add_pos_meta name constraints any; tok in
+    P.create_metadec_with_constraints ar false kindfn ids )
+# 22626 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17731,40 +22634,61 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__9_;
+          MenhirLib.EngineTypes.endp = _endpos__9_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = y0;
-            MenhirLib.EngineTypes.startp = _startpos_y0_;
-            MenhirLib.EngineTypes.endp = _endpos_y0_;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = x0;
-              MenhirLib.EngineTypes.startp = _startpos_x0_;
-              MenhirLib.EngineTypes.endp = _endpos_x0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.startp = _startpos__7_;
+              MenhirLib.EngineTypes.endp = _endpos__7_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = len;
+                MenhirLib.EngineTypes.startp = _startpos_len_;
+                MenhirLib.EngineTypes.endp = _endpos_len_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.startp = _startpos__5_;
+                  MenhirLib.EngineTypes.endp = _endpos__5_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.startp = _startpos__4_;
+                    MenhirLib.EngineTypes.endp = _endpos__4_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.startp = _startpos__3_;
+                      MenhirLib.EngineTypes.endp = _endpos__3_;
+                      MenhirLib.EngineTypes.next = {
+                        MenhirLib.EngineTypes.semv = ispure;
+                        MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                        MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                        MenhirLib.EngineTypes.next = {
+                          MenhirLib.EngineTypes.state = _menhir_s;
+                          MenhirLib.EngineTypes.semv = ar;
+                          MenhirLib.EngineTypes.startp = _startpos_ar_;
+                          MenhirLib.EngineTypes.endp = _endpos_ar_;
+                          MenhirLib.EngineTypes.next = _menhir_stack;
+                          };
+                        };
+                      };
+                    };
+                  };
+                };
               };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic xs in
-        let y0 : 'tv_dexpr = Obj.magic y0 in
-        let x0 : 'tv_edots_when_TEllipsis_eexpr_ = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = let x =
-          let y = y0 in
-          let x = x0 in
-          
-# 70 "standard.mly"
-    ( (x, y) )
-# 17762 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 116 "standard.mly"
-    ( x :: xs )
-# 17768 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let len : 'tv_list_len = Obj.magic len in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__9_ in
+        let _v : 'tv_metadec = 
+# 386 "parser_cocci_menhir.mly"
+    ( P.create_len_metadec ar ispure
+       (fun lenname arity name pure check_meta ->
+         let tok = check_meta(Ast.MetaParamListDecl(arity,name,lenname)) in
+         !Data.add_paramlist_meta name lenname pure; tok)
+       len ids )
+# 22692 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17775,13 +22699,62 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_list_whenppdecs_ = 
-# 114 "standard.mly"
-    ( [] )
-# 17785 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__9_;
+          MenhirLib.EngineTypes.endp = _endpos__9_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__7_;
+              MenhirLib.EngineTypes.endp = _endpos__7_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = len;
+                MenhirLib.EngineTypes.startp = _startpos_len_;
+                MenhirLib.EngineTypes.endp = _endpos_len_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.startp = _startpos__5_;
+                  MenhirLib.EngineTypes.endp = _endpos__5_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.startp = _startpos__4_;
+                    MenhirLib.EngineTypes.endp = _endpos__4_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.startp = _startpos__3_;
+                      MenhirLib.EngineTypes.endp = _endpos__3_;
+                      MenhirLib.EngineTypes.next = {
+                        MenhirLib.EngineTypes.semv = ispure;
+                        MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                        MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                        MenhirLib.EngineTypes.next = {
+                          MenhirLib.EngineTypes.state = _menhir_s;
+                          MenhirLib.EngineTypes.semv = ar;
+                          MenhirLib.EngineTypes.startp = _startpos_ar_;
+                          MenhirLib.EngineTypes.endp = _endpos_ar_;
+                          MenhirLib.EngineTypes.next = _menhir_stack;
+                          };
+                        };
+                      };
+                    };
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let len : 'tv_list_len = Obj.magic len in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__9_ in
+        let _v : 'tv_metadec = 
+# 394 "parser_cocci_menhir.mly"
+    ( P.create_len_metadec ar ispure
+       (fun lenname arity name pure check_meta ->
+         let tok = check_meta(Ast.MetaExpListDecl(arity,name,lenname)) in
+         !Data.add_explist_meta name lenname pure; tok)
+       len ids )
+# 22758 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17793,25 +22766,61 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.startp = _startpos__9_;
+          MenhirLib.EngineTypes.endp = _endpos__9_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__7_;
+              MenhirLib.EngineTypes.endp = _endpos__7_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = len;
+                MenhirLib.EngineTypes.startp = _startpos_len_;
+                MenhirLib.EngineTypes.endp = _endpos_len_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.startp = _startpos__5_;
+                  MenhirLib.EngineTypes.endp = _endpos__5_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.startp = _startpos__4_;
+                    MenhirLib.EngineTypes.endp = _endpos__4_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.startp = _startpos__3_;
+                      MenhirLib.EngineTypes.endp = _endpos__3_;
+                      MenhirLib.EngineTypes.next = {
+                        MenhirLib.EngineTypes.semv = ispure;
+                        MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                        MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                        MenhirLib.EngineTypes.next = {
+                          MenhirLib.EngineTypes.state = _menhir_s;
+                          MenhirLib.EngineTypes.semv = ar;
+                          MenhirLib.EngineTypes.startp = _startpos_ar_;
+                          MenhirLib.EngineTypes.endp = _endpos_ar_;
+                          MenhirLib.EngineTypes.next = _menhir_stack;
+                          };
+                        };
+                      };
+                    };
+                  };
+                };
+              };
             };
           } = _menhir_stack in
-        let xs : 'tv_list_whenppdecs_ = Obj.magic xs in
-        let x : 'tv_whenppdecs = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_whenppdecs_ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17815 "parser_cocci_menhir.ml"
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let len : 'tv_list_len = Obj.magic len in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__9_ in
+        let _v : 'tv_metadec = 
+# 402 "parser_cocci_menhir.mly"
+    ( P.create_len_metadec ar ispure
+       (fun lenname arity name pure check_meta ->
+         let tok = check_meta(Ast.MetaFieldListDecl(arity,name,lenname)) in
+         !Data.add_field_list_meta name lenname pure; tok)
+       len ids )
+# 22824 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17822,13 +22831,62 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_loption_choose_iso_ = 
-# 57 "standard.mly"
-    ( [] )
-# 17832 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__9_;
+          MenhirLib.EngineTypes.endp = _endpos__9_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__7_;
+              MenhirLib.EngineTypes.endp = _endpos__7_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = len;
+                MenhirLib.EngineTypes.startp = _startpos_len_;
+                MenhirLib.EngineTypes.endp = _endpos_len_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.startp = _startpos__5_;
+                  MenhirLib.EngineTypes.endp = _endpos__5_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.startp = _startpos__4_;
+                    MenhirLib.EngineTypes.endp = _endpos__4_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.startp = _startpos__3_;
+                      MenhirLib.EngineTypes.endp = _endpos__3_;
+                      MenhirLib.EngineTypes.next = {
+                        MenhirLib.EngineTypes.semv = ispure;
+                        MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                        MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                        MenhirLib.EngineTypes.next = {
+                          MenhirLib.EngineTypes.state = _menhir_s;
+                          MenhirLib.EngineTypes.semv = ar;
+                          MenhirLib.EngineTypes.startp = _startpos_ar_;
+                          MenhirLib.EngineTypes.endp = _endpos_ar_;
+                          MenhirLib.EngineTypes.next = _menhir_stack;
+                          };
+                        };
+                      };
+                    };
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
+        let len : 'tv_list_len = Obj.magic len in
+        let ispure : 'tv_pure = Obj.magic ispure in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__9_ in
+        let _v : 'tv_metadec = 
+# 410 "parser_cocci_menhir.mly"
+    ( P.create_len_metadec ar ispure
+       (fun lenname arity name pure check_meta ->
+         let tok = check_meta(Ast.MetaInitListDecl(arity,name,lenname)) in
+         !Data.add_initlist_meta name lenname pure; tok)
+       len ids )
+# 22890 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17841,18 +22899,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = x;
-          MenhirLib.EngineTypes.startp = _startpos_x_;
-          MenhirLib.EngineTypes.endp = _endpos_x_;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let x : 'tv_choose_iso = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_x_ in
-        let _v : 'tv_loption_choose_iso_ = 
-# 59 "standard.mly"
-    ( x )
-# 17856 "parser_cocci_menhir.ml"
+        let _1 : 'tv_pure_ident = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_mident = 
+# 1916 "parser_cocci_menhir.mly"
+         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 22914 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17863,13 +22921,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_loption_disable_ = 
-# 57 "standard.mly"
-    ( [] )
-# 17873 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 22935 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_mident = 
+# 1917 "parser_cocci_menhir.mly"
+             ( tmeta_to_ident _1 )
+# 22942 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17882,18 +22951,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = x;
-          MenhirLib.EngineTypes.startp = _startpos_x_;
-          MenhirLib.EngineTypes.endp = _endpos_x_;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let x : 'tv_disable = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_x_ in
-        let _v : 'tv_loption_disable_ = 
-# 59 "standard.mly"
-    ( x )
-# 17897 "parser_cocci_menhir.ml"
+        let _1 : (
+# 128 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 22963 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_mident = 
+# 1919 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 22971 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17904,13 +22978,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_loption_filespec_ = 
-# 57 "standard.mly"
-    ( [] )
-# 17914 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_list_mzl_ctype__ = Obj.magic b in
+        let a : 'tv_ctype = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_ctype_ctype_ = 
+# 2239 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23001 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17922,19 +23009,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = x;
-          MenhirLib.EngineTypes.startp = _startpos_x_;
-          MenhirLib.EngineTypes.endp = _endpos_x_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let x : 'tv_filespec = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_x_ in
-        let _v : 'tv_loption_filespec_ = 
-# 59 "standard.mly"
-    ( x )
-# 17938 "parser_cocci_menhir.ml"
+        let b : 'tv_list_mzl_disj_ident__ = Obj.magic b in
+        let a : 'tv_disj_ident = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_disj_ident_disj_ident_ = 
+# 2239 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23031 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17945,13 +23038,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_loption_minus_start_ = 
-# 57 "standard.mly"
-    ( [] )
-# 17955 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
+        let a : 'tv_eexpr = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_eexpr_eexpr_ = 
+# 2239 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23061 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17963,19 +23069,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = x;
-          MenhirLib.EngineTypes.startp = _startpos_x_;
-          MenhirLib.EngineTypes.endp = _endpos_x_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let x : 'tv_minus_start = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_x_ in
-        let _v : 'tv_loption_minus_start_ = 
-# 59 "standard.mly"
-    ( x )
-# 17979 "parser_cocci_menhir.ml"
+        let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
+        let a : 'tv_expr = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_expr_eexpr_ = 
+# 2239 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23091 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17986,13 +23098,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_loption_not_ceq_ = 
-# 57 "standard.mly"
-    ( [] )
-# 17996 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
+        let a : 'tv_fun_after_stm = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = 
+# 2239 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23121 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18004,19 +23129,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = x;
-          MenhirLib.EngineTypes.startp = _startpos_x_;
-          MenhirLib.EngineTypes.endp = _endpos_x_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let x : 'tv_not_ceq = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_x_ in
-        let _v : 'tv_loption_not_ceq_ = 
-# 59 "standard.mly"
-    ( x )
-# 18020 "parser_cocci_menhir.ml"
+        let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
+        let a : 'tv_fun_start = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_fun_start_fun_start_ = 
+# 2239 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23151 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18027,13 +23158,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_loption_not_pos_ = 
-# 57 "standard.mly"
-    ( [] )
-# 18037 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_list_mzl_mctype__ = Obj.magic b in
+        let a : 'tv_mctype = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_mctype_mctype_ = 
+# 2239 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23181 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18045,19 +23189,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = x;
-          MenhirLib.EngineTypes.startp = _startpos_x_;
-          MenhirLib.EngineTypes.endp = _endpos_x_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let x : 'tv_not_pos = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_x_ in
-        let _v : 'tv_loption_not_pos_ = 
-# 59 "standard.mly"
-    ( x )
-# 18061 "parser_cocci_menhir.ml"
+        let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
+        let a : 'tv_rule_elem_statement = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = 
+# 2239 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23211 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18068,13 +23218,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_loption_plus_start_ = 
-# 57 "standard.mly"
-    ( [] )
-# 18078 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_list_mzl_statement__ = Obj.magic b in
+        let a : 'tv_statement = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_statement_statement_ = 
+# 2239 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 23241 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18086,19 +23249,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = x;
-          MenhirLib.EngineTypes.startp = _startpos_x_;
-          MenhirLib.EngineTypes.endp = _endpos_x_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = f;
+            MenhirLib.EngineTypes.startp = _startpos_f_;
+            MenhirLib.EngineTypes.endp = _endpos_f_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let x : 'tv_plus_start = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_x_ in
-        let _v : 'tv_loption_plus_start_ = 
-# 59 "standard.mly"
-    ( x )
-# 18102 "parser_cocci_menhir.ml"
+        let b : 'tv_loption_minus_start_ = Obj.magic b in
+        let f : 'tv_loption_filespec_ = Obj.magic f in
+        let _startpos = _startpos_f_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_minus_body = 
+# 815 "parser_cocci_menhir.mly"
+    ( match f@b(*@ew*) with
+      [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
+    | code -> Top_level.top_level code )
+# 23273 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18110,19 +23281,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = t;
-          MenhirLib.EngineTypes.startp = _startpos_t_;
-          MenhirLib.EngineTypes.endp = _endpos_t_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = f;
+            MenhirLib.EngineTypes.startp = _startpos_f_;
+            MenhirLib.EngineTypes.endp = _endpos_f_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let t : 'tv_typedef_ctype = Obj.magic t in
-        let _startpos = _startpos_t_ in
-        let _endpos = _endpos_t_ in
-        let _v : 'tv_meta_exp_type = 
-# 460 "parser_cocci_menhir.mly"
-    ( [Ast0_cocci.ast0_type_to_type t] )
-# 18126 "parser_cocci_menhir.ml"
+        let b : 'tv_top_eexpr = Obj.magic b in
+        let f : 'tv_loption_filespec_ = Obj.magic f in
+        let _startpos = _startpos_f_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_minus_exp_body = 
+# 829 "parser_cocci_menhir.mly"
+    ( match f@[b](*@ew*) with
+      [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
+    | code -> Top_level.top_level code )
+# 23305 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18134,35 +23313,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.startp = _startpos__3_;
-            MenhirLib.EngineTypes.endp = _endpos__3_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = t;
-              MenhirLib.EngineTypes.startp = _startpos_t_;
-              MenhirLib.EngineTypes.endp = _endpos_t_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.startp = _startpos__1_;
-                MenhirLib.EngineTypes.endp = _endpos__1_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let t : 'tv_comma_list_ctype_ = Obj.magic t in
+        let _1 : 'tv_minus_exp_body = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos_m_ in
-        let _v : 'tv_meta_exp_type = 
-# 462 "parser_cocci_menhir.mly"
-    ( List.map
-       (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
-       t )
-# 18166 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 207 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 23333 "parser_cocci_menhir.ml"
+        ) = 
+# 247 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 23337 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18174,33 +23345,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = m;
+            MenhirLib.EngineTypes.startp = _startpos_m_;
+            MenhirLib.EngineTypes.endp = _endpos_m_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _3 : 'tv_pure_ident = Obj.magic _3 in
-        let _1 : (
-# 47 "parser_cocci_menhir.mly"
-      (string)
-# 18197 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_meta_ident = 
-# 1391 "parser_cocci_menhir.mly"
-                                 ( (Some _1,P.id2name _3) )
-# 18204 "parser_cocci_menhir.ml"
+        let m : 'tv_minus_exp_body = Obj.magic m in
+        let _startpos = _startpos_m_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 207 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 23365 "parser_cocci_menhir.ml"
+        ) = 
+# 247 "parser_cocci_menhir.mly"
+                                                                       ( m )
+# 23369 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18212,23 +23377,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = m;
+            MenhirLib.EngineTypes.startp = _startpos_m_;
+            MenhirLib.EngineTypes.endp = _endpos_m_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let m : 'tv_metadec = Obj.magic m in
+        let m : 'tv_minus_exp_body = Obj.magic m in
         let _startpos = _startpos_m_ in
-        let _endpos = _endpos_m_ in
+        let _endpos = _endpos__2_ in
         let _v : (
-# 157 "parser_cocci_menhir.mly"
-      ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 18228 "parser_cocci_menhir.ml"
+# 207 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 23397 "parser_cocci_menhir.ml"
         ) = 
-# 181 "parser_cocci_menhir.mly"
-                       ( m (!Ast0.rule_name) )
-# 18232 "parser_cocci_menhir.ml"
+# 248 "parser_cocci_menhir.mly"
+                         ( m )
+# 23401 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18240,48 +23409,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = ispure;
-                MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = ar;
-                  MenhirLib.EngineTypes.startp = _startpos_ar_;
-                  MenhirLib.EngineTypes.endp = _endpos_ar_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 325 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta ->
-      let tok = check_meta(Ast.MetaParamDecl(arity,name)) in
-      !Data.add_param_meta name pure; tok) )
-# 18279 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18285 "parser_cocci_menhir.ml"
+        let _1 : 'tv_minus_body = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 204 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 23429 "parser_cocci_menhir.ml"
+        ) = 
+# 243 "parser_cocci_menhir.mly"
+                           ( _1 )
+# 23433 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18293,52 +23441,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__6_;
-          MenhirLib.EngineTypes.endp = _endpos__6_;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__3_;
-                MenhirLib.EngineTypes.endp = _endpos__3_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = ispure;
-                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = ar;
-                    MenhirLib.EngineTypes.startp = _startpos_ar_;
-                    MenhirLib.EngineTypes.endp = _endpos_ar_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
-                    };
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = m;
+            MenhirLib.EngineTypes.startp = _startpos_m_;
+            MenhirLib.EngineTypes.endp = _endpos_m_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__6_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 329 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta ->
-      let tok = check_meta(Ast.MetaParamListDecl(arity,name,None)) in
-      !Data.add_paramlist_meta name None pure; tok) )
-# 18336 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18342 "parser_cocci_menhir.ml"
+        let m : 'tv_minus_body = Obj.magic m in
+        let _startpos = _startpos_m_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 204 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 23461 "parser_cocci_menhir.ml"
+        ) = 
+# 243 "parser_cocci_menhir.mly"
+                                                           ( m )
+# 23465 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18350,52 +23473,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__6_;
-          MenhirLib.EngineTypes.endp = _endpos__6_;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__3_;
-                MenhirLib.EngineTypes.endp = _endpos__3_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = ispure;
-                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = ar;
-                    MenhirLib.EngineTypes.startp = _startpos_ar_;
-                    MenhirLib.EngineTypes.endp = _endpos_ar_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
-                    };
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = m;
+            MenhirLib.EngineTypes.startp = _startpos_m_;
+            MenhirLib.EngineTypes.endp = _endpos_m_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__6_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 333 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta ->
-      let tok = check_meta(Ast.MetaExpListDecl(arity,name,None)) in
-      !Data.add_explist_meta name None pure; tok) )
-# 18393 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18399 "parser_cocci_menhir.ml"
+        let m : 'tv_minus_body = Obj.magic m in
+        let _startpos = _startpos_m_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 204 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 23493 "parser_cocci_menhir.ml"
+        ) = 
+# 244 "parser_cocci_menhir.mly"
+                     ( m )
+# 23497 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18407,48 +23505,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = ispure;
-                MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = ar;
-                  MenhirLib.EngineTypes.startp = _startpos_ar_;
-                  MenhirLib.EngineTypes.endp = _endpos_ar_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 337 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta ->
-      let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in
-      !Data.add_type_meta name pure; tok) )
-# 18446 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18452 "parser_cocci_menhir.ml"
+        let _1 : 'tv_fundecl = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_minus_start = 
+# 2064 "parser_cocci_menhir.mly"
+                         ( [Ast0.wrap(Ast0.DECL(_1))] )
+# 23521 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18460,48 +23529,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = ispure;
-                MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = ar;
-                  MenhirLib.EngineTypes.startp = _startpos_ar_;
-                  MenhirLib.EngineTypes.endp = _endpos_ar_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 341 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta ->
-      let tok = check_meta(Ast.MetaInitDecl(arity,name)) in
-      !Data.add_init_meta name pure; tok) )
-# 18499 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18505 "parser_cocci_menhir.ml"
+        let _1 : 'tv_ctype = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_minus_start = 
+# 2065 "parser_cocci_menhir.mly"
+                         ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
+# 23545 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18513,48 +23553,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = ispure;
-                MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = ar;
-                  MenhirLib.EngineTypes.startp = _startpos_ar_;
-                  MenhirLib.EngineTypes.endp = _endpos_ar_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 345 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta ->
-      let tok = check_meta(Ast.MetaStmDecl(arity,name)) in
-      !Data.add_stm_meta name pure; tok) )
-# 18552 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18558 "parser_cocci_menhir.ml"
+        let _1 : 'tv_top_init = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_minus_start = 
+# 2066 "parser_cocci_menhir.mly"
+                    ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
+# 23569 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18566,52 +23577,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__6_;
-          MenhirLib.EngineTypes.endp = _endpos__6_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__3_;
-                MenhirLib.EngineTypes.endp = _endpos__3_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = ispure;
-                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = ar;
-                    MenhirLib.EngineTypes.startp = _startpos_ar_;
-                    MenhirLib.EngineTypes.endp = _endpos_ar_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
-                    };
-                  };
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__6_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 349 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta ->
-      let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in
-      !Data.add_stmlist_meta name pure; tok) )
-# 18609 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18615 "parser_cocci_menhir.ml"
+        let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_minus_start = 
+# 2068 "parser_cocci_menhir.mly"
+    ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
+# 23593 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18623,49 +23601,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = ispure;
-                MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = ar;
-                  MenhirLib.EngineTypes.startp = _startpos_ar_;
-                  MenhirLib.EngineTypes.endp = _endpos_ar_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 353 "parser_cocci_menhir.mly"
-    ( (fun arity (_,name) pure check_meta ->
-      if arity = Ast.NONE && pure = Ast0.Impure
-      then (!Data.add_type_name name; [])
-      else raise (Semantic_cocci.Semantic "bad typedef")) )
-# 18663 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18669 "parser_cocci_menhir.ml"
+        let b : 'tv_ctype = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23620 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_ctype_ = 
+# 2242 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23627 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18677,53 +23635,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__6_;
-          MenhirLib.EngineTypes.endp = _endpos__6_;
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__3_;
-                MenhirLib.EngineTypes.endp = _endpos__3_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = ispure;
-                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = ar;
-                    MenhirLib.EngineTypes.startp = _startpos_ar_;
-                    MenhirLib.EngineTypes.endp = _endpos_ar_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
-                    };
-                  };
-                };
-              };
-            };
-          } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__6_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 358 "parser_cocci_menhir.mly"
-    ( (fun arity (_,name) pure check_meta ->
-      if arity = Ast.NONE && pure = Ast0.Impure
-      then (!Data.add_declarer_name name; [])
-      else raise (Semantic_cocci.Semantic "bad declarer")) )
-# 18721 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18727 "parser_cocci_menhir.ml"
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_disj_ident = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23654 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_disj_ident_ = 
+# 2242 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23661 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18735,53 +23669,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__6_;
-          MenhirLib.EngineTypes.endp = _endpos__6_;
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__3_;
-                MenhirLib.EngineTypes.endp = _endpos__3_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = ispure;
-                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = ar;
-                    MenhirLib.EngineTypes.startp = _startpos_ar_;
-                    MenhirLib.EngineTypes.endp = _endpos_ar_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
-                    };
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__6_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 363 "parser_cocci_menhir.mly"
-    ( (fun arity (_,name) pure check_meta ->
-      if arity = Ast.NONE && pure = Ast0.Impure
-      then (!Data.add_iterator_name name; [])
-      else raise (Semantic_cocci.Semantic "bad iterator")) )
-# 18779 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 270 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18785 "parser_cocci_menhir.ml"
+        let b : 'tv_eexpr = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23688 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_eexpr_ = 
+# 2242 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23695 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18793,40 +23703,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__4_;
-          MenhirLib.EngineTypes.endp = _endpos__4_;
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__2_;
-              MenhirLib.EngineTypes.endp = _endpos__2_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.startp = _startpos__1_;
-                MenhirLib.EngineTypes.endp = _endpos__1_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = Obj.magic ids in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 319 "parser_cocci_menhir.mly"
-    ( (fun name check_meta seed ->
-      let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in
-      !Data.add_fresh_id_meta name; tok) )
-# 18824 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 273 "parser_cocci_menhir.mly"
-    ( P.create_fresh_metadec kindfn ids )
-# 18830 "parser_cocci_menhir.ml"
+        let b : 'tv_fun_after_dots_or = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23722 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_fun_after_dots_or_ = 
+# 2242 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23729 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18838,48 +23737,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = ispure;
-                MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = ar;
-                  MenhirLib.EngineTypes.startp = _startpos_ar_;
-                  MenhirLib.EngineTypes.endp = _endpos_ar_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 370 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta constraints ->
-      let tok = check_meta(Ast.MetaIdDecl(arity,name)) in
-      !Data.add_id_meta name constraints pure; tok) )
-# 18877 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 277 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 18883 "parser_cocci_menhir.ml"
+        let b : 'tv_fun_start = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23756 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_fun_start_ = 
+# 2242 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23763 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18891,48 +23771,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = ispure;
-                MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = ar;
-                  MenhirLib.EngineTypes.startp = _startpos_ar_;
-                  MenhirLib.EngineTypes.endp = _endpos_ar_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 374 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta constraints ->
-      let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in
-      !Data.add_func_meta name constraints pure; tok) )
-# 18930 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 277 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 18936 "parser_cocci_menhir.ml"
+        let b : 'tv_mctype = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23790 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_mctype_ = 
+# 2242 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23797 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18944,53 +23805,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__6_;
-          MenhirLib.EngineTypes.endp = _endpos__6_;
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__3_;
-                MenhirLib.EngineTypes.endp = _endpos__3_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = ispure;
-                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = ar;
-                    MenhirLib.EngineTypes.startp = _startpos_ar_;
-                    MenhirLib.EngineTypes.endp = _endpos_ar_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
-                    };
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__6_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 378 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta constraints ->
-      let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in
-      !Data.add_local_func_meta name constraints pure;
-      tok) )
-# 18988 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 277 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 18994 "parser_cocci_menhir.ml"
+        let b : 'tv_rule_elem_statement = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23824 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_rule_elem_statement_ = 
+# 2242 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23831 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19002,48 +23839,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = ispure;
-                MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = ar;
-                  MenhirLib.EngineTypes.startp = _startpos_ar_;
-                  MenhirLib.EngineTypes.endp = _endpos_ar_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 383 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta constraints ->
-      let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in
-      !Data.add_declarer_meta name constraints pure; tok) )
-# 19041 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 277 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19047 "parser_cocci_menhir.ml"
+        let b : 'tv_statement = Obj.magic b in
+        let a : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23858 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_statement_ = 
+# 2242 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23865 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19055,48 +23873,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = ispure;
-                MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = ar;
-                  MenhirLib.EngineTypes.startp = _startpos_ar_;
-                  MenhirLib.EngineTypes.endp = _endpos_ar_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 387 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta constraints ->
-      let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in
-      !Data.add_iterator_meta name constraints pure; tok) )
-# 19094 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 277 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19100 "parser_cocci_menhir.ml"
+        let _1 : 'tv_decl = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_name_opt_decl = 
+# 1045 "parser_cocci_menhir.mly"
+            ( _1 )
+# 23889 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19108,48 +23897,80 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.semv = rp1;
+          MenhirLib.EngineTypes.startp = _startpos_rp1_;
+          MenhirLib.EngineTypes.endp = _endpos_rp1_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.semv = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.semv = lp1;
+              MenhirLib.EngineTypes.startp = _startpos_lp1_;
+              MenhirLib.EngineTypes.endp = _endpos_lp1_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = ispure;
-                MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.semv = rp;
+                MenhirLib.EngineTypes.startp = _startpos_rp_;
+                MenhirLib.EngineTypes.endp = _endpos_rp_;
                 MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = ar;
-                  MenhirLib.EngineTypes.startp = _startpos_ar_;
-                  MenhirLib.EngineTypes.endp = _endpos_ar_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  MenhirLib.EngineTypes.semv = s;
+                  MenhirLib.EngineTypes.startp = _startpos_s_;
+                  MenhirLib.EngineTypes.endp = _endpos_s_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.semv = lp;
+                    MenhirLib.EngineTypes.startp = _startpos_lp_;
+                    MenhirLib.EngineTypes.endp = _endpos_lp_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.semv = t;
+                      MenhirLib.EngineTypes.startp = _startpos_t_;
+                      MenhirLib.EngineTypes.endp = _endpos_t_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
+                    };
                   };
                 };
               };
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 393 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta constraints ->
-      let tok = check_meta(Ast.MetaErrDecl(arity,name)) in
-      !Data.add_err_meta name constraints pure; tok) )
-# 19147 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 281 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19153 "parser_cocci_menhir.ml"
+        let rp1 : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23940 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp1 in
+        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+        let lp1 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23946 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp1 in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23951 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let s : (
+# 167 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23956 "parser_cocci_menhir.ml"
+        ) = Obj.magic s in
+        let lp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23961 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let t : 'tv_ctype = Obj.magic t in
+        let _startpos = _startpos_t_ in
+        let _endpos = _endpos_rp1_ in
+        let _v : 'tv_name_opt_decl = 
+# 1048 "parser_cocci_menhir.mly"
+        ( let fnptr =
+         Ast0.wrap
+           (Ast0.FunctionPointer
+              (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
+               P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
+       Ast0.wrap(Ast0.Param(fnptr, None)) )
+# 23974 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19161,67 +23982,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__6_;
-          MenhirLib.EngineTypes.endp = _endpos__6_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = l0;
-                MenhirLib.EngineTypes.startp = _startpos_l0_;
-                MenhirLib.EngineTypes.endp = _endpos_l0_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = ispure;
-                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = ar;
-                    MenhirLib.EngineTypes.startp = _startpos_ar_;
-                    MenhirLib.EngineTypes.endp = _endpos_ar_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
-                    };
-                  };
-                };
-              };
-            };
-          } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
-        let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__6_ in
-        let _v : 'tv_metadec = let kindfn =
-          let l = l0 in
-          let ty =
-            
-# 39 "standard.mly"
-    ( None )
-# 19206 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 397 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta constraints ->
-      match l with
-       None ->
-         !Data.add_idexp_meta ty name constraints pure;
-         check_meta(Ast.MetaIdExpDecl(arity,name,ty))
-      | Some _ ->
-         !Data.add_local_idexp_meta ty name constraints pure;
-         check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
-# 19219 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 281 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19225 "parser_cocci_menhir.ml"
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_nest_after_stm = Obj.magic _2 in
+        let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nest_after_dots = 
+# 2184 "parser_cocci_menhir.mly"
+                                     (_1@_2)
+# 24004 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19233,75 +24012,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__7_;
-          MenhirLib.EngineTypes.endp = _endpos__7_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = x00;
-              MenhirLib.EngineTypes.startp = _startpos_x00_;
-              MenhirLib.EngineTypes.endp = _endpos_x00_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__4_;
-                MenhirLib.EngineTypes.endp = _endpos__4_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = l0;
-                  MenhirLib.EngineTypes.startp = _startpos_l0_;
-                  MenhirLib.EngineTypes.endp = _endpos_l0_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.semv = ispure;
-                    MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                    MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                    MenhirLib.EngineTypes.next = {
-                      MenhirLib.EngineTypes.state = _menhir_s;
-                      MenhirLib.EngineTypes.semv = ar;
-                      MenhirLib.EngineTypes.startp = _startpos_ar_;
-                      MenhirLib.EngineTypes.endp = _endpos_ar_;
-                      MenhirLib.EngineTypes.next = _menhir_stack;
-                      };
-                    };
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
-        let x00 : 'tv_meta_exp_type = Obj.magic x00 in
-        let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__7_ in
-        let _v : 'tv_metadec = let kindfn =
-          let x0 = x00 in
-          let l = l0 in
-          let ty =
-            let x = x0 in
-            
-# 41 "standard.mly"
-    ( Some x )
-# 19286 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 397 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta constraints ->
-      match l with
-       None ->
-         !Data.add_idexp_meta ty name constraints pure;
-         check_meta(Ast.MetaIdExpDecl(arity,name,ty))
-      | Some _ ->
-         !Data.add_local_idexp_meta ty name constraints pure;
-         check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
-# 19299 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 281 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19305 "parser_cocci_menhir.ml"
+        let _2 : 'tv_nest_after_exp = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nest_after_dots = 
+# 2185 "parser_cocci_menhir.mly"
+                                (_2)
+# 24032 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19313,68 +24040,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__7_;
-          MenhirLib.EngineTypes.endp = _endpos__7_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = m0;
-              MenhirLib.EngineTypes.startp = _startpos_m0_;
-              MenhirLib.EngineTypes.endp = _endpos_m0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__4_;
-                MenhirLib.EngineTypes.endp = _endpos__4_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = l0;
-                  MenhirLib.EngineTypes.startp = _startpos_l0_;
-                  MenhirLib.EngineTypes.endp = _endpos_l0_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.semv = ispure;
-                    MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                    MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                    MenhirLib.EngineTypes.next = {
-                      MenhirLib.EngineTypes.state = _menhir_s;
-                      MenhirLib.EngineTypes.semv = ar;
-                      MenhirLib.EngineTypes.startp = _startpos_ar_;
-                      MenhirLib.EngineTypes.endp = _endpos_ar_;
-                      MenhirLib.EngineTypes.next = _menhir_stack;
-                      };
-                    };
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
-        let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
-        let l0 : 'tv_option_TLocal_ = Obj.magic l0 in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__7_ in
-        let _v : 'tv_metadec = let kindfn =
-          let m = m0 in
-          let l = l0 in
-          
-# 406 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta constraints ->
-      let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
-      match l with
-       None ->
-         !Data.add_idexp_meta ty name constraints pure;
-         check_meta(Ast.MetaIdExpDecl(arity,name,ty))
-      | Some _ ->
-         !Data.add_local_idexp_meta ty name constraints pure;
-         check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
-# 19372 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 281 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19378 "parser_cocci_menhir.ml"
+        let _2 : 'tv_nest_after_exp = Obj.magic _2 in
+        let _1 : 'tv_expr = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nest_after_dots = 
+# 2186 "parser_cocci_menhir.mly"
+                                ((Ast0.wrap(Ast0.Exp(_1)))::_2)
+# 24062 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19385,57 +24069,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.startp = _startpos__6_;
-          MenhirLib.EngineTypes.endp = _endpos__6_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = m0;
-              MenhirLib.EngineTypes.startp = _startpos_m0_;
-              MenhirLib.EngineTypes.endp = _endpos_m0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__3_;
-                MenhirLib.EngineTypes.endp = _endpos__3_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = ispure;
-                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = ar;
-                    MenhirLib.EngineTypes.startp = _startpos_ar_;
-                    MenhirLib.EngineTypes.endp = _endpos_ar_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
-                    };
-                  };
-                };
-              };
-            };
-          } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
-        let m0 : 'tv_nonempty_list_TMul_ = Obj.magic m0 in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__6_ in
-        let _v : 'tv_metadec = let kindfn =
-          let m = m0 in
-          
-# 416 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta constraints ->
-      let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in
-      let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
-      !Data.add_exp_meta ty name constraints pure; tok) )
-# 19433 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 281 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19439 "parser_cocci_menhir.ml"
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_nest_after_exp = 
+# 2194 "parser_cocci_menhir.mly"
+                                ([])
+# 24079 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19447,60 +24087,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__7_;
-          MenhirLib.EngineTypes.endp = _endpos__7_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__5_;
-              MenhirLib.EngineTypes.endp = _endpos__5_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__4_;
-                MenhirLib.EngineTypes.endp = _endpos__4_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = vl0;
-                  MenhirLib.EngineTypes.startp = _startpos_vl0_;
-                  MenhirLib.EngineTypes.endp = _endpos_vl0_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.semv = ispure;
-                    MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                    MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                    MenhirLib.EngineTypes.next = {
-                      MenhirLib.EngineTypes.state = _menhir_s;
-                      MenhirLib.EngineTypes.semv = ar;
-                      MenhirLib.EngineTypes.startp = _startpos_ar_;
-                      MenhirLib.EngineTypes.endp = _endpos_ar_;
-                      MenhirLib.EngineTypes.next = _menhir_stack;
-                      };
-                    };
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
-        let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__7_ in
-        let _v : 'tv_metadec = let kindfn =
-          let vl = vl0 in
-          
-# 421 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta constraints ->
-      let ty = Some (List.map (function x -> Type_cocci.Array x) vl) in
-      let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
-      !Data.add_exp_meta ty name constraints pure; tok) )
-# 19498 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 281 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19504 "parser_cocci_menhir.ml"
+        let _2 : 'tv_nest_after_dots = Obj.magic _2 in
+        let _1 : 'tv_stm_dots = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nest_after_exp = 
+# 2195 "parser_cocci_menhir.mly"
+                                (_1::_2)
+# 24109 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_nest_after_stm = 
+# 2189 "parser_cocci_menhir.mly"
+                                ([])
+# 24126 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19512,55 +24134,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = ispure;
-                MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = ar;
-                  MenhirLib.EngineTypes.startp = _startpos_ar_;
-                  MenhirLib.EngineTypes.endp = _endpos_ar_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_metadec = let kindfn =
-          let ty =
-            
-# 39 "standard.mly"
-    ( None )
-# 19550 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 426 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta constraints ->
-      let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
-      !Data.add_const_meta ty name constraints pure; tok) )
-# 19558 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 281 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19564 "parser_cocci_menhir.ml"
+        let _2 : 'tv_nest_after_dots = Obj.magic _2 in
+        let _1 : 'tv_stm_dots = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nest_after_stm = 
+# 2190 "parser_cocci_menhir.mly"
+                                (_1::_2)
+# 24156 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19572,63 +24164,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__6_;
-          MenhirLib.EngineTypes.endp = _endpos__6_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = x00;
-              MenhirLib.EngineTypes.startp = _startpos_x00_;
-              MenhirLib.EngineTypes.endp = _endpos_x00_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__3_;
-                MenhirLib.EngineTypes.endp = _endpos__3_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = ispure;
-                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = ar;
-                    MenhirLib.EngineTypes.startp = _startpos_ar_;
-                    MenhirLib.EngineTypes.endp = _endpos_ar_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
-                    };
-                  };
-                };
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic ids in
-        let x00 : 'tv_meta_exp_type = Obj.magic x00 in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__6_ in
-        let _v : 'tv_metadec = let kindfn =
-          let x0 = x00 in
-          let ty =
-            let x = x0 in
-            
-# 41 "standard.mly"
-    ( Some x )
-# 19618 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 426 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta constraints ->
-      let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in
-      !Data.add_const_meta ty name constraints pure; tok) )
-# 19626 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 281 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19632 "parser_cocci_menhir.ml"
+        let _2 : 'tv_nest_after_stm = Obj.magic _2 in
+        let _1 : 'tv_decl_statement = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nest_after_stm = 
+# 2191 "parser_cocci_menhir.mly"
+                                (_1@_2)
+# 24186 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19640,48 +24194,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.semv = c;
+          MenhirLib.EngineTypes.startp = _startpos_c_;
+          MenhirLib.EngineTypes.endp = _endpos_c_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.semv = e;
+            MenhirLib.EngineTypes.startp = _startpos_e_;
+            MenhirLib.EngineTypes.endp = _endpos_e_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = ispure;
-                MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = ar;
-                  MenhirLib.EngineTypes.startp = _startpos_ar_;
-                  MenhirLib.EngineTypes.endp = _endpos_ar_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic ids in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 432 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta constraints ->
-      let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in
-      !Data.add_exp_meta None name (Ast0.NotExpCstrt constraints) pure; tok) )
-# 19679 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 285 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19685 "parser_cocci_menhir.ml"
+        let c : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24217 "parser_cocci_menhir.ml"
+        ) = Obj.magic c in
+        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
+        let _1 : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24223 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_c_ in
+        let _v : 'tv_nest_expressions = 
+# 1424 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
+                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+                             P.clt2mcode "...>" c, None, false)) )
+# 24232 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19693,68 +24240,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.semv = c;
+          MenhirLib.EngineTypes.startp = _startpos_c_;
+          MenhirLib.EngineTypes.endp = _endpos_c_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.semv = e;
+            MenhirLib.EngineTypes.startp = _startpos_e_;
+            MenhirLib.EngineTypes.endp = _endpos_e_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = vl0;
-              MenhirLib.EngineTypes.startp = _startpos_vl0_;
-              MenhirLib.EngineTypes.endp = _endpos_vl0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = ispure;
-                MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = ar;
-                  MenhirLib.EngineTypes.startp = _startpos_ar_;
-                  MenhirLib.EngineTypes.endp = _endpos_ar_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic ids in
-        let vl0 : 'tv_meta_exp_type = Obj.magic vl0 in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_metadec = let kindfn =
-          let vl = vl0 in
-          
-# 436 "parser_cocci_menhir.mly"
-    ( (fun arity name pure check_meta constraints ->
-      let ty = Some vl in
-      List.iter
-       (function c ->
-         match Ast0.unwrap c with
-           Ast0.Constant(_) ->
-             if not
-                 (List.exists
-                    (function
-                        Type_cocci.BaseType(Type_cocci.IntType) -> true
-                      | Type_cocci.BaseType(Type_cocci.ShortType) -> true
-                      | Type_cocci.BaseType(Type_cocci.LongType) -> true
-                      | _ -> false)
-                    vl)
-             then failwith "metavariable with int constraint must be an int"
-         | _ -> ())
-       constraints;
-      let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
-      !Data.add_exp_meta ty name (Ast0.NotExpCstrt constraints) pure; tok)
-    )
-# 19752 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 285 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19758 "parser_cocci_menhir.ml"
+        let c : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24263 "parser_cocci_menhir.ml"
+        ) = Obj.magic c in
+        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
+        let _1 : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24269 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_c_ in
+        let _v : 'tv_nest_expressions = 
+# 1428 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
+                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+                             P.clt2mcode "...+>" c, None, true)) )
+# 24278 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19766,45 +24286,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = a;
-              MenhirLib.EngineTypes.startp = _startpos_a_;
-              MenhirLib.EngineTypes.endp = _endpos_a_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__2_;
-                MenhirLib.EngineTypes.endp = _endpos__2_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = ar;
-                  MenhirLib.EngineTypes.startp = _startpos_ar_;
-                  MenhirLib.EngineTypes.endp = _endpos_ar_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
-        let a : 'tv_option_TPosAny_ = Obj.magic a in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_metadec = 
-# 291 "parser_cocci_menhir.mly"
-    ( (if !Data.in_generating
-      then failwith "position variables not allowed in a generated rule file");
-      let kindfn arity name pure check_meta constraints =
-      let tok = check_meta(Ast.MetaPosDecl(arity,name)) in
-      let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in
-      !Data.add_pos_meta name constraints any; tok in
-    P.create_metadec_with_constraints ar false kindfn ids )
-# 19808 "parser_cocci_menhir.ml"
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 24299 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_nest_expressions = 
+# 1431 "parser_cocci_menhir.mly"
+        ( tmeta_to_exp _1 )
+# 24306 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19816,62 +24314,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__9_;
-          MenhirLib.EngineTypes.endp = _endpos__9_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__7_;
-              MenhirLib.EngineTypes.endp = _endpos__7_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = id;
-                MenhirLib.EngineTypes.startp = _startpos_id_;
-                MenhirLib.EngineTypes.endp = _endpos_id_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.startp = _startpos__5_;
-                  MenhirLib.EngineTypes.endp = _endpos__5_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.startp = _startpos__4_;
-                    MenhirLib.EngineTypes.endp = _endpos__4_;
-                    MenhirLib.EngineTypes.next = {
-                      MenhirLib.EngineTypes.startp = _startpos__3_;
-                      MenhirLib.EngineTypes.endp = _endpos__3_;
-                      MenhirLib.EngineTypes.next = {
-                        MenhirLib.EngineTypes.semv = ispure;
-                        MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                        MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                        MenhirLib.EngineTypes.next = {
-                          MenhirLib.EngineTypes.state = _menhir_s;
-                          MenhirLib.EngineTypes.semv = ar;
-                          MenhirLib.EngineTypes.startp = _startpos_ar_;
-                          MenhirLib.EngineTypes.endp = _endpos_ar_;
-                          MenhirLib.EngineTypes.next = _menhir_stack;
-                          };
-                        };
-                      };
-                    };
-                  };
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
-        let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__9_ in
-        let _v : 'tv_metadec = 
-# 301 "parser_cocci_menhir.mly"
-    ( P.create_len_metadec ar ispure
-       (fun lenname arity name pure check_meta ->
-         let tok =
-           check_meta(Ast.MetaParamListDecl(arity,name,Some lenname)) in
-         !Data.add_paramlist_meta name (Some lenname) pure; tok)
-       id ids )
-# 19875 "parser_cocci_menhir.ml"
+        let _1 : 'tv_nest_after_dots = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_nest_start = 
+# 2181 "parser_cocci_menhir.mly"
+                   ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 24330 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19883,62 +24338,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__9_;
-          MenhirLib.EngineTypes.endp = _endpos__9_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__7_;
-              MenhirLib.EngineTypes.endp = _endpos__7_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = id;
-                MenhirLib.EngineTypes.startp = _startpos_id_;
-                MenhirLib.EngineTypes.endp = _endpos_id_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.startp = _startpos__5_;
-                  MenhirLib.EngineTypes.endp = _endpos__5_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.startp = _startpos__4_;
-                    MenhirLib.EngineTypes.endp = _endpos__4_;
-                    MenhirLib.EngineTypes.next = {
-                      MenhirLib.EngineTypes.startp = _startpos__3_;
-                      MenhirLib.EngineTypes.endp = _endpos__3_;
-                      MenhirLib.EngineTypes.next = {
-                        MenhirLib.EngineTypes.semv = ispure;
-                        MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                        MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                        MenhirLib.EngineTypes.next = {
-                          MenhirLib.EngineTypes.state = _menhir_s;
-                          MenhirLib.EngineTypes.semv = ar;
-                          MenhirLib.EngineTypes.startp = _startpos_ar_;
-                          MenhirLib.EngineTypes.endp = _endpos_ar_;
-                          MenhirLib.EngineTypes.next = _menhir_stack;
-                          };
-                        };
-                      };
-                    };
-                  };
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
-        let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__9_ in
-        let _v : 'tv_metadec = 
-# 310 "parser_cocci_menhir.mly"
-    ( P.create_len_metadec ar ispure
-       (fun lenname arity name pure check_meta ->
-         let tok =
-           check_meta(Ast.MetaExpListDecl(arity,name,Some lenname)) in
-         !Data.add_explist_meta name (Some lenname) pure; tok)
-       id ids )
-# 19942 "parser_cocci_menhir.ml"
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : (
+# 238 "parser_cocci_menhir.mly"
+      (unit)
+# 24352 "parser_cocci_menhir.ml"
+        ) = 
+# 2309 "parser_cocci_menhir.mly"
+                    ( () )
+# 24356 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19950,25 +24364,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let b : 'tv_list_mzl_ctype__ = Obj.magic b in
-        let a : 'tv_ctype = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_midzero_list_ctype_ctype_ = 
-# 1877 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 19972 "parser_cocci_menhir.ml"
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 238 "parser_cocci_menhir.mly"
+      (unit)
+# 24382 "parser_cocci_menhir.ml"
+        ) = 
+# 2310 "parser_cocci_menhir.mly"
+                    ( () )
+# 24386 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19980,25 +24394,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
-        let a : 'tv_eexpr = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_midzero_list_eexpr_eexpr_ = 
-# 1877 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20002 "parser_cocci_menhir.ml"
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : (
+# 238 "parser_cocci_menhir.mly"
+      (unit)
+# 24408 "parser_cocci_menhir.ml"
+        ) = 
+# 2311 "parser_cocci_menhir.mly"
+                    ( () )
+# 24412 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20010,25 +24420,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.semv = dg;
+          MenhirLib.EngineTypes.startp = _startpos_dg_;
+          MenhirLib.EngineTypes.endp = _endpos_dg_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.semv = g;
+            MenhirLib.EngineTypes.startp = _startpos_g_;
+            MenhirLib.EngineTypes.endp = _endpos_g_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
-        let a : 'tv_expr = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_midzero_list_expr_eexpr_ = 
-# 1877 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20032 "parser_cocci_menhir.ml"
+        let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in
+        let g : 'tv_dexpr = Obj.magic g in
+        let _startpos = _startpos_g_ in
+        let _endpos = _endpos_dg_ in
+        let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = 
+# 1647 "parser_cocci_menhir.mly"
+  ( function dot_builder ->
+      g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
+# 24443 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20040,25 +24451,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = x;
+          MenhirLib.EngineTypes.startp = _startpos_x_;
+          MenhirLib.EngineTypes.endp = _endpos_x_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
-        let a : 'tv_fun_after_stm = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = 
-# 1877 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20062 "parser_cocci_menhir.ml"
+        let x : (
+# 167 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24464 "parser_cocci_menhir.ml"
+        ) = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_nonempty_list_TMul_ = 
+# 124 "standard.mly"
+    ( [ x ] )
+# 24471 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20070,25 +24479,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
-        let a : 'tv_fun_start = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_midzero_list_fun_start_fun_start_ = 
-# 1877 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20092 "parser_cocci_menhir.ml"
+        let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
+        let x : (
+# 167 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24498 "parser_cocci_menhir.ml"
+        ) = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_nonempty_list_TMul_ = 
+# 126 "standard.mly"
+    ( x :: xs )
+# 24505 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20100,25 +24513,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
-        let a : 'tv_rule_elem_statement = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = 
-# 1877 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20122 "parser_cocci_menhir.ml"
+        let _1 : 'tv_aexpr = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
+# 1991 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 24529 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20130,25 +24537,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let b : 'tv_list_mzl_statement__ = Obj.magic b in
-        let a : 'tv_statement = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_midzero_list_statement_statement_ = 
-# 1877 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20152 "parser_cocci_menhir.ml"
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24555 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_aexpr = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
+# 1993 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24564 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20160,27 +24572,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = f;
-            MenhirLib.EngineTypes.startp = _startpos_f_;
-            MenhirLib.EngineTypes.endp = _endpos_f_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let b : 'tv_loption_minus_start_ = Obj.magic b in
-        let f : 'tv_loption_filespec_ = Obj.magic f in
-        let _startpos = _startpos_f_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_minus_body = 
-# 604 "parser_cocci_menhir.mly"
-    ( match f@b(*@ew*) with
-      [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
-    | code -> Top_level.top_level code )
-# 20184 "parser_cocci_menhir.ml"
+        let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24596 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_aexpr = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
+# 1996 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 24606 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20192,27 +24614,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = f;
-            MenhirLib.EngineTypes.startp = _startpos_f_;
-            MenhirLib.EngineTypes.endp = _endpos_f_;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let b : 'tv_top_eexpr = Obj.magic b in
-        let f : 'tv_loption_filespec_ = Obj.magic f in
-        let _startpos = _startpos_f_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_minus_exp_body = 
-# 618 "parser_cocci_menhir.mly"
-    ( match f@[b](*@ew*) with
-      [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty")
-    | code -> Top_level.top_level code )
-# 20216 "parser_cocci_menhir.ml"
+        let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
+# 1999 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 24634 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20224,27 +24642,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = d;
+          MenhirLib.EngineTypes.startp = _startpos_d_;
+          MenhirLib.EngineTypes.endp = _endpos_d_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_minus_exp_body = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : (
-# 137 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20244 "parser_cocci_menhir.ml"
-        ) = 
-# 177 "parser_cocci_menhir.mly"
-                                   ( _1 )
-# 20248 "parser_cocci_menhir.ml"
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24655 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_d_ in
+        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
+# 2000 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24662 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20256,27 +24670,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
+          MenhirLib.EngineTypes.semv = _2;
           MenhirLib.EngineTypes.startp = _startpos__2_;
           MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = m;
-            MenhirLib.EngineTypes.startp = _startpos_m_;
-            MenhirLib.EngineTypes.endp = _endpos_m_;
+            MenhirLib.EngineTypes.semv = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let m : 'tv_minus_exp_body = Obj.magic m in
-        let _startpos = _startpos_m_ in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24688 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24693 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
         let _endpos = _endpos__2_ in
-        let _v : (
-# 137 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20276 "parser_cocci_menhir.ml"
-        ) = 
-# 177 "parser_cocci_menhir.mly"
-                                                                       ( m )
-# 20280 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
+# 2002 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24701 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20288,27 +24709,66 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = m;
-            MenhirLib.EngineTypes.startp = _startpos_m_;
-            MenhirLib.EngineTypes.endp = _endpos_m_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = d;
+              MenhirLib.EngineTypes.startp = _startpos_d_;
+              MenhirLib.EngineTypes.endp = _endpos_d_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let m : 'tv_minus_exp_body = Obj.magic m in
-        let _startpos = _startpos_m_ in
-        let _endpos = _endpos__2_ in
-        let _v : (
-# 137 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20308 "parser_cocci_menhir.ml"
-        ) = 
-# 178 "parser_cocci_menhir.mly"
-                         ( m )
-# 20312 "parser_cocci_menhir.ml"
+        let r : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic r in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24733 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24738 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
+# 2005 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 24748 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_dparam = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
+# 1991 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 24772 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20320,6 +24780,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
+          MenhirLib.EngineTypes.semv = _2;
           MenhirLib.EngineTypes.startp = _startpos__2_;
           MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
@@ -20330,17 +24791,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _1 : 'tv_minus_body = Obj.magic _1 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24798 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_dparam = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : (
-# 134 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20340 "parser_cocci_menhir.ml"
-        ) = 
-# 173 "parser_cocci_menhir.mly"
-                           ( _1 )
-# 20344 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
+# 1993 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24807 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20352,27 +24815,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = m;
-            MenhirLib.EngineTypes.startp = _startpos_m_;
-            MenhirLib.EngineTypes.endp = _endpos_m_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let m : 'tv_minus_body = Obj.magic m in
-        let _startpos = _startpos_m_ in
-        let _endpos = _endpos__2_ in
-        let _v : (
-# 134 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20372 "parser_cocci_menhir.ml"
-        ) = 
-# 173 "parser_cocci_menhir.mly"
-                                                           ( m )
-# 20376 "parser_cocci_menhir.ml"
+        let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24839 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_dparam = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
+# 1996 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 24849 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20384,27 +24857,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
+          MenhirLib.EngineTypes.semv = _2;
           MenhirLib.EngineTypes.startp = _startpos__2_;
           MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = m;
-            MenhirLib.EngineTypes.startp = _startpos_m_;
-            MenhirLib.EngineTypes.endp = _endpos_m_;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let m : 'tv_minus_body = Obj.magic m in
-        let _startpos = _startpos_m_ in
+        let _2 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : (
-# 134 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20404 "parser_cocci_menhir.ml"
-        ) = 
-# 174 "parser_cocci_menhir.mly"
-                     ( m )
-# 20408 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
+# 1999 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 24877 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20417,18 +24886,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = d;
+          MenhirLib.EngineTypes.startp = _startpos_d_;
+          MenhirLib.EngineTypes.endp = _endpos_d_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_fundecl = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_minus_start = 
-# 1686 "parser_cocci_menhir.mly"
-                         ( [Ast0.wrap(Ast0.DECL(_1))] )
-# 20432 "parser_cocci_menhir.ml"
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24898 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_d_ in
+        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
+# 2000 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24905 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20440,19 +24913,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
           } = _menhir_stack in
-        let _1 : 'tv_ctype = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_minus_start = 
-# 1687 "parser_cocci_menhir.mly"
-                         ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 20456 "parser_cocci_menhir.ml"
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24931 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24936 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
+# 2002 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24944 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20464,19 +24952,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = d;
+              MenhirLib.EngineTypes.startp = _startpos_d_;
+              MenhirLib.EngineTypes.endp = _endpos_d_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_top_init = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_minus_start = 
-# 1688 "parser_cocci_menhir.mly"
-                    ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 20480 "parser_cocci_menhir.ml"
+        let r : 'tv_continue_list_dparam_TEllipsis_ = Obj.magic r in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24976 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24981 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
+# 2005 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 24991 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20494,13 +25005,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = Obj.magic _1 in
+        let _1 : 'tv_enum_decl_one = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_minus_start = 
-# 1690 "parser_cocci_menhir.mly"
-    ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
-# 20504 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
+# 1991 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 25015 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20512,29 +25023,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let b : 'tv_ctype = Obj.magic b in
-        let a : (
-# 77 "parser_cocci_menhir.mly"
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 20531 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_ctype_ = 
-# 1880 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20538 "parser_cocci_menhir.ml"
+# 25041 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_enum_decl_one = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
+# 1993 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25050 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20546,29 +25058,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let b : 'tv_eexpr = Obj.magic b in
-        let a : (
-# 77 "parser_cocci_menhir.mly"
+        let _3 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 20565 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_eexpr_ = 
-# 1880 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20572 "parser_cocci_menhir.ml"
+# 25082 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_enum_decl_one = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
+# 1996 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 25092 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20580,29 +25100,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let b : 'tv_fun_after_dots_or = Obj.magic b in
-        let a : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20599 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_fun_after_dots_or_ = 
-# 1880 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20606 "parser_cocci_menhir.ml"
+        let _2 : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
+# 1999 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 25120 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20614,29 +25128,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = d;
+          MenhirLib.EngineTypes.startp = _startpos_d_;
+          MenhirLib.EngineTypes.endp = _endpos_d_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let b : 'tv_fun_start = Obj.magic b in
-        let a : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20633 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_fun_start_ = 
-# 1880 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20640 "parser_cocci_menhir.ml"
+        let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_d_ in
+        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
+# 2000 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25144 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20648,29 +25152,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.semv = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let b : 'tv_rule_elem_statement = Obj.magic b in
-        let a : (
-# 77 "parser_cocci_menhir.mly"
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 20667 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_rule_elem_statement_ = 
-# 1880 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20674 "parser_cocci_menhir.ml"
+# 25170 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
+# 2002 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25179 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20682,29 +25187,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.semv = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = d;
+              MenhirLib.EngineTypes.startp = _startpos_d_;
+              MenhirLib.EngineTypes.endp = _endpos_d_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let b : 'tv_statement = Obj.magic b in
-        let a : (
-# 77 "parser_cocci_menhir.mly"
+        let r : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic r in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 20701 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_statement_ = 
-# 1880 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20708 "parser_cocci_menhir.ml"
+# 25211 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : 'tv_edots_when_TEllipsis_enum_decl_one_ = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
+# 2005 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 25222 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20722,98 +25236,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_decl = Obj.magic _1 in
+        let _1 : 'tv_initialize2 = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_name_opt_decl = 
-# 825 "parser_cocci_menhir.mly"
-            ( _1 )
-# 20732 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = rp1;
-          MenhirLib.EngineTypes.startp = _startpos_rp1_;
-          MenhirLib.EngineTypes.endp = _endpos_rp1_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = d;
-            MenhirLib.EngineTypes.startp = _startpos_d_;
-            MenhirLib.EngineTypes.endp = _endpos_d_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = lp1;
-              MenhirLib.EngineTypes.startp = _startpos_lp1_;
-              MenhirLib.EngineTypes.endp = _endpos_lp1_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = rp;
-                MenhirLib.EngineTypes.startp = _startpos_rp_;
-                MenhirLib.EngineTypes.endp = _endpos_rp_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = s;
-                  MenhirLib.EngineTypes.startp = _startpos_s_;
-                  MenhirLib.EngineTypes.endp = _endpos_s_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.semv = lp;
-                    MenhirLib.EngineTypes.startp = _startpos_lp_;
-                    MenhirLib.EngineTypes.endp = _endpos_lp_;
-                    MenhirLib.EngineTypes.next = {
-                      MenhirLib.EngineTypes.state = _menhir_s;
-                      MenhirLib.EngineTypes.semv = t;
-                      MenhirLib.EngineTypes.startp = _startpos_t_;
-                      MenhirLib.EngineTypes.endp = _endpos_t_;
-                      MenhirLib.EngineTypes.next = _menhir_stack;
-                      };
-                    };
-                  };
-                };
-              };
-            };
-          } = _menhir_stack in
-        let rp1 : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20783 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp1 in
-        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
-        let lp1 : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20789 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp1 in
-        let rp : (
-# 77 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20794 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let s : (
-# 99 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20799 "parser_cocci_menhir.ml"
-        ) = Obj.magic s in
-        let lp : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20804 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp in
-        let t : 'tv_ctype = Obj.magic t in
-        let _startpos = _startpos_t_ in
-        let _endpos = _endpos_rp1_ in
-        let _v : 'tv_name_opt_decl = 
-# 828 "parser_cocci_menhir.mly"
-        ( let fnptr =
-         Ast0.wrap
-           (Ast0.FunctionPointer
-              (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp,
-               P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in
-       Ast0.wrap(Ast0.Param(fnptr, None)) )
-# 20817 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1991 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 25246 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20836,14 +25265,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_nest_after_stm = Obj.magic _2 in
-        let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25272 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_initialize2 = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : 'tv_nest_after_dots = 
-# 1801 "parser_cocci_menhir.mly"
-                                     (_1@_2)
-# 20847 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1993 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25281 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20855,23 +25289,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let _2 : 'tv_nest_after_exp = Obj.magic _2 in
+        let _3 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25313 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_initialize2 = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_nest_after_dots = 
-# 1802 "parser_cocci_menhir.mly"
-                                (_2)
-# 20875 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1996 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 25323 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20888,20 +25336,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
             MenhirLib.EngineTypes.startp = _startpos__1_;
             MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_nest_after_exp = Obj.magic _2 in
-        let _1 : 'tv_expr = Obj.magic _1 in
+        let _2 : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : 'tv_nest_after_dots = 
-# 1803 "parser_cocci_menhir.mly"
-                                ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 20905 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1999 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 25351 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20912,13 +25358,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_nest_after_exp = 
-# 1811 "parser_cocci_menhir.mly"
-                                ([])
-# 20922 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = d;
+          MenhirLib.EngineTypes.startp = _startpos_d_;
+          MenhirLib.EngineTypes.endp = _endpos_d_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_d_ in
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 2000 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25375 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20935,20 +25388,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.semv = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_nest_after_dots = Obj.magic _2 in
-        let _1 : 'tv_stm_dots = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25401 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
+        let _startpos = _startpos_d_ in
         let _endpos = _endpos__2_ in
-        let _v : 'tv_nest_after_exp = 
-# 1812 "parser_cocci_menhir.mly"
-                                (_1::_2)
-# 20952 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 2002 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25410 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20959,13 +25417,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_nest_after_stm = 
-# 1806 "parser_cocci_menhir.mly"
-                                ([])
-# 20969 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.semv = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = d;
+              MenhirLib.EngineTypes.startp = _startpos_d_;
+              MenhirLib.EngineTypes.endp = _endpos_d_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let r : 'tv_continue_list_initialize2_edots_when_TEllipsis_initialize__ = Obj.magic r in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25442 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 2005 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 25453 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20977,25 +25461,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _2 : 'tv_nest_after_dots = Obj.magic _2 in
-        let _1 : 'tv_stm_dots = Obj.magic _1 in
+        let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_nest_after_stm = 
-# 1807 "parser_cocci_menhir.mly"
-                                (_1::_2)
-# 20999 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1991 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 25477 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21018,14 +25496,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_nest_after_stm = Obj.magic _2 in
-        let _1 : 'tv_decl_statement = Obj.magic _1 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25503 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : 'tv_nest_after_stm = 
-# 1808 "parser_cocci_menhir.mly"
-                                (_1@_2)
-# 21029 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1993 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25512 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21037,13 +25520,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = c;
-          MenhirLib.EngineTypes.startp = _startpos_c_;
-          MenhirLib.EngineTypes.endp = _endpos_c_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = e;
-            MenhirLib.EngineTypes.startp = _startpos_e_;
-            MenhirLib.EngineTypes.endp = _endpos_e_;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
               MenhirLib.EngineTypes.semv = _1;
@@ -21053,25 +25536,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let c : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 21060 "parser_cocci_menhir.ml"
-        ) = Obj.magic c in
-        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
-        let _1 : (
-# 73 "parser_cocci_menhir.mly"
+        let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21066 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+# 25544 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos_c_ in
-        let _v : 'tv_nest_expressions = 
-# 1214 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
-                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
-                             P.clt2mcode "...>" c, None, false)) )
-# 21075 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1996 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 25554 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21083,41 +25562,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = c;
-          MenhirLib.EngineTypes.startp = _startpos_c_;
-          MenhirLib.EngineTypes.endp = _endpos_c_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = e;
-            MenhirLib.EngineTypes.startp = _startpos_e_;
-            MenhirLib.EngineTypes.endp = _endpos_e_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let c : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 21106 "parser_cocci_menhir.ml"
-        ) = Obj.magic c in
-        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
-        let _1 : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 21112 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _2 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _2 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos_c_ in
-        let _v : 'tv_nest_expressions = 
-# 1218 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
-                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
-                             P.clt2mcode "...+>" c, None, true)) )
-# 21121 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1999 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 25582 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21130,18 +25591,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = d;
+          MenhirLib.EngineTypes.startp = _startpos_d_;
+          MenhirLib.EngineTypes.endp = _endpos_d_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_nest_after_dots = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_nest_start = 
-# 1798 "parser_cocci_menhir.mly"
-                   ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 21145 "parser_cocci_menhir.ml"
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25603 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_d_ in
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 2000 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25610 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21153,21 +25618,105 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25636 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25641 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 2002 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25649 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = d;
+              MenhirLib.EngineTypes.startp = _startpos_d_;
+              MenhirLib.EngineTypes.endp = _endpos_d_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let r : 'tv_continue_list_one_dec_decl__TEllipsis_ = Obj.magic r in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25681 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25686 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 2005 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 25696 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
           MenhirLib.EngineTypes.startp = _startpos__1_;
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
+        let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : (
-# 168 "parser_cocci_menhir.mly"
-      (unit)
-# 21167 "parser_cocci_menhir.ml"
-        ) = 
-# 1943 "parser_cocci_menhir.mly"
-                    ( () )
-# 21171 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 1991 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 25720 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21179,25 +25728,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
+          MenhirLib.EngineTypes.semv = _2;
           MenhirLib.EngineTypes.startp = _startpos__2_;
           MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
             MenhirLib.EngineTypes.startp = _startpos__1_;
             MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25746 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : (
-# 168 "parser_cocci_menhir.mly"
-      (unit)
-# 21197 "parser_cocci_menhir.ml"
-        ) = 
-# 1944 "parser_cocci_menhir.mly"
-                    ( () )
-# 21201 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 1993 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25755 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21209,21 +25763,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
           } = _menhir_stack in
+        let _3 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25787 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : (
-# 168 "parser_cocci_menhir.mly"
-      (unit)
-# 21223 "parser_cocci_menhir.ml"
-        ) = 
-# 1945 "parser_cocci_menhir.mly"
-                    ( () )
-# 21227 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 1996 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 25797 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21235,26 +25805,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = dg;
-          MenhirLib.EngineTypes.startp = _startpos_dg_;
-          MenhirLib.EngineTypes.endp = _endpos_dg_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = g;
-            MenhirLib.EngineTypes.startp = _startpos_g_;
-            MenhirLib.EngineTypes.endp = _endpos_g_;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let dg : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = Obj.magic dg in
-        let g : 'tv_dexpr = Obj.magic g in
-        let _startpos = _startpos_g_ in
-        let _endpos = _endpos_dg_ in
-        let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = 
-# 1382 "parser_cocci_menhir.mly"
-  ( function dot_builder ->
-      g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
-# 21258 "parser_cocci_menhir.ml"
+        let _2 : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 1999 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 25825 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21267,22 +25834,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = x;
-          MenhirLib.EngineTypes.startp = _startpos_x_;
-          MenhirLib.EngineTypes.endp = _endpos_x_;
+          MenhirLib.EngineTypes.semv = d;
+          MenhirLib.EngineTypes.startp = _startpos_d_;
+          MenhirLib.EngineTypes.endp = _endpos_d_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let x : (
-# 99 "parser_cocci_menhir.mly"
+        let d : (
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21279 "parser_cocci_menhir.ml"
-        ) = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_x_ in
-        let _v : 'tv_nonempty_list_TMul_ = 
-# 124 "standard.mly"
-    ( [ x ] )
-# 21286 "parser_cocci_menhir.ml"
+# 25846 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_d_ in
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 2000 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25853 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21294,29 +25861,81 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = xs;
-          MenhirLib.EngineTypes.startp = _startpos_xs_;
-          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = x;
-            MenhirLib.EngineTypes.startp = _startpos_x_;
-            MenhirLib.EngineTypes.endp = _endpos_x_;
+            MenhirLib.EngineTypes.semv = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
-        let x : (
-# 99 "parser_cocci_menhir.mly"
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21313 "parser_cocci_menhir.ml"
-        ) = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_nonempty_list_TMul_ = 
-# 126 "standard.mly"
-    ( x :: xs )
-# 21320 "parser_cocci_menhir.ml"
+# 25879 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25884 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 2002 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25892 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = d;
+              MenhirLib.EngineTypes.startp = _startpos_d_;
+              MenhirLib.EngineTypes.endp = _endpos_d_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let r : 'tv_continue_list_one_dec_name_opt_decl__TEllipsis_ = Obj.magic r in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25924 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25929 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 2005 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 25939 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21342,13 +25961,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_not_ceq = 
-# 1519 "parser_cocci_menhir.mly"
+# 1828 "parser_cocci_menhir.mly"
          ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
           then failwith "constraints not allowed in a generated rule file");
           [i] )
-# 21352 "parser_cocci_menhir.ml"
+# 25971 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21382,13 +26001,61 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_not_ceq = 
-# 1525 "parser_cocci_menhir.mly"
+# 1834 "parser_cocci_menhir.mly"
   ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
           then failwith "constraints not allowed in a generated rule file");
           l )
-# 21392 "parser_cocci_menhir.ml"
+# 26011 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = ceq;
+          MenhirLib.EngineTypes.startp = _startpos_ceq_;
+          MenhirLib.EngineTypes.endp = _endpos_ceq_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let ceq : 'tv_not_ceq = Obj.magic ceq in
+        let _startpos = _startpos_ceq_ in
+        let _endpos = _endpos_ceq_ in
+        let _v : 'tv_not_ceq_or_sub = 
+# 1804 "parser_cocci_menhir.mly"
+                  (Ast0.NotExpCstrt ceq)
+# 26035 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = s;
+          MenhirLib.EngineTypes.startp = _startpos_s_;
+          MenhirLib.EngineTypes.endp = _endpos_s_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let s : 'tv_sub = Obj.magic s in
+        let _startpos = _startpos_s_ in
+        let _endpos = _endpos_s_ in
+        let _v : 'tv_not_ceq_or_sub = 
+# 1805 "parser_cocci_menhir.mly"
+                  (Ast0.SubExpCstrt s)
+# 26059 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21414,14 +26081,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_not_eqe = 
-# 1500 "parser_cocci_menhir.mly"
+# 1809 "parser_cocci_menhir.mly"
          ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
           then failwith "constraints not allowed in a generated rule file");
           [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))]
         )
-# 21425 "parser_cocci_menhir.ml"
+# 26092 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21455,7 +26122,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_not_eqe = 
-# 1507 "parser_cocci_menhir.mly"
+# 1816 "parser_cocci_menhir.mly"
   ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -21465,7 +26132,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
             l
         )
-# 21469 "parser_cocci_menhir.ml"
+# 26136 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21487,19 +26154,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let i : 'tv_pure_ident = Obj.magic i in
+        let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_not_eqid = 
-# 1479 "parser_cocci_menhir.mly"
+# 1766 "parser_cocci_menhir.mly"
          ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
            (* pb: constraints not stored with metavars; too lazy to search for
              them in the pattern *)
           then failwith "constraints not allowed in a generated rule file");
-          Ast.IdNegIdSet([fst i]) )
-# 21503 "parser_cocci_menhir.ml"
+          (match i with
+            (Some rn,id) ->
+              let i =
+                P.check_inherited_constraint i
+                  (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
+              Ast.IdNegIdSet([],[i])
+          | (None,i) -> Ast.IdNegIdSet([i],[])) )
+# 26176 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21529,18 +26202,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let l : 'tv_comma_list_pure_ident_ = Obj.magic l in
+        let l : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic l in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_not_eqid = 
-# 1487 "parser_cocci_menhir.mly"
+# 1780 "parser_cocci_menhir.mly"
   ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
           then failwith "constraints not allowed in a generated rule file");
-          Ast.IdNegIdSet(List.map fst l)
+          let (str,meta) =
+            List.fold_left
+              (function (str,meta) ->
+                function 
+                  (Some rn,id) as i ->
+                    let i =
+                      P.check_inherited_constraint i
+                        (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
+                    (str,i::meta)
+                | (None,i) -> (i::str,meta))
+              ([],[]) l in
+          Ast.IdNegIdSet(str,meta)
         )
-# 21544 "parser_cocci_menhir.ml"
+# 26228 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21566,18 +26250,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_not_pos = 
-# 1539 "parser_cocci_menhir.mly"
+# 1872 "parser_cocci_menhir.mly"
          ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
           then failwith "constraints not allowed in a generated rule file");
-          match i with
-            (None,_) -> failwith "constraint must be an inherited variable"
-          | (Some rule,name) ->
-              let i = (rule,name) in
-              P.check_meta(Ast.MetaPosDecl(Ast.NONE,i));
-              [i] )
-# 21581 "parser_cocci_menhir.ml"
+          let i =
+            P.check_inherited_constraint i
+              (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in
+          [i] )
+# 26263 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21611,21 +26293,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_not_pos = 
-# 1550 "parser_cocci_menhir.mly"
+# 1881 "parser_cocci_menhir.mly"
   ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
           then failwith "constraints not allowed in a generated rule file");
           List.map
-            (function
-                (None,_) ->
-                  failwith "constraint must be an inherited variable"
-              | (Some rule,name) ->
-                  let i = (rule,name) in
-                  P.check_meta(Ast.MetaPosDecl(Ast.NONE,i));
-                  i)
+            (function i ->
+              P.check_inherited_constraint i
+                (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)))
             l )
-# 21629 "parser_cocci_menhir.ml"
+# 26307 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21647,9 +26325,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_one_dec_decl_ = 
-# 1624 "parser_cocci_menhir.mly"
+# 1966 "parser_cocci_menhir.mly"
         ( _1 )
-# 21653 "parser_cocci_menhir.ml"
+# 26331 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21668,22 +26346,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 66 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 21674 "parser_cocci_menhir.ml"
+# 26352 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_one_dec_decl_ = 
-# 1626 "parser_cocci_menhir.mly"
+# 1968 "parser_cocci_menhir.mly"
     ( let (nm,lenname,pure,clt) = _1 in
     let nm = P.clt2mcode nm clt in
-    let lenname =
-      match lenname with
-       Some nm -> Some(P.clt2mcode nm clt)
-      | None -> None in
+      let lenname =
+       match lenname with
+         Ast.AnyLen -> Ast0.AnyListLen
+       | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
+       | Ast.CstLen n -> Ast0.CstListLen n in
     Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
-# 21687 "parser_cocci_menhir.ml"
+# 26366 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21705,9 +26384,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_one_dec_name_opt_decl_ = 
-# 1624 "parser_cocci_menhir.mly"
+# 1966 "parser_cocci_menhir.mly"
         ( _1 )
-# 21711 "parser_cocci_menhir.ml"
+# 26390 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21726,22 +26405,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 66 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 21732 "parser_cocci_menhir.ml"
+# 26411 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_one_dec_name_opt_decl_ = 
-# 1626 "parser_cocci_menhir.mly"
+# 1968 "parser_cocci_menhir.mly"
     ( let (nm,lenname,pure,clt) = _1 in
     let nm = P.clt2mcode nm clt in
-    let lenname =
-      match lenname with
-       Some nm -> Some(P.clt2mcode nm clt)
-      | None -> None in
+      let lenname =
+       match lenname with
+         Ast.AnyLen -> Ast0.AnyListLen
+       | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
+       | Ast.CstLen n -> Ast0.CstListLen n in
     Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
-# 21745 "parser_cocci_menhir.ml"
+# 26425 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21765,17 +26445,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21771 "parser_cocci_menhir.ml"
+# 26451 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
         let _endpos = _endpos_pv_ in
         let _v : 'tv_one_decl_var = 
-# 1003 "parser_cocci_menhir.mly"
+# 1225 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
-# 21779 "parser_cocci_menhir.ml"
+# 26459 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 26480 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_one_decl_var = 
+# 1226 "parser_cocci_menhir.mly"
+              ( P.meta_decl _1 )
+# 26487 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21804,9 +26512,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21810 "parser_cocci_menhir.ml"
+# 26518 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let d : 'tv_d_ident = Obj.magic d in
         let t : 'tv_ctype = Obj.magic t in
@@ -21816,14 +26524,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 21820 "parser_cocci_menhir.ml"
+# 26528 "parser_cocci_menhir.ml"
           
         in
         
-# 1005 "parser_cocci_menhir.mly"
+# 1228 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 21827 "parser_cocci_menhir.ml"
+# 26535 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21857,9 +26565,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21863 "parser_cocci_menhir.ml"
+# 26571 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let d : 'tv_d_ident = Obj.magic d in
         let t : 'tv_ctype = Obj.magic t in
@@ -21871,14 +26579,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 21875 "parser_cocci_menhir.ml"
+# 26583 "parser_cocci_menhir.ml"
           
         in
         
-# 1005 "parser_cocci_menhir.mly"
+# 1228 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 21882 "parser_cocci_menhir.ml"
+# 26590 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21900,9 +26608,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_f_ in
         let _v : 'tv_one_decl_var = 
-# 1007 "parser_cocci_menhir.mly"
+# 1230 "parser_cocci_menhir.mly"
                ( f )
-# 21906 "parser_cocci_menhir.ml"
+# 26614 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21941,15 +26649,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21947 "parser_cocci_menhir.ml"
+# 26655 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21953 "parser_cocci_menhir.ml"
+# 26661 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let d : 'tv_d_ident = Obj.magic d in
         let t : 'tv_ctype = Obj.magic t in
@@ -21959,14 +26667,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 21963 "parser_cocci_menhir.ml"
+# 26671 "parser_cocci_menhir.ml"
           
         in
         
-# 1009 "parser_cocci_menhir.mly"
+# 1232 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
-# 21970 "parser_cocci_menhir.ml"
+# 26678 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22010,15 +26718,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22016 "parser_cocci_menhir.ml"
+# 26724 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22022 "parser_cocci_menhir.ml"
+# 26730 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let d : 'tv_d_ident = Obj.magic d in
         let t : 'tv_ctype = Obj.magic t in
@@ -22030,14 +26738,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22034 "parser_cocci_menhir.ml"
+# 26742 "parser_cocci_menhir.ml"
           
         in
         
-# 1009 "parser_cocci_menhir.mly"
+# 1232 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
-# 22041 "parser_cocci_menhir.ml"
+# 26749 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22066,9 +26774,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22072 "parser_cocci_menhir.ml"
+# 26780 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let d : 'tv_d_ident = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -22078,22 +26786,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22082 "parser_cocci_menhir.ml"
+# 26790 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22089 "parser_cocci_menhir.ml"
+# 26797 "parser_cocci_menhir.ml"
           
         in
         
-# 1014 "parser_cocci_menhir.mly"
+# 1237 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
        Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
-# 22097 "parser_cocci_menhir.ml"
+# 26805 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22127,9 +26835,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22133 "parser_cocci_menhir.ml"
+# 26841 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let d : 'tv_d_ident = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -22141,22 +26849,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22145 "parser_cocci_menhir.ml"
+# 26853 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22152 "parser_cocci_menhir.ml"
+# 26860 "parser_cocci_menhir.ml"
           
         in
         
-# 1014 "parser_cocci_menhir.mly"
+# 1237 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
        Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
-# 22160 "parser_cocci_menhir.ml"
+# 26868 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22190,9 +26898,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22196 "parser_cocci_menhir.ml"
+# 26904 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let d : 'tv_d_ident = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -22203,7 +26911,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22207 "parser_cocci_menhir.ml"
+# 26915 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22211,15 +26919,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22215 "parser_cocci_menhir.ml"
+# 26923 "parser_cocci_menhir.ml"
           
         in
         
-# 1014 "parser_cocci_menhir.mly"
+# 1237 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
        Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
-# 22223 "parser_cocci_menhir.ml"
+# 26931 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22258,9 +26966,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22264 "parser_cocci_menhir.ml"
+# 26972 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let d : 'tv_d_ident = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -22273,7 +26981,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22277 "parser_cocci_menhir.ml"
+# 26985 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22281,15 +26989,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22285 "parser_cocci_menhir.ml"
+# 26993 "parser_cocci_menhir.ml"
           
         in
         
-# 1014 "parser_cocci_menhir.mly"
+# 1237 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
        Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) )
-# 22293 "parser_cocci_menhir.ml"
+# 27001 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22328,15 +27036,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22334 "parser_cocci_menhir.ml"
+# 27042 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22340 "parser_cocci_menhir.ml"
+# 27048 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let d : 'tv_d_ident = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -22346,24 +27054,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22350 "parser_cocci_menhir.ml"
+# 27058 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22357 "parser_cocci_menhir.ml"
+# 27065 "parser_cocci_menhir.ml"
           
         in
         
-# 1019 "parser_cocci_menhir.mly"
+# 1242 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       !Data.add_type_name (P.id2name i);
       let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
       Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
                           P.clt2mcode ";" pv)) )
-# 22367 "parser_cocci_menhir.ml"
+# 27075 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22407,15 +27115,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22413 "parser_cocci_menhir.ml"
+# 27121 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22419 "parser_cocci_menhir.ml"
+# 27127 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let d : 'tv_d_ident = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -22427,24 +27135,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22431 "parser_cocci_menhir.ml"
+# 27139 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22438 "parser_cocci_menhir.ml"
+# 27146 "parser_cocci_menhir.ml"
           
         in
         
-# 1019 "parser_cocci_menhir.mly"
+# 1242 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       !Data.add_type_name (P.id2name i);
       let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
       Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
                           P.clt2mcode ";" pv)) )
-# 22448 "parser_cocci_menhir.ml"
+# 27156 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22488,15 +27196,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22494 "parser_cocci_menhir.ml"
+# 27202 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22500 "parser_cocci_menhir.ml"
+# 27208 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let d : 'tv_d_ident = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -22507,7 +27215,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22511 "parser_cocci_menhir.ml"
+# 27219 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22515,17 +27223,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22519 "parser_cocci_menhir.ml"
+# 27227 "parser_cocci_menhir.ml"
           
         in
         
-# 1019 "parser_cocci_menhir.mly"
+# 1242 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       !Data.add_type_name (P.id2name i);
       let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
       Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
                           P.clt2mcode ";" pv)) )
-# 22529 "parser_cocci_menhir.ml"
+# 27237 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22574,15 +27282,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22580 "parser_cocci_menhir.ml"
+# 27288 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22586 "parser_cocci_menhir.ml"
+# 27294 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let d : 'tv_d_ident = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
@@ -22595,7 +27303,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22599 "parser_cocci_menhir.ml"
+# 27307 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22603,17 +27311,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22607 "parser_cocci_menhir.ml"
+# 27315 "parser_cocci_menhir.ml"
           
         in
         
-# 1019 "parser_cocci_menhir.mly"
+# 1242 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       !Data.add_type_name (P.id2name i);
       let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
       Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e,
                           P.clt2mcode ";" pv)) )
-# 22617 "parser_cocci_menhir.ml"
+# 27325 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22672,36 +27380,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22678 "parser_cocci_menhir.ml"
+# 27386 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22683 "parser_cocci_menhir.ml"
+# 27391 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22689 "parser_cocci_menhir.ml"
+# 27397 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22694 "parser_cocci_menhir.ml"
+# 27402 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22700 "parser_cocci_menhir.ml"
+# 27408 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22705 "parser_cocci_menhir.ml"
+# 27413 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -22710,11 +27418,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22714 "parser_cocci_menhir.ml"
+# 27422 "parser_cocci_menhir.ml"
           
         in
         
-# 1029 "parser_cocci_menhir.mly"
+# 1252 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -22722,7 +27430,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
                P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
         Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 22726 "parser_cocci_menhir.ml"
+# 27434 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22786,36 +27494,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22792 "parser_cocci_menhir.ml"
+# 27500 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22797 "parser_cocci_menhir.ml"
+# 27505 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22803 "parser_cocci_menhir.ml"
+# 27511 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22808 "parser_cocci_menhir.ml"
+# 27516 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22814 "parser_cocci_menhir.ml"
+# 27522 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22819 "parser_cocci_menhir.ml"
+# 27527 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
@@ -22826,11 +27534,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22830 "parser_cocci_menhir.ml"
+# 27538 "parser_cocci_menhir.ml"
           
         in
         
-# 1029 "parser_cocci_menhir.mly"
+# 1252 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -22838,7 +27546,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
                P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
         Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 22842 "parser_cocci_menhir.ml"
+# 27550 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22877,29 +27585,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _5 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22883 "parser_cocci_menhir.ml"
+# 27591 "parser_cocci_menhir.ml"
         ) = Obj.magic _5 in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22888 "parser_cocci_menhir.ml"
+# 27596 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22894 "parser_cocci_menhir.ml"
+# 27602 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_decl_ident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : 'tv_one_decl_var = 
-# 1037 "parser_cocci_menhir.mly"
+# 1260 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
                                  P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
-# 22903 "parser_cocci_menhir.ml"
+# 27611 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22968,42 +27676,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22974 "parser_cocci_menhir.ml"
+# 27682 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22980 "parser_cocci_menhir.ml"
+# 27688 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22985 "parser_cocci_menhir.ml"
+# 27693 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22991 "parser_cocci_menhir.ml"
+# 27699 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22996 "parser_cocci_menhir.ml"
+# 27704 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23002 "parser_cocci_menhir.ml"
+# 27710 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23007 "parser_cocci_menhir.ml"
+# 27715 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -23012,11 +27720,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 23016 "parser_cocci_menhir.ml"
+# 27724 "parser_cocci_menhir.ml"
           
         in
         
-# 1043 "parser_cocci_menhir.mly"
+# 1266 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -23024,7 +27732,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
                P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
       Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
-# 23028 "parser_cocci_menhir.ml"
+# 27736 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23098,42 +27806,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23104 "parser_cocci_menhir.ml"
+# 27812 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23110 "parser_cocci_menhir.ml"
+# 27818 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23115 "parser_cocci_menhir.ml"
+# 27823 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23121 "parser_cocci_menhir.ml"
+# 27829 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23126 "parser_cocci_menhir.ml"
+# 27834 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23132 "parser_cocci_menhir.ml"
+# 27840 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23137 "parser_cocci_menhir.ml"
+# 27845 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
@@ -23144,11 +27852,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 23148 "parser_cocci_menhir.ml"
+# 27856 "parser_cocci_menhir.ml"
           
         in
         
-# 1043 "parser_cocci_menhir.mly"
+# 1266 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -23156,7 +27864,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
                P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
       Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)))
-# 23160 "parser_cocci_menhir.ml"
+# 27868 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23173,7 +27881,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TLocal_ = 
 # 29 "standard.mly"
     ( None )
-# 23177 "parser_cocci_menhir.ml"
+# 27885 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23197,7 +27905,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TLocal_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23201 "parser_cocci_menhir.ml"
+# 27909 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23214,7 +27922,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TPosAny_ = 
 # 29 "standard.mly"
     ( None )
-# 23218 "parser_cocci_menhir.ml"
+# 27926 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23238,7 +27946,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TPosAny_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23242 "parser_cocci_menhir.ml"
+# 27950 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23255,7 +27963,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_eexpr_ = 
 # 29 "standard.mly"
     ( None )
-# 23259 "parser_cocci_menhir.ml"
+# 27967 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23279,7 +27987,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_eexpr_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23283 "parser_cocci_menhir.ml"
+# 27991 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23293,10 +28001,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
         let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
         let _endpos = _startpos in
-        let _v : 'tv_option_re_or_not_eqe_ = 
+        let _v : 'tv_option_not_ceq_or_sub_ = 
 # 29 "standard.mly"
     ( None )
-# 23300 "parser_cocci_menhir.ml"
+# 28008 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23314,13 +28022,54 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos_x_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let x : 'tv_re_or_not_eqe = Obj.magic x in
+        let x : 'tv_not_ceq_or_sub = Obj.magic x in
         let _startpos = _startpos_x_ in
         let _endpos = _endpos_x_ in
-        let _v : 'tv_option_re_or_not_eqe_ = 
+        let _v : 'tv_option_not_ceq_or_sub_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23324 "parser_cocci_menhir.ml"
+# 28032 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
+        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
+        let _endpos = _startpos in
+        let _v : 'tv_option_re_or_not_eqe_or_sub_ = 
+# 29 "standard.mly"
+    ( None )
+# 28049 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = x;
+          MenhirLib.EngineTypes.startp = _startpos_x_;
+          MenhirLib.EngineTypes.endp = _endpos_x_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let x : 'tv_re_or_not_eqe_or_sub = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_option_re_or_not_eqe_or_sub_ = 
+# 31 "standard.mly"
+    ( Some x )
+# 28073 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23337,7 +28086,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_re_or_not_eqid_ = 
 # 29 "standard.mly"
     ( None )
-# 23341 "parser_cocci_menhir.ml"
+# 28090 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23361,7 +28110,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_re_or_not_eqid_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23365 "parser_cocci_menhir.ml"
+# 28114 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23376,9 +28125,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
         let _endpos = _startpos in
         let _v : 'tv_plus_after_dots = 
-# 1748 "parser_cocci_menhir.mly"
+# 2131 "parser_cocci_menhir.mly"
                                                                          ([])
-# 23382 "parser_cocci_menhir.ml"
+# 28131 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23404,9 +28153,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1749 "parser_cocci_menhir.mly"
+# 2132 "parser_cocci_menhir.mly"
                                                                          (_2)
-# 23410 "parser_cocci_menhir.ml"
+# 28159 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23434,9 +28183,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1751 "parser_cocci_menhir.mly"
+# 2134 "parser_cocci_menhir.mly"
                      ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 23440 "parser_cocci_menhir.ml"
+# 28189 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23464,9 +28213,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1752 "parser_cocci_menhir.mly"
+# 2135 "parser_cocci_menhir.mly"
                                              ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 23470 "parser_cocci_menhir.ml"
+# 28219 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23494,9 +28243,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1754 "parser_cocci_menhir.mly"
+# 2137 "parser_cocci_menhir.mly"
                 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 23500 "parser_cocci_menhir.ml"
+# 28249 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23511,9 +28260,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
         let _endpos = _startpos in
         let _v : 'tv_plus_after_exp = 
-# 1744 "parser_cocci_menhir.mly"
+# 2127 "parser_cocci_menhir.mly"
                                                                          ([])
-# 23517 "parser_cocci_menhir.ml"
+# 28266 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23541,9 +28290,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_exp = 
-# 1745 "parser_cocci_menhir.mly"
+# 2128 "parser_cocci_menhir.mly"
                                           ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 23547 "parser_cocci_menhir.ml"
+# 28296 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23558,9 +28307,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
         let _endpos = _startpos in
         let _v : 'tv_plus_after_stm = 
-# 1757 "parser_cocci_menhir.mly"
+# 2140 "parser_cocci_menhir.mly"
                                                                          ([])
-# 23564 "parser_cocci_menhir.ml"
+# 28313 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23588,9 +28337,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_stm = 
-# 1758 "parser_cocci_menhir.mly"
+# 2141 "parser_cocci_menhir.mly"
                                           ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 23594 "parser_cocci_menhir.ml"
+# 28343 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23618,9 +28367,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_stm = 
-# 1759 "parser_cocci_menhir.mly"
+# 2142 "parser_cocci_menhir.mly"
                                              ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 23624 "parser_cocci_menhir.ml"
+# 28373 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23648,9 +28397,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_stm = 
-# 1761 "parser_cocci_menhir.mly"
+# 2144 "parser_cocci_menhir.mly"
                 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 23654 "parser_cocci_menhir.ml"
+# 28403 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23678,9 +28427,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_b_ in
         let _v : 'tv_plus_body = 
-# 612 "parser_cocci_menhir.mly"
+# 823 "parser_cocci_menhir.mly"
     ( Top_level.top_level (f@b(*@ew*)) )
-# 23684 "parser_cocci_menhir.ml"
+# 28433 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23708,9 +28457,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_b_ in
         let _v : 'tv_plus_exp_body = 
-# 626 "parser_cocci_menhir.mly"
+# 837 "parser_cocci_menhir.mly"
     ( Top_level.top_level (f@[b](*@ew*)) )
-# 23714 "parser_cocci_menhir.ml"
+# 28463 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23736,13 +28485,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 143 "parser_cocci_menhir.mly"
+# 213 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 23742 "parser_cocci_menhir.ml"
+# 28491 "parser_cocci_menhir.ml"
         ) = 
-# 179 "parser_cocci_menhir.mly"
+# 249 "parser_cocci_menhir.mly"
                                  ( _1 )
-# 23746 "parser_cocci_menhir.ml"
+# 28495 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23768,13 +28517,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_p_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 143 "parser_cocci_menhir.mly"
+# 213 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 23774 "parser_cocci_menhir.ml"
+# 28523 "parser_cocci_menhir.ml"
         ) = 
-# 179 "parser_cocci_menhir.mly"
+# 249 "parser_cocci_menhir.mly"
                                                                     ( p )
-# 23778 "parser_cocci_menhir.ml"
+# 28527 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23800,13 +28549,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_p_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 143 "parser_cocci_menhir.mly"
+# 213 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 23806 "parser_cocci_menhir.ml"
+# 28555 "parser_cocci_menhir.ml"
         ) = 
-# 180 "parser_cocci_menhir.mly"
+# 250 "parser_cocci_menhir.mly"
                         ( p )
-# 23810 "parser_cocci_menhir.ml"
+# 28559 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23832,13 +28581,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 140 "parser_cocci_menhir.mly"
+# 210 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 23838 "parser_cocci_menhir.ml"
+# 28587 "parser_cocci_menhir.ml"
         ) = 
-# 175 "parser_cocci_menhir.mly"
+# 245 "parser_cocci_menhir.mly"
                          ( _1 )
-# 23842 "parser_cocci_menhir.ml"
+# 28591 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23864,13 +28613,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_p_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 140 "parser_cocci_menhir.mly"
+# 210 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 23870 "parser_cocci_menhir.ml"
+# 28619 "parser_cocci_menhir.ml"
         ) = 
-# 175 "parser_cocci_menhir.mly"
+# 245 "parser_cocci_menhir.mly"
                                                         ( p )
-# 23874 "parser_cocci_menhir.ml"
+# 28623 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23896,13 +28645,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_p_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 140 "parser_cocci_menhir.mly"
+# 210 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 23902 "parser_cocci_menhir.ml"
+# 28651 "parser_cocci_menhir.ml"
         ) = 
-# 176 "parser_cocci_menhir.mly"
+# 246 "parser_cocci_menhir.mly"
                     ( p )
-# 23906 "parser_cocci_menhir.ml"
+# 28655 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23924,9 +28673,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_plus_start = 
-# 1733 "parser_cocci_menhir.mly"
+# 2116 "parser_cocci_menhir.mly"
                           ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 23930 "parser_cocci_menhir.ml"
+# 28679 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23948,9 +28697,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_plus_start = 
-# 1734 "parser_cocci_menhir.mly"
+# 2117 "parser_cocci_menhir.mly"
                      ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 23954 "parser_cocci_menhir.ml"
+# 28703 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23978,9 +28727,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1736 "parser_cocci_menhir.mly"
+# 2119 "parser_cocci_menhir.mly"
                                           ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 23984 "parser_cocci_menhir.ml"
+# 28733 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24008,9 +28757,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1738 "parser_cocci_menhir.mly"
+# 2121 "parser_cocci_menhir.mly"
                      ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 24014 "parser_cocci_menhir.ml"
+# 28763 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24038,9 +28787,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1739 "parser_cocci_menhir.mly"
+# 2122 "parser_cocci_menhir.mly"
                                              ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 24044 "parser_cocci_menhir.ml"
+# 28793 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24068,9 +28817,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1741 "parser_cocci_menhir.mly"
+# 2124 "parser_cocci_menhir.mly"
                 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 24074 "parser_cocci_menhir.ml"
+# 28823 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24089,16 +28838,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 24095 "parser_cocci_menhir.ml"
+# 28844 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pnrule = 
-# 230 "parser_cocci_menhir.mly"
+# 300 "parser_cocci_menhir.mly"
                    ( Ast.Dep      _1 )
-# 24102 "parser_cocci_menhir.ml"
+# 28851 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24121,16 +28870,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 24127 "parser_cocci_menhir.ml"
+# 28876 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_pnrule = 
-# 231 "parser_cocci_menhir.mly"
+# 301 "parser_cocci_menhir.mly"
                    ( Ast.AntiDep  _2 )
-# 24134 "parser_cocci_menhir.ml"
+# 28883 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24153,16 +28902,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 24159 "parser_cocci_menhir.ml"
+# 28908 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_pnrule = 
-# 232 "parser_cocci_menhir.mly"
+# 302 "parser_cocci_menhir.mly"
                    ( Ast.EverDep  _2 )
-# 24166 "parser_cocci_menhir.ml"
+# 28915 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24185,16 +28934,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 24191 "parser_cocci_menhir.ml"
+# 28940 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_pnrule = 
-# 233 "parser_cocci_menhir.mly"
+# 303 "parser_cocci_menhir.mly"
                    ( Ast.NeverDep _2 )
-# 24198 "parser_cocci_menhir.ml"
+# 28947 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24224,9 +28973,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_pnrule = 
-# 234 "parser_cocci_menhir.mly"
+# 304 "parser_cocci_menhir.mly"
                    ( _2 )
-# 24230 "parser_cocci_menhir.ml"
+# 28979 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24248,9 +28997,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = 
-# 1315 "parser_cocci_menhir.mly"
+# 1580 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 24254 "parser_cocci_menhir.ml"
+# 29003 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24284,24 +29033,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24290 "parser_cocci_menhir.ml"
+# 29039 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24296 "parser_cocci_menhir.ml"
+# 29045 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = 
-# 1317 "parser_cocci_menhir.mly"
+# 1582 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 24305 "parser_cocci_menhir.ml"
+# 29054 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24329,19 +29078,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_disj_ident = Obj.magic _3 in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24337 "parser_cocci_menhir.ml"
+# 29086 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = 
-# 1320 "parser_cocci_menhir.mly"
+# 1585 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 24345 "parser_cocci_menhir.ml"
+# 29094 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24369,20 +29118,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_disj_ident = Obj.magic _3 in
         let _2 : (
-# 104 "parser_cocci_menhir.mly"
+# 172 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24377 "parser_cocci_menhir.ml"
+# 29126 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = 
-# 1322 "parser_cocci_menhir.mly"
+# 1587 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 24386 "parser_cocci_menhir.ml"
+# 29135 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24406,17 +29155,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24412 "parser_cocci_menhir.ml"
+# 29161 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = 
-# 1325 "parser_cocci_menhir.mly"
+# 1590 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 24420 "parser_cocci_menhir.ml"
+# 29169 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24440,17 +29189,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24446 "parser_cocci_menhir.ml"
+# 29195 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = 
-# 1327 "parser_cocci_menhir.mly"
+# 1592 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 24454 "parser_cocci_menhir.ml"
+# 29203 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24484,25 +29233,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24490 "parser_cocci_menhir.ml"
+# 29239 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24496 "parser_cocci_menhir.ml"
+# 29245 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = 
-# 1329 "parser_cocci_menhir.mly"
+# 1594 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 24506 "parser_cocci_menhir.ml"
+# 29255 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24524,9 +29273,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_postfix_expr_eexpr_invalid_ = 
-# 1315 "parser_cocci_menhir.mly"
+# 1580 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 24530 "parser_cocci_menhir.ml"
+# 29279 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24560,24 +29309,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24566 "parser_cocci_menhir.ml"
+# 29315 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24572 "parser_cocci_menhir.ml"
+# 29321 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_postfix_expr_eexpr_invalid_ = 
-# 1317 "parser_cocci_menhir.mly"
+# 1582 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 24581 "parser_cocci_menhir.ml"
+# 29330 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24605,19 +29354,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_disj_ident = Obj.magic _3 in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24613 "parser_cocci_menhir.ml"
+# 29362 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_postfix_expr_eexpr_invalid_ = 
-# 1320 "parser_cocci_menhir.mly"
+# 1585 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 24621 "parser_cocci_menhir.ml"
+# 29370 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24645,20 +29394,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_disj_ident = Obj.magic _3 in
         let _2 : (
-# 104 "parser_cocci_menhir.mly"
+# 172 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24653 "parser_cocci_menhir.ml"
+# 29402 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_postfix_expr_eexpr_invalid_ = 
-# 1322 "parser_cocci_menhir.mly"
+# 1587 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 24662 "parser_cocci_menhir.ml"
+# 29411 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24682,17 +29431,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24688 "parser_cocci_menhir.ml"
+# 29437 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_postfix_expr_eexpr_invalid_ = 
-# 1325 "parser_cocci_menhir.mly"
+# 1590 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 24696 "parser_cocci_menhir.ml"
+# 29445 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24716,17 +29465,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24722 "parser_cocci_menhir.ml"
+# 29471 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_postfix_expr_eexpr_invalid_ = 
-# 1327 "parser_cocci_menhir.mly"
+# 1592 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 24730 "parser_cocci_menhir.ml"
+# 29479 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24760,25 +29509,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24766 "parser_cocci_menhir.ml"
+# 29515 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24772 "parser_cocci_menhir.ml"
+# 29521 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_postfix_expr_eexpr_invalid_ = 
-# 1329 "parser_cocci_menhir.mly"
+# 1594 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 24782 "parser_cocci_menhir.ml"
+# 29531 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24800,9 +29549,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = 
-# 1315 "parser_cocci_menhir.mly"
+# 1580 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 24806 "parser_cocci_menhir.ml"
+# 29555 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24836,24 +29585,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24842 "parser_cocci_menhir.ml"
+# 29591 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24848 "parser_cocci_menhir.ml"
+# 29597 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = 
-# 1317 "parser_cocci_menhir.mly"
+# 1582 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 24857 "parser_cocci_menhir.ml"
+# 29606 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24881,19 +29630,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_disj_ident = Obj.magic _3 in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24889 "parser_cocci_menhir.ml"
+# 29638 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = 
-# 1320 "parser_cocci_menhir.mly"
+# 1585 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 24897 "parser_cocci_menhir.ml"
+# 29646 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24921,20 +29670,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_disj_ident = Obj.magic _3 in
         let _2 : (
-# 104 "parser_cocci_menhir.mly"
+# 172 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24929 "parser_cocci_menhir.ml"
+# 29678 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = 
-# 1322 "parser_cocci_menhir.mly"
+# 1587 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 24938 "parser_cocci_menhir.ml"
+# 29687 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24958,17 +29707,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24964 "parser_cocci_menhir.ml"
+# 29713 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = 
-# 1325 "parser_cocci_menhir.mly"
+# 1590 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 24972 "parser_cocci_menhir.ml"
+# 29721 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24992,17 +29741,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24998 "parser_cocci_menhir.ml"
+# 29747 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = 
-# 1327 "parser_cocci_menhir.mly"
+# 1592 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 25006 "parser_cocci_menhir.ml"
+# 29755 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25036,25 +29785,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25042 "parser_cocci_menhir.ml"
+# 29791 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25048 "parser_cocci_menhir.ml"
+# 29797 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = 
-# 1329 "parser_cocci_menhir.mly"
+# 1594 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 25058 "parser_cocci_menhir.ml"
+# 29807 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25076,9 +29825,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_postfix_expr_expr_invalid_ = 
-# 1315 "parser_cocci_menhir.mly"
+# 1580 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 25082 "parser_cocci_menhir.ml"
+# 29831 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25112,24 +29861,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25118 "parser_cocci_menhir.ml"
+# 29867 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 102 "parser_cocci_menhir.mly"
+# 170 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25124 "parser_cocci_menhir.ml"
+# 29873 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_postfix_expr_expr_invalid_ = 
-# 1317 "parser_cocci_menhir.mly"
+# 1582 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 25133 "parser_cocci_menhir.ml"
+# 29882 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25157,19 +29906,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_disj_ident = Obj.magic _3 in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25165 "parser_cocci_menhir.ml"
+# 29914 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_postfix_expr_expr_invalid_ = 
-# 1320 "parser_cocci_menhir.mly"
+# 1585 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 25173 "parser_cocci_menhir.ml"
+# 29922 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25197,20 +29946,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_disj_ident = Obj.magic _3 in
         let _2 : (
-# 104 "parser_cocci_menhir.mly"
+# 172 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25205 "parser_cocci_menhir.ml"
+# 29954 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_postfix_expr_expr_invalid_ = 
-# 1322 "parser_cocci_menhir.mly"
+# 1587 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 25214 "parser_cocci_menhir.ml"
+# 29963 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25234,17 +29983,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25240 "parser_cocci_menhir.ml"
+# 29989 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_postfix_expr_expr_invalid_ = 
-# 1325 "parser_cocci_menhir.mly"
+# 1590 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 25248 "parser_cocci_menhir.ml"
+# 29997 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25268,17 +30017,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25274 "parser_cocci_menhir.ml"
+# 30023 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_postfix_expr_expr_invalid_ = 
-# 1327 "parser_cocci_menhir.mly"
+# 1592 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 25282 "parser_cocci_menhir.ml"
+# 30031 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25312,25 +30061,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25318 "parser_cocci_menhir.ml"
+# 30067 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25324 "parser_cocci_menhir.ml"
+# 30073 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_postfix_expr_expr_invalid_ = 
-# 1329 "parser_cocci_menhir.mly"
+# 1594 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 25334 "parser_cocci_menhir.ml"
+# 30083 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25352,9 +30101,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
-# 1334 "parser_cocci_menhir.mly"
+# 1599 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 25358 "parser_cocci_menhir.ml"
+# 30107 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25373,17 +30122,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25379 "parser_cocci_menhir.ml"
+# 30128 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
-# 1336 "parser_cocci_menhir.mly"
+# 1601 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 25387 "parser_cocci_menhir.ml"
+# 30136 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25402,17 +30151,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25408 "parser_cocci_menhir.ml"
+# 30157 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
-# 1339 "parser_cocci_menhir.mly"
+# 1604 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 25416 "parser_cocci_menhir.ml"
+# 30165 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25431,17 +30180,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25437 "parser_cocci_menhir.ml"
+# 30186 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
-# 1342 "parser_cocci_menhir.mly"
+# 1607 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 25445 "parser_cocci_menhir.ml"
+# 30194 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25460,17 +30209,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25466 "parser_cocci_menhir.ml"
+# 30215 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
-# 1345 "parser_cocci_menhir.mly"
+# 1610 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 25474 "parser_cocci_menhir.ml"
+# 30223 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25489,18 +30238,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25495 "parser_cocci_menhir.ml"
+# 30244 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
-# 1348 "parser_cocci_menhir.mly"
+# 1613 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
-# 25504 "parser_cocci_menhir.ml"
+# 30253 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25519,17 +30268,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 63 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 25525 "parser_cocci_menhir.ml"
+# 30274 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
-# 1352 "parser_cocci_menhir.mly"
+# 1617 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 25533 "parser_cocci_menhir.ml"
+# 30282 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25548,18 +30297,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25554 "parser_cocci_menhir.ml"
+# 30303 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
-# 1355 "parser_cocci_menhir.mly"
+# 1620 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
-# 25563 "parser_cocci_menhir.ml"
+# 30312 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25578,18 +30327,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25584 "parser_cocci_menhir.ml"
+# 30333 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
-# 1359 "parser_cocci_menhir.mly"
+# 1624 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
-# 25593 "parser_cocci_menhir.ml"
+# 30342 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25608,18 +30357,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25614 "parser_cocci_menhir.ml"
+# 30363 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
-# 1363 "parser_cocci_menhir.mly"
+# 1628 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
-# 25623 "parser_cocci_menhir.ml"
+# 30372 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25648,23 +30397,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25654 "parser_cocci_menhir.ml"
+# 30403 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25660 "parser_cocci_menhir.ml"
+# 30409 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
-# 1367 "parser_cocci_menhir.mly"
+# 1632 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 25668 "parser_cocci_menhir.ml"
+# 30417 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25693,25 +30442,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25699 "parser_cocci_menhir.ml"
+# 30448 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25705 "parser_cocci_menhir.ml"
+# 30454 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
-# 1370 "parser_cocci_menhir.mly"
+# 1635 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 25715 "parser_cocci_menhir.ml"
+# 30464 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25733,9 +30482,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_dot_expressions_ = 
-# 1374 "parser_cocci_menhir.mly"
+# 1639 "parser_cocci_menhir.mly"
                  ( _1 )
-# 25739 "parser_cocci_menhir.ml"
+# 30488 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25757,9 +30506,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1334 "parser_cocci_menhir.mly"
+# 1599 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 25763 "parser_cocci_menhir.ml"
+# 30512 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25778,17 +30527,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25784 "parser_cocci_menhir.ml"
+# 30533 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1336 "parser_cocci_menhir.mly"
+# 1601 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 25792 "parser_cocci_menhir.ml"
+# 30541 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25807,17 +30556,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25813 "parser_cocci_menhir.ml"
+# 30562 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1339 "parser_cocci_menhir.mly"
+# 1604 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 25821 "parser_cocci_menhir.ml"
+# 30570 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25836,17 +30585,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25842 "parser_cocci_menhir.ml"
+# 30591 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1342 "parser_cocci_menhir.mly"
+# 1607 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 25850 "parser_cocci_menhir.ml"
+# 30599 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25865,17 +30614,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25871 "parser_cocci_menhir.ml"
+# 30620 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1345 "parser_cocci_menhir.mly"
+# 1610 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 25879 "parser_cocci_menhir.ml"
+# 30628 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25894,18 +30643,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25900 "parser_cocci_menhir.ml"
+# 30649 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1348 "parser_cocci_menhir.mly"
+# 1613 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
-# 25909 "parser_cocci_menhir.ml"
+# 30658 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25924,17 +30673,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 63 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 25930 "parser_cocci_menhir.ml"
+# 30679 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1352 "parser_cocci_menhir.mly"
+# 1617 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 25938 "parser_cocci_menhir.ml"
+# 30687 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25953,18 +30702,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25959 "parser_cocci_menhir.ml"
+# 30708 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1355 "parser_cocci_menhir.mly"
+# 1620 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
-# 25968 "parser_cocci_menhir.ml"
+# 30717 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25983,18 +30732,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25989 "parser_cocci_menhir.ml"
+# 30738 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1359 "parser_cocci_menhir.mly"
+# 1624 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
-# 25998 "parser_cocci_menhir.ml"
+# 30747 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26013,18 +30762,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26019 "parser_cocci_menhir.ml"
+# 30768 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1363 "parser_cocci_menhir.mly"
+# 1628 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
-# 26028 "parser_cocci_menhir.ml"
+# 30777 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26053,23 +30802,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26059 "parser_cocci_menhir.ml"
+# 30808 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26065 "parser_cocci_menhir.ml"
+# 30814 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1367 "parser_cocci_menhir.mly"
+# 1632 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 26073 "parser_cocci_menhir.ml"
+# 30822 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26098,25 +30847,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26104 "parser_cocci_menhir.ml"
+# 30853 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26110 "parser_cocci_menhir.ml"
+# 30859 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1370 "parser_cocci_menhir.mly"
+# 1635 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 26120 "parser_cocci_menhir.ml"
+# 30869 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26138,9 +30887,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1374 "parser_cocci_menhir.mly"
+# 1639 "parser_cocci_menhir.mly"
                  ( _1 )
-# 26144 "parser_cocci_menhir.ml"
+# 30893 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26162,9 +30911,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
-# 1334 "parser_cocci_menhir.mly"
+# 1599 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 26168 "parser_cocci_menhir.ml"
+# 30917 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26183,17 +30932,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26189 "parser_cocci_menhir.ml"
+# 30938 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
-# 1336 "parser_cocci_menhir.mly"
+# 1601 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 26197 "parser_cocci_menhir.ml"
+# 30946 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26212,17 +30961,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26218 "parser_cocci_menhir.ml"
+# 30967 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
-# 1339 "parser_cocci_menhir.mly"
+# 1604 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 26226 "parser_cocci_menhir.ml"
+# 30975 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26241,17 +30990,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26247 "parser_cocci_menhir.ml"
+# 30996 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
-# 1342 "parser_cocci_menhir.mly"
+# 1607 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 26255 "parser_cocci_menhir.ml"
+# 31004 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26270,17 +31019,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26276 "parser_cocci_menhir.ml"
+# 31025 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
-# 1345 "parser_cocci_menhir.mly"
+# 1610 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 26284 "parser_cocci_menhir.ml"
+# 31033 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26299,18 +31048,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26305 "parser_cocci_menhir.ml"
+# 31054 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
-# 1348 "parser_cocci_menhir.mly"
+# 1613 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
-# 26314 "parser_cocci_menhir.ml"
+# 31063 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26329,17 +31078,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 63 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 26335 "parser_cocci_menhir.ml"
+# 31084 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
-# 1352 "parser_cocci_menhir.mly"
+# 1617 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 26343 "parser_cocci_menhir.ml"
+# 31092 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26358,18 +31107,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26364 "parser_cocci_menhir.ml"
+# 31113 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
-# 1355 "parser_cocci_menhir.mly"
+# 1620 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
-# 26373 "parser_cocci_menhir.ml"
+# 31122 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26388,18 +31137,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26394 "parser_cocci_menhir.ml"
+# 31143 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
-# 1359 "parser_cocci_menhir.mly"
+# 1624 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
-# 26403 "parser_cocci_menhir.ml"
+# 31152 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26418,18 +31167,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26424 "parser_cocci_menhir.ml"
+# 31173 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
-# 1363 "parser_cocci_menhir.mly"
+# 1628 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
-# 26433 "parser_cocci_menhir.ml"
+# 31182 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26458,23 +31207,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26464 "parser_cocci_menhir.ml"
+# 31213 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26470 "parser_cocci_menhir.ml"
+# 31219 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
-# 1367 "parser_cocci_menhir.mly"
+# 1632 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 26478 "parser_cocci_menhir.ml"
+# 31227 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26503,25 +31252,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26509 "parser_cocci_menhir.ml"
+# 31258 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26515 "parser_cocci_menhir.ml"
+# 31264 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
-# 1370 "parser_cocci_menhir.mly"
+# 1635 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 26525 "parser_cocci_menhir.ml"
+# 31274 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26543,9 +31292,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_nest_expressions_ = 
-# 1374 "parser_cocci_menhir.mly"
+# 1639 "parser_cocci_menhir.mly"
                  ( _1 )
-# 26549 "parser_cocci_menhir.ml"
+# 31298 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26567,9 +31316,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1334 "parser_cocci_menhir.mly"
+# 1599 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 26573 "parser_cocci_menhir.ml"
+# 31322 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26588,17 +31337,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26594 "parser_cocci_menhir.ml"
+# 31343 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1336 "parser_cocci_menhir.mly"
+# 1601 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 26602 "parser_cocci_menhir.ml"
+# 31351 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26617,17 +31366,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26623 "parser_cocci_menhir.ml"
+# 31372 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1339 "parser_cocci_menhir.mly"
+# 1604 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 26631 "parser_cocci_menhir.ml"
+# 31380 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26646,17 +31395,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26652 "parser_cocci_menhir.ml"
+# 31401 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1342 "parser_cocci_menhir.mly"
+# 1607 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 26660 "parser_cocci_menhir.ml"
+# 31409 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26675,17 +31424,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26681 "parser_cocci_menhir.ml"
+# 31430 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1345 "parser_cocci_menhir.mly"
+# 1610 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 26689 "parser_cocci_menhir.ml"
+# 31438 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26704,18 +31453,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26710 "parser_cocci_menhir.ml"
+# 31459 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1348 "parser_cocci_menhir.mly"
+# 1613 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) )
-# 26719 "parser_cocci_menhir.ml"
+# 31468 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26734,17 +31483,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 63 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 26740 "parser_cocci_menhir.ml"
+# 31489 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1352 "parser_cocci_menhir.mly"
+# 1617 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 26748 "parser_cocci_menhir.ml"
+# 31497 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26763,18 +31512,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26769 "parser_cocci_menhir.ml"
+# 31518 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1355 "parser_cocci_menhir.mly"
+# 1620 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) )
-# 26778 "parser_cocci_menhir.ml"
+# 31527 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26793,18 +31542,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26799 "parser_cocci_menhir.ml"
+# 31548 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1359 "parser_cocci_menhir.mly"
+# 1624 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) )
-# 26808 "parser_cocci_menhir.ml"
+# 31557 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26823,18 +31572,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26829 "parser_cocci_menhir.ml"
+# 31578 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1363 "parser_cocci_menhir.mly"
+# 1628 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,ty,clt) = _1 in
      Ast0.wrap
        (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) )
-# 26838 "parser_cocci_menhir.ml"
+# 31587 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26863,23 +31612,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26869 "parser_cocci_menhir.ml"
+# 31618 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26875 "parser_cocci_menhir.ml"
+# 31624 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1367 "parser_cocci_menhir.mly"
+# 1632 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 26883 "parser_cocci_menhir.ml"
+# 31632 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26908,25 +31657,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26914 "parser_cocci_menhir.ml"
+# 31663 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26920 "parser_cocci_menhir.ml"
+# 31669 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1370 "parser_cocci_menhir.mly"
+# 1635 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 26930 "parser_cocci_menhir.ml"
+# 31679 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26948,9 +31697,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1374 "parser_cocci_menhir.mly"
+# 1639 "parser_cocci_menhir.mly"
                  ( _1 )
-# 26954 "parser_cocci_menhir.ml"
+# 31703 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26970,9 +31719,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure = 
-# 190 "parser_cocci_menhir.mly"
+# 260 "parser_cocci_menhir.mly"
                  ( Ast0.Pure )
-# 26976 "parser_cocci_menhir.ml"
+# 31725 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26992,9 +31741,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure = 
-# 191 "parser_cocci_menhir.mly"
+# 261 "parser_cocci_menhir.mly"
                  ( Ast0.Context )
-# 26998 "parser_cocci_menhir.ml"
+# 31747 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27018,9 +31767,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_pure = 
-# 192 "parser_cocci_menhir.mly"
+# 262 "parser_cocci_menhir.mly"
                  ( Ast0.PureContext )
-# 27024 "parser_cocci_menhir.ml"
+# 31773 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27044,9 +31793,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_pure = 
-# 193 "parser_cocci_menhir.mly"
+# 263 "parser_cocci_menhir.mly"
                  ( Ast0.PureContext )
-# 27050 "parser_cocci_menhir.ml"
+# 31799 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27061,9 +31810,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
         let _endpos = _startpos in
         let _v : 'tv_pure = 
-# 194 "parser_cocci_menhir.mly"
+# 264 "parser_cocci_menhir.mly"
                  ( Ast0.Impure )
-# 27067 "parser_cocci_menhir.ml"
+# 31816 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27082,16 +31831,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 27088 "parser_cocci_menhir.ml"
+# 31837 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident = 
-# 1388 "parser_cocci_menhir.mly"
+# 1653 "parser_cocci_menhir.mly"
             ( _1 )
-# 27095 "parser_cocci_menhir.ml"
+# 31844 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27104,18 +31853,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
           MenhirLib.EngineTypes.startp = _startpos__1_;
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_pure_ident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1394 "parser_cocci_menhir.mly"
-                                 ( (None,P.id2name _1) )
-# 27119 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1656 "parser_cocci_menhir.mly"
+                 ( "identifier" )
+# 31866 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27128,18 +31875,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
           MenhirLib.EngineTypes.startp = _startpos__1_;
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_meta_ident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1395 "parser_cocci_menhir.mly"
-                                 ( _1 )
-# 27143 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1657 "parser_cocci_menhir.mly"
+                 ( "expression" )
+# 31888 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27158,10 +31903,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1396 "parser_cocci_menhir.mly"
-                   ( (None, "identifier") )
-# 27165 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1658 "parser_cocci_menhir.mly"
+                ( "statement" )
+# 31910 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27180,10 +31925,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1397 "parser_cocci_menhir.mly"
-                   ( (None, "expression") )
-# 27187 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1659 "parser_cocci_menhir.mly"
+               ( "function" )
+# 31932 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27202,10 +31947,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1398 "parser_cocci_menhir.mly"
-                  ( (None, "statement") )
-# 27209 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1660 "parser_cocci_menhir.mly"
+            ( "local" )
+# 31954 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27224,10 +31969,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1399 "parser_cocci_menhir.mly"
-                 ( (None, "function") )
-# 27231 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1661 "parser_cocci_menhir.mly"
+           ( "type" )
+# 31976 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27246,10 +31991,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1400 "parser_cocci_menhir.mly"
-              ( (None, "local") )
-# 27253 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1662 "parser_cocci_menhir.mly"
+                ( "parameter" )
+# 31998 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27268,10 +32013,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1401 "parser_cocci_menhir.mly"
-             ( (None, "type") )
-# 27275 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1663 "parser_cocci_menhir.mly"
+                   ( "idexpression" )
+# 32020 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27290,10 +32035,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1402 "parser_cocci_menhir.mly"
-                  ( (None, "parameter") )
-# 27297 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1664 "parser_cocci_menhir.mly"
+                  ( "initialiser" )
+# 32042 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27312,10 +32057,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1403 "parser_cocci_menhir.mly"
-                     ( (None, "idexpression") )
-# 27319 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1665 "parser_cocci_menhir.mly"
+           ( "list" )
+# 32064 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27334,10 +32079,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1404 "parser_cocci_menhir.mly"
-                    ( (None, "initialiser") )
-# 27341 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1666 "parser_cocci_menhir.mly"
+            ( "fresh" )
+# 32086 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27356,10 +32101,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1405 "parser_cocci_menhir.mly"
-             ( (None, "list") )
-# 27363 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1667 "parser_cocci_menhir.mly"
+               ( "constant" )
+# 32108 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27378,10 +32123,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1406 "parser_cocci_menhir.mly"
-              ( (None, "fresh") )
-# 27385 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1668 "parser_cocci_menhir.mly"
+            ( "error" )
+# 32130 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27400,10 +32145,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1407 "parser_cocci_menhir.mly"
-                 ( (None, "constant") )
-# 27407 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1669 "parser_cocci_menhir.mly"
+            ( "words" )
+# 32152 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27422,10 +32167,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1408 "parser_cocci_menhir.mly"
-              ( (None, "error") )
-# 27429 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1670 "parser_cocci_menhir.mly"
+           ( "pure" )
+# 32174 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27444,10 +32189,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1409 "parser_cocci_menhir.mly"
-              ( (None, "words") )
-# 27451 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1671 "parser_cocci_menhir.mly"
+              ( "context" )
+# 32196 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27466,10 +32211,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1410 "parser_cocci_menhir.mly"
-             ( (None, "pure") )
-# 27473 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1672 "parser_cocci_menhir.mly"
+                ( "generated" )
+# 32218 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27488,10 +32233,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1411 "parser_cocci_menhir.mly"
-                ( (None, "context") )
-# 27495 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1673 "parser_cocci_menhir.mly"
+              ( "typedef" )
+# 32240 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27510,10 +32255,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1412 "parser_cocci_menhir.mly"
-                  ( (None, "generated") )
-# 27517 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1674 "parser_cocci_menhir.mly"
+               ( "declarer" )
+# 32262 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27532,10 +32277,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1413 "parser_cocci_menhir.mly"
-                ( (None, "typedef") )
-# 27539 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1675 "parser_cocci_menhir.mly"
+               ( "iterator" )
+# 32284 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27554,10 +32299,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_pure_ident_or_meta_ident = 
-# 1414 "parser_cocci_menhir.mly"
-                 ( (None, "declarer") )
-# 27561 "parser_cocci_menhir.ml"
+        let _v : 'tv_pure_ident_kwd = 
+# 1676 "parser_cocci_menhir.mly"
+           ( "name" )
+# 32306 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_pure_ident_kwd = 
+# 1677 "parser_cocci_menhir.mly"
+               ( "position" )
+# 32328 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27570,16 +32337,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
           MenhirLib.EngineTypes.startp = _startpos__1_;
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
+        let _1 : 'tv_pure_ident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_or_meta_ident = 
-# 1415 "parser_cocci_menhir.mly"
-                 ( (None, "iterator") )
-# 27583 "parser_cocci_menhir.ml"
+# 1684 "parser_cocci_menhir.mly"
+                                 ( (None,P.id2name _1) )
+# 32352 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27592,16 +32361,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
           MenhirLib.EngineTypes.startp = _startpos__1_;
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
+        let _1 : 'tv_pure_ident_kwd = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_or_meta_ident = 
-# 1416 "parser_cocci_menhir.mly"
-             ( (None, "name") )
-# 27605 "parser_cocci_menhir.ml"
+# 1685 "parser_cocci_menhir.mly"
+                                 ( (None,_1) )
+# 32376 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27614,16 +32385,52 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
           MenhirLib.EngineTypes.startp = _startpos__1_;
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
+        let _1 : 'tv_meta_ident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_or_meta_ident = 
-# 1417 "parser_cocci_menhir.mly"
-                 ( (None, "position") )
-# 27627 "parser_cocci_menhir.ml"
+# 1686 "parser_cocci_menhir.mly"
+                                 ( _1 )
+# 32400 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = optc;
+          MenhirLib.EngineTypes.startp = _startpos_optc_;
+          MenhirLib.EngineTypes.endp = _endpos_optc_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = i;
+            MenhirLib.EngineTypes.startp = _startpos_i_;
+            MenhirLib.EngineTypes.endp = _endpos_i_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let optc : 'tv_option_not_ceq_or_sub_ = Obj.magic optc in
+        let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
+        let _startpos = _startpos_i_ in
+        let _endpos = _endpos_optc_ in
+        let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = 
+# 1713 "parser_cocci_menhir.mly"
+    (
+      match optc with
+         None   -> (i, Ast0.NoConstraint)
+       | Some c -> (i, c)
+    )
+# 32434 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27646,18 +32453,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let optc : 'tv_option_re_or_not_eqe_ = Obj.magic optc in
+        let optc : 'tv_option_re_or_not_eqe_or_sub_ = Obj.magic optc in
         let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
         let _startpos = _startpos_i_ in
         let _endpos = _endpos_optc_ in
-        let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_ = 
-# 1443 "parser_cocci_menhir.mly"
+        let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = 
+# 1713 "parser_cocci_menhir.mly"
     (
       match optc with
          None   -> (i, Ast0.NoConstraint)
        | Some c -> (i, c)
     )
-# 27661 "parser_cocci_menhir.ml"
+# 32468 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27685,13 +32492,86 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_i_ in
         let _endpos = _endpos_c_ in
         let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = 
-# 1451 "parser_cocci_menhir.mly"
+# 1738 "parser_cocci_menhir.mly"
     (
       match c with
          None -> (i, Ast.IdNoConstraint)
        | Some constraint_ -> (i,constraint_)
     )
-# 27695 "parser_cocci_menhir.ml"
+# 32502 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = c;
+          MenhirLib.EngineTypes.startp = _startpos_c_;
+          MenhirLib.EngineTypes.endp = _endpos_c_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = i;
+            MenhirLib.EngineTypes.startp = _startpos_i_;
+            MenhirLib.EngineTypes.endp = _endpos_i_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let c : 'tv_option_re_or_not_eqid_ = Obj.magic c in
+        let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
+        let _startpos = _startpos_i_ in
+        let _endpos = _endpos_c_ in
+        let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = 
+# 1721 "parser_cocci_menhir.mly"
+    (
+      Common.Left
+        (match c with
+         None -> (i, Ast.IdNoConstraint)
+       | Some constraint_ -> (i,constraint_))
+    )
+# 32537 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _3 : 'tv_pure_ident = Obj.magic _3 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = 
+# 1728 "parser_cocci_menhir.mly"
+    (
+     let nm = P.id2name _3 in
+     Iteration.parsed_virtual_identifiers :=
+       Common.union_set [nm]
+        !Iteration.parsed_virtual_identifiers;
+     Common.Right nm
+    )
+# 32575 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27713,9 +32593,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_or_meta_ident_with_seed = 
-# 1420 "parser_cocci_menhir.mly"
+# 1689 "parser_cocci_menhir.mly"
                                 ( (_1,Ast.NoVal) )
-# 27719 "parser_cocci_menhir.ml"
+# 32599 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27747,43 +32627,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_pure_ident_or_meta_ident_with_seed = 
-# 1423 "parser_cocci_menhir.mly"
+# 1692 "parser_cocci_menhir.mly"
   ( match _3 with
           [Ast.SeedString s] -> (_1,Ast.StringSeed s)
         | _ -> (_1,Ast.ListSeed _3) )
-# 27755 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = l;
-          MenhirLib.EngineTypes.startp = _startpos_l_;
-          MenhirLib.EngineTypes.endp = _endpos_l_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = i;
-            MenhirLib.EngineTypes.startp = _startpos_i_;
-            MenhirLib.EngineTypes.endp = _endpos_i_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
-          } = _menhir_stack in
-        let l : 'tv_loption_not_ceq_ = Obj.magic l in
-        let i : 'tv_pure_ident_or_meta_ident = Obj.magic i in
-        let _startpos = _startpos_i_ in
-        let _endpos = _endpos_l_ in
-        let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_ceq_ = 
-# 1437 "parser_cocci_menhir.mly"
-    (
-      (i, l)
-    )
-# 27787 "parser_cocci_menhir.ml"
+# 32635 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27811,11 +32659,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_i_ in
         let _endpos = _endpos_l_ in
         let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = 
-# 1437 "parser_cocci_menhir.mly"
+# 1707 "parser_cocci_menhir.mly"
     (
       (i, l)
     )
-# 27819 "parser_cocci_menhir.ml"
+# 32667 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27836,10 +32684,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let re : 'tv_regexp_eqid = Obj.magic re in
         let _startpos = _startpos_re_ in
         let _endpos = _endpos_re_ in
-        let _v : 'tv_re_or_not_eqe = 
-# 1495 "parser_cocci_menhir.mly"
-                  (Ast0.NotIdCstrt (re))
-# 27843 "parser_cocci_menhir.ml"
+        let _v : 'tv_re_or_not_eqe_or_sub = 
+# 1799 "parser_cocci_menhir.mly"
+                  (Ast0.NotIdCstrt  re)
+# 32691 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27860,10 +32708,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ne : 'tv_not_eqe = Obj.magic ne in
         let _startpos = _startpos_ne_ in
         let _endpos = _endpos_ne_ in
-        let _v : 'tv_re_or_not_eqe = 
-# 1496 "parser_cocci_menhir.mly"
-                  (Ast0.NotExpCstrt (ne))
-# 27867 "parser_cocci_menhir.ml"
+        let _v : 'tv_re_or_not_eqe_or_sub = 
+# 1800 "parser_cocci_menhir.mly"
+                  (Ast0.NotExpCstrt ne)
+# 32715 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = s;
+          MenhirLib.EngineTypes.startp = _startpos_s_;
+          MenhirLib.EngineTypes.endp = _endpos_s_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let s : 'tv_sub = Obj.magic s in
+        let _startpos = _startpos_s_ in
+        let _endpos = _endpos_s_ in
+        let _v : 'tv_re_or_not_eqe_or_sub = 
+# 1801 "parser_cocci_menhir.mly"
+                  (Ast0.SubExpCstrt s)
+# 32739 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27885,9 +32757,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_re_ in
         let _endpos = _endpos_re_ in
         let _v : 'tv_re_or_not_eqid = 
-# 1458 "parser_cocci_menhir.mly"
-                  (re)
-# 27891 "parser_cocci_menhir.ml"
+# 1745 "parser_cocci_menhir.mly"
+                  (Ast.IdRegExpConstraint re)
+# 32763 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27909,9 +32781,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_ne_ in
         let _endpos = _endpos_ne_ in
         let _v : 'tv_re_or_not_eqid = 
-# 1459 "parser_cocci_menhir.mly"
+# 1746 "parser_cocci_menhir.mly"
                   (ne)
-# 27915 "parser_cocci_menhir.ml"
+# 32787 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27934,21 +32806,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let re : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 27940 "parser_cocci_menhir.ml"
+# 32812 "parser_cocci_menhir.ml"
         ) = Obj.magic re in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_re_ in
         let _v : 'tv_regexp_eqid = 
-# 1463 "parser_cocci_menhir.mly"
+# 1750 "parser_cocci_menhir.mly"
          ( (if !Data.in_iso
            then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
            then failwith "constraints not allowed in a generated rule file");
           let (s,_) = re in Ast.IdRegExp (s,Str.regexp s)
         )
-# 27952 "parser_cocci_menhir.ml"
+# 32824 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27971,21 +32843,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let re : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 27977 "parser_cocci_menhir.ml"
+# 32849 "parser_cocci_menhir.ml"
         ) = Obj.magic re in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_re_ in
         let _v : 'tv_regexp_eqid = 
-# 1470 "parser_cocci_menhir.mly"
+# 1757 "parser_cocci_menhir.mly"
          ( (if !Data.in_iso
            then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
            then failwith "constraints not allowed in a generated rule file");
           let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s)
         )
-# 27989 "parser_cocci_menhir.ml"
+# 32861 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28000,13 +32872,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
         let _endpos = _startpos in
         let _v : (
-# 131 "parser_cocci_menhir.mly"
+# 201 "parser_cocci_menhir.mly"
       (unit)
-# 28006 "parser_cocci_menhir.ml"
+# 32878 "parser_cocci_menhir.ml"
         ) = 
-# 172 "parser_cocci_menhir.mly"
+# 242 "parser_cocci_menhir.mly"
         ( )
-# 28010 "parser_cocci_menhir.ml"
+# 32882 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28028,9 +32900,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_rule_elem_statement = 
-# 900 "parser_cocci_menhir.mly"
+# 1121 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
-# 28034 "parser_cocci_menhir.ml"
+# 32906 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28054,17 +32926,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28060 "parser_cocci_menhir.ml"
+# 32932 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_expr = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_rule_elem_statement = 
-# 901 "parser_cocci_menhir.mly"
+# 1122 "parser_cocci_menhir.mly"
                ( P.exp_stm _1 _2 )
-# 28068 "parser_cocci_menhir.ml"
+# 32940 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28093,22 +32965,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28099 "parser_cocci_menhir.ml"
+# 32971 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28105 "parser_cocci_menhir.ml"
+# 32977 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_rule_elem_statement = 
-# 902 "parser_cocci_menhir.mly"
+# 1123 "parser_cocci_menhir.mly"
                         ( P.ret_exp _1 _2 _3 )
-# 28112 "parser_cocci_menhir.ml"
+# 32984 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28132,21 +33004,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28138 "parser_cocci_menhir.ml"
+# 33010 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28143 "parser_cocci_menhir.ml"
+# 33015 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_rule_elem_statement = 
-# 903 "parser_cocci_menhir.mly"
+# 1124 "parser_cocci_menhir.mly"
                   ( P.ret _1 _2 )
-# 28150 "parser_cocci_menhir.ml"
+# 33022 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28170,21 +33042,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28176 "parser_cocci_menhir.ml"
+# 33048 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28181 "parser_cocci_menhir.ml"
+# 33053 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_rule_elem_statement = 
-# 904 "parser_cocci_menhir.mly"
+# 1125 "parser_cocci_menhir.mly"
                  ( P.break _1 _2 )
-# 28188 "parser_cocci_menhir.ml"
+# 33060 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28208,21 +33080,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28214 "parser_cocci_menhir.ml"
+# 33086 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28219 "parser_cocci_menhir.ml"
+# 33091 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_rule_elem_statement = 
-# 905 "parser_cocci_menhir.mly"
+# 1126 "parser_cocci_menhir.mly"
                     ( P.cont _1 _2 )
-# 28226 "parser_cocci_menhir.ml"
+# 33098 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28251,26 +33123,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28257 "parser_cocci_menhir.ml"
+# 33129 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28263 "parser_cocci_menhir.ml"
+# 33135 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_rule_elem_statement = 
-# 907 "parser_cocci_menhir.mly"
+# 1128 "parser_cocci_menhir.mly"
     ( let (mids,code) = _2 in
     Ast0.wrap
       (Ast0.Disj(P.clt2mcode "(" _1,
                 List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
                 mids, P.clt2mcode ")" _3)) )
-# 28274 "parser_cocci_menhir.ml"
+# 33146 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28324,20 +33196,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__7_ in
         let _v : (
-# 153 "parser_cocci_menhir.mly"
+# 223 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 28330 "parser_cocci_menhir.ml"
+# 33202 "parser_cocci_menhir.ml"
         ) = let nm =
           
 # 39 "standard.mly"
     ( None )
-# 28335 "parser_cocci_menhir.ml"
+# 33207 "parser_cocci_menhir.ml"
           
         in
         
-# 202 "parser_cocci_menhir.mly"
+# 272 "parser_cocci_menhir.mly"
       ( P.make_cocci_rule_name_result nm d i a e ee )
-# 28341 "parser_cocci_menhir.ml"
+# 33213 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28397,21 +33269,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos__8_ in
         let _v : (
-# 153 "parser_cocci_menhir.mly"
+# 223 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 28403 "parser_cocci_menhir.ml"
+# 33275 "parser_cocci_menhir.ml"
         ) = let nm =
           let x = x0 in
           
 # 41 "standard.mly"
     ( Some x )
-# 28409 "parser_cocci_menhir.ml"
+# 33281 "parser_cocci_menhir.ml"
           
         in
         
-# 202 "parser_cocci_menhir.mly"
+# 272 "parser_cocci_menhir.mly"
       ( P.make_cocci_rule_name_result nm d i a e ee )
-# 28415 "parser_cocci_menhir.ml"
+# 33287 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28469,13 +33341,172 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__8_ in
         let _v : (
-# 153 "parser_cocci_menhir.mly"
+# 223 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 28475 "parser_cocci_menhir.ml"
+# 33347 "parser_cocci_menhir.ml"
         ) = 
-# 207 "parser_cocci_menhir.mly"
+# 277 "parser_cocci_menhir.mly"
       ( P.make_generated_rule_name_result None d i a e ee )
-# 28479 "parser_cocci_menhir.ml"
+# 33351 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = lang;
+              MenhirLib.EngineTypes.startp = _startpos_lang_;
+              MenhirLib.EngineTypes.endp = _endpos_lang_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__2_;
+                MenhirLib.EngineTypes.endp = _endpos__2_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.startp = _startpos__1_;
+                  MenhirLib.EngineTypes.endp = _endpos__1_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let d : 'tv_depends = Obj.magic d in
+        let lang : 'tv_pure_ident = Obj.magic lang in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__5_ in
+        let _v : (
+# 223 "parser_cocci_menhir.mly"
+      (Ast_cocci.rulename)
+# 33393 "parser_cocci_menhir.ml"
+        ) = let nm =
+          
+# 39 "standard.mly"
+    ( None )
+# 33398 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 279 "parser_cocci_menhir.mly"
+      ( P.make_script_rule_name_result lang nm d )
+# 33404 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__6_;
+          MenhirLib.EngineTypes.endp = _endpos__6_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = lang;
+                MenhirLib.EngineTypes.startp = _startpos_lang_;
+                MenhirLib.EngineTypes.endp = _endpos_lang_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.startp = _startpos__2_;
+                  MenhirLib.EngineTypes.endp = _endpos__2_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.startp = _startpos__1_;
+                    MenhirLib.EngineTypes.endp = _endpos__1_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let d : 'tv_depends = Obj.magic d in
+        let x0 : 'tv_pure_ident = Obj.magic x0 in
+        let lang : 'tv_pure_ident = Obj.magic lang in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__6_ in
+        let _v : (
+# 223 "parser_cocci_menhir.mly"
+      (Ast_cocci.rulename)
+# 33452 "parser_cocci_menhir.ml"
+        ) = let nm =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 33458 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 279 "parser_cocci_menhir.mly"
+      ( P.make_script_rule_name_result lang nm d )
+# 33464 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = lang;
+              MenhirLib.EngineTypes.startp = _startpos_lang_;
+              MenhirLib.EngineTypes.endp = _endpos_lang_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__2_;
+                MenhirLib.EngineTypes.endp = _endpos__2_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.startp = _startpos__1_;
+                  MenhirLib.EngineTypes.endp = _endpos__1_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let d : 'tv_depends = Obj.magic d in
+        let lang : 'tv_pure_ident = Obj.magic lang in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__5_ in
+        let _v : (
+# 223 "parser_cocci_menhir.mly"
+      (Ast_cocci.rulename)
+# 33506 "parser_cocci_menhir.ml"
+        ) = 
+# 281 "parser_cocci_menhir.mly"
+      ( P.make_initial_script_rule_name_result lang d )
+# 33510 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28515,13 +33546,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : (
-# 153 "parser_cocci_menhir.mly"
+# 223 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 28521 "parser_cocci_menhir.ml"
+# 33552 "parser_cocci_menhir.ml"
         ) = 
-# 209 "parser_cocci_menhir.mly"
-      ( P.make_script_rule_name_result lang d )
-# 28525 "parser_cocci_menhir.ml"
+# 283 "parser_cocci_menhir.mly"
+      ( P.make_final_script_rule_name_result lang d )
+# 33556 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28533,35 +33564,119 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__4_;
-          MenhirLib.EngineTypes.endp = _endpos__4_;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = py;
+            MenhirLib.EngineTypes.startp = _startpos_py_;
+            MenhirLib.EngineTypes.endp = _endpos_py_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let py : 'tv_pure_ident = Obj.magic py in
+        let _startpos = _startpos_py_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 229 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33584 "parser_cocci_menhir.ml"
+        ) = 
+# 2315 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name py), None), None) )
+# 33588 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = lang;
-            MenhirLib.EngineTypes.startp = _startpos_lang_;
-            MenhirLib.EngineTypes.endp = _endpos_lang_;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__2_;
-              MenhirLib.EngineTypes.endp = _endpos__2_;
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = py;
+              MenhirLib.EngineTypes.startp = _startpos_py_;
+              MenhirLib.EngineTypes.endp = _endpos_py_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_script_name_decl = Obj.magic _2 in
+        let py : 'tv_pure_ident = Obj.magic py in
+        let _startpos = _startpos_py_ in
+        let _endpos = _endpos__3_ in
+        let _v : (
+# 229 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33622 "parser_cocci_menhir.ml"
+        ) = 
+# 2317 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name py), None), Some _2) )
+# 33626 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__7_;
+          MenhirLib.EngineTypes.endp = _endpos__7_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _6;
+            MenhirLib.EngineTypes.startp = _startpos__6_;
+            MenhirLib.EngineTypes.endp = _endpos__6_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__5_;
+              MenhirLib.EngineTypes.endp = _endpos__5_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.startp = _startpos__1_;
-                MenhirLib.EngineTypes.endp = _endpos__1_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
+                MenhirLib.EngineTypes.semv = ast;
+                MenhirLib.EngineTypes.startp = _startpos_ast_;
+                MenhirLib.EngineTypes.endp = _endpos_ast_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.startp = _startpos__3_;
+                  MenhirLib.EngineTypes.endp = _endpos__3_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.startp = _startpos__2_;
+                    MenhirLib.EngineTypes.endp = _endpos__2_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.startp = _startpos__1_;
+                      MenhirLib.EngineTypes.endp = _endpos__1_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
+                    };
+                  };
                 };
               };
             };
           } = _menhir_stack in
-        let lang : 'tv_pure_ident = Obj.magic lang in
+        let _6 : 'tv_script_name_decl = Obj.magic _6 in
+        let ast : 'tv_pure_ident = Obj.magic ast in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ in
+        let _endpos = _endpos__7_ in
         let _v : (
-# 153 "parser_cocci_menhir.mly"
-      (Ast_cocci.rulename)
-# 28561 "parser_cocci_menhir.ml"
+# 229 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33676 "parser_cocci_menhir.ml"
         ) = 
-# 211 "parser_cocci_menhir.mly"
-      ( P.make_initial_script_rule_name_result lang )
-# 28565 "parser_cocci_menhir.ml"
+# 2319 "parser_cocci_menhir.mly"
+  ( ((None, Some (P.id2name ast)), Some _6) )
+# 33680 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28573,35 +33688,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__4_;
-          MenhirLib.EngineTypes.endp = _endpos__4_;
+          MenhirLib.EngineTypes.startp = _startpos__7_;
+          MenhirLib.EngineTypes.endp = _endpos__7_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = lang;
-            MenhirLib.EngineTypes.startp = _startpos_lang_;
-            MenhirLib.EngineTypes.endp = _endpos_lang_;
+            MenhirLib.EngineTypes.semv = _6;
+            MenhirLib.EngineTypes.startp = _startpos__6_;
+            MenhirLib.EngineTypes.endp = _endpos__6_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__2_;
-              MenhirLib.EngineTypes.endp = _endpos__2_;
+              MenhirLib.EngineTypes.startp = _startpos__5_;
+              MenhirLib.EngineTypes.endp = _endpos__5_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.startp = _startpos__1_;
-                MenhirLib.EngineTypes.endp = _endpos__1_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
+                MenhirLib.EngineTypes.startp = _startpos__4_;
+                MenhirLib.EngineTypes.endp = _endpos__4_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.startp = _startpos__3_;
+                  MenhirLib.EngineTypes.endp = _endpos__3_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.semv = str;
+                    MenhirLib.EngineTypes.startp = _startpos_str_;
+                    MenhirLib.EngineTypes.endp = _endpos_str_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.startp = _startpos__1_;
+                      MenhirLib.EngineTypes.endp = _endpos__1_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
+                    };
+                  };
                 };
               };
             };
           } = _menhir_stack in
-        let lang : 'tv_pure_ident = Obj.magic lang in
+        let _6 : 'tv_script_name_decl = Obj.magic _6 in
+        let str : 'tv_pure_ident = Obj.magic str in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ in
+        let _endpos = _endpos__7_ in
         let _v : (
-# 153 "parser_cocci_menhir.mly"
-      (Ast_cocci.rulename)
-# 28601 "parser_cocci_menhir.ml"
+# 229 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33730 "parser_cocci_menhir.ml"
         ) = 
-# 213 "parser_cocci_menhir.mly"
-      ( P.make_final_script_rule_name_result lang )
-# 28605 "parser_cocci_menhir.ml"
+# 2321 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name str), None), Some _6) )
+# 33734 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28613,51 +33742,137 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__6_;
-          MenhirLib.EngineTypes.endp = _endpos__6_;
+          MenhirLib.EngineTypes.startp = _startpos__7_;
+          MenhirLib.EngineTypes.endp = _endpos__7_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = cocci;
-            MenhirLib.EngineTypes.startp = _startpos_cocci_;
-            MenhirLib.EngineTypes.endp = _endpos_cocci_;
+            MenhirLib.EngineTypes.semv = _6;
+            MenhirLib.EngineTypes.startp = _startpos__6_;
+            MenhirLib.EngineTypes.endp = _endpos__6_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
+              MenhirLib.EngineTypes.startp = _startpos__5_;
+              MenhirLib.EngineTypes.endp = _endpos__5_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = _3;
-                MenhirLib.EngineTypes.startp = _startpos__3_;
-                MenhirLib.EngineTypes.endp = _endpos__3_;
+                MenhirLib.EngineTypes.semv = ast;
+                MenhirLib.EngineTypes.startp = _startpos_ast_;
+                MenhirLib.EngineTypes.endp = _endpos_ast_;
                 MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.startp = _startpos__2_;
-                  MenhirLib.EngineTypes.endp = _endpos__2_;
+                  MenhirLib.EngineTypes.startp = _startpos__3_;
+                  MenhirLib.EngineTypes.endp = _endpos__3_;
                   MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = py;
-                    MenhirLib.EngineTypes.startp = _startpos_py_;
-                    MenhirLib.EngineTypes.endp = _endpos_py_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    MenhirLib.EngineTypes.semv = str;
+                    MenhirLib.EngineTypes.startp = _startpos_str_;
+                    MenhirLib.EngineTypes.endp = _endpos_str_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.startp = _startpos__1_;
+                      MenhirLib.EngineTypes.endp = _endpos__1_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
                     };
                   };
                 };
               };
             };
           } = _menhir_stack in
-        let cocci : 'tv_pure_ident = Obj.magic cocci in
-        let _3 : (
-# 47 "parser_cocci_menhir.mly"
-      (string)
-# 28649 "parser_cocci_menhir.ml"
-        ) = Obj.magic _3 in
-        let py : 'tv_pure_ident = Obj.magic py in
-        let _startpos = _startpos_py_ in
-        let _endpos = _endpos__6_ in
+        let _6 : 'tv_script_name_decl = Obj.magic _6 in
+        let ast : 'tv_pure_ident = Obj.magic ast in
+        let str : 'tv_pure_ident = Obj.magic str in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__7_ in
         let _v : (
-# 159 "parser_cocci_menhir.mly"
-       (string * (string * string))
-# 28657 "parser_cocci_menhir.ml"
+# 229 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33786 "parser_cocci_menhir.ml"
         ) = 
-# 1948 "parser_cocci_menhir.mly"
-  ( (P.id2name py, (_3, P.id2name cocci)) )
-# 28661 "parser_cocci_menhir.ml"
+# 2323 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) )
+# 33790 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = cocci;
+          MenhirLib.EngineTypes.startp = _startpos_cocci_;
+          MenhirLib.EngineTypes.endp = _endpos_cocci_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.startp = _startpos__3_;
+            MenhirLib.EngineTypes.endp = _endpos__3_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = _2;
+              MenhirLib.EngineTypes.startp = _startpos__2_;
+              MenhirLib.EngineTypes.endp = _endpos__2_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let cocci : 'tv_pure_ident = Obj.magic cocci in
+        let _2 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 33825 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_cocci_ in
+        let _v : 'tv_script_name_decl = 
+# 2327 "parser_cocci_menhir.mly"
+      ( let nm = P.id2name cocci in
+        let mv = Parse_aux.lookup _2 nm in
+        ((_2, nm), mv) )
+# 33834 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = cocci;
+          MenhirLib.EngineTypes.startp = _startpos_cocci_;
+          MenhirLib.EngineTypes.endp = _endpos_cocci_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.startp = _startpos__3_;
+            MenhirLib.EngineTypes.endp = _endpos__3_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__2_;
+              MenhirLib.EngineTypes.endp = _endpos__2_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let cocci : 'tv_pure_ident = Obj.magic cocci in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_cocci_ in
+        let _v : 'tv_script_name_decl = 
+# 2331 "parser_cocci_menhir.mly"
+      ( let nm = P.id2name cocci in
+        Iteration.parsed_virtual_identifiers :=
+          Common.union_set [nm]
+            !Iteration.parsed_virtual_identifiers;
+        let name = ("virtual", nm) in
+        let mv = Ast.MetaIdDecl(Ast.NONE,name) in
+        (name,mv) )
+# 33876 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28676,16 +33891,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 28682 "parser_cocci_menhir.ml"
+# 33897 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_seed_elem = 
-# 1428 "parser_cocci_menhir.mly"
+# 1697 "parser_cocci_menhir.mly"
           ( let (x,_) = _1 in Ast.SeedString x )
-# 28689 "parser_cocci_menhir.ml"
+# 33904 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28704,16 +33919,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 61 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 28710 "parser_cocci_menhir.ml"
+# 33925 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_seed_elem = 
-# 1429 "parser_cocci_menhir.mly"
+# 1698 "parser_cocci_menhir.mly"
           ( let (x,_,_,_) = _1 in Ast.SeedId x )
-# 28717 "parser_cocci_menhir.ml"
+# 33932 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_seed_elem = 
+# 1699 "parser_cocci_menhir.mly"
+        (failwith "tmeta")
+# 33954 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28742,18 +33979,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_pure_ident = Obj.magic _3 in
         let _1 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 28748 "parser_cocci_menhir.ml"
+# 33985 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_seed_elem = 
-# 1431 "parser_cocci_menhir.mly"
+# 1701 "parser_cocci_menhir.mly"
     ( let nm = (_1,P.id2name _3) in
       P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
       Ast.SeedId nm )
-# 28757 "parser_cocci_menhir.ml"
+# 33994 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28772,16 +34009,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let x : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 28778 "parser_cocci_menhir.ml"
+# 34015 "parser_cocci_menhir.ml"
         ) = Obj.magic x in
         let _startpos = _startpos_x_ in
         let _endpos = _endpos_x_ in
         let _v : 'tv_separated_nonempty_list_TComma_TString_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 28785 "parser_cocci_menhir.ml"
+# 34022 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28810,16 +34047,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
         let x : (
-# 87 "parser_cocci_menhir.mly"
+# 155 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 28816 "parser_cocci_menhir.ml"
+# 34053 "parser_cocci_menhir.ml"
         ) = Obj.magic x in
         let _startpos = _startpos_x_ in
         let _endpos = _endpos_xs_ in
         let _v : 'tv_separated_nonempty_list_TComma_TString_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 28823 "parser_cocci_menhir.ml"
+# 34060 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28843,7 +34080,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 28847 "parser_cocci_menhir.ml"
+# 34084 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28877,7 +34114,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 28881 "parser_cocci_menhir.ml"
+# 34118 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28901,7 +34138,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ctype_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 28905 "parser_cocci_menhir.ml"
+# 34142 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28935,7 +34172,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ctype_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 28939 "parser_cocci_menhir.ml"
+# 34176 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28959,7 +34196,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 28963 "parser_cocci_menhir.ml"
+# 34200 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28993,7 +34230,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 28997 "parser_cocci_menhir.ml"
+# 34234 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29017,7 +34254,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29021 "parser_cocci_menhir.ml"
+# 34258 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29051,7 +34288,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29055 "parser_cocci_menhir.ml"
+# 34292 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29075,7 +34312,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29079 "parser_cocci_menhir.ml"
+# 34316 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29109,7 +34346,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29113 "parser_cocci_menhir.ml"
+# 34350 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29133,7 +34370,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29137 "parser_cocci_menhir.ml"
+# 34374 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29167,7 +34404,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29171 "parser_cocci_menhir.ml"
+# 34408 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29191,7 +34428,65 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29195 "parser_cocci_menhir.ml"
+# 34432 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x;
+              MenhirLib.EngineTypes.startp = _startpos_x_;
+              MenhirLib.EngineTypes.endp = _endpos_x_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in
+        let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = 
+# 146 "standard.mly"
+    ( x :: xs )
+# 34466 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = x;
+          MenhirLib.EngineTypes.startp = _startpos_x_;
+          MenhirLib.EngineTypes.endp = _endpos_x_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = 
+# 144 "standard.mly"
+    ( [ x ] )
+# 34490 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29218,14 +34513,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = Obj.magic xs in
-        let x : 'tv_pure_ident_or_meta_ident = Obj.magic x in
+        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = Obj.magic xs in
+        let x : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = Obj.magic x in
         let _startpos = _startpos_x_ in
         let _endpos = _endpos_xs_ in
-        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29229 "parser_cocci_menhir.ml"
+# 34524 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29243,13 +34538,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos_x_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_ = Obj.magic x in
+        let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
         let _startpos = _startpos_x_ in
         let _endpos = _endpos_x_ in
-        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29253 "parser_cocci_menhir.ml"
+# 34548 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29276,14 +34571,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = Obj.magic xs in
-        let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_ = Obj.magic x in
+        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = Obj.magic xs in
+        let x : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = Obj.magic x in
         let _startpos = _startpos_x_ in
         let _endpos = _endpos_xs_ in
-        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe__ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29287 "parser_cocci_menhir.ml"
+# 34582 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29307,7 +34602,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29311 "parser_cocci_menhir.ml"
+# 34606 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29341,7 +34636,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29345 "parser_cocci_menhir.ml"
+# 34640 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29359,13 +34654,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos_x_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
+        let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
         let _startpos = _startpos_x_ in
         let _endpos = _endpos_x_ in
-        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29369 "parser_cocci_menhir.ml"
+# 34664 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29392,14 +34687,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in
-        let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
+        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = Obj.magic xs in
+        let x : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = Obj.magic x in
         let _startpos = _startpos_x_ in
         let _endpos = _endpos_xs_ in
-        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29403 "parser_cocci_menhir.ml"
+# 34698 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29417,13 +34712,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos_x_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_ceq_ = Obj.magic x in
+        let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
         let _startpos = _startpos_x_ in
         let _endpos = _endpos_x_ in
-        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29427 "parser_cocci_menhir.ml"
+# 34722 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29450,14 +34745,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = Obj.magic xs in
-        let x : 'tv_pure_ident_or_meta_ident_with_x_eq_not_ceq_ = Obj.magic x in
+        let xs : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = Obj.magic xs in
+        let x : 'tv_pure_ident_or_meta_ident_with_seed = Obj.magic x in
         let _startpos = _startpos_x_ in
         let _endpos = _endpos_xs_ in
-        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_ceq__ = 
+        let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29461 "parser_cocci_menhir.ml"
+# 34756 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29481,7 +34776,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29485 "parser_cocci_menhir.ml"
+# 34780 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29515,7 +34810,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29519 "parser_cocci_menhir.ml"
+# 34814 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29539,7 +34834,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29543 "parser_cocci_menhir.ml"
+# 34838 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29573,7 +34868,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29577 "parser_cocci_menhir.ml"
+# 34872 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29597,7 +34892,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29601 "parser_cocci_menhir.ml"
+# 34896 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29631,7 +34926,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29635 "parser_cocci_menhir.ml"
+# 34930 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29653,9 +34948,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_single_statement = 
-# 915 "parser_cocci_menhir.mly"
+# 1136 "parser_cocci_menhir.mly"
                                       ( _1 )
-# 29659 "parser_cocci_menhir.ml"
+# 34954 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29684,26 +34979,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 29690 "parser_cocci_menhir.ml"
+# 34985 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 29696 "parser_cocci_menhir.ml"
+# 34991 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_single_statement = 
-# 919 "parser_cocci_menhir.mly"
+# 1140 "parser_cocci_menhir.mly"
       ( let (mids,code) = _2 in
         Ast0.wrap
          (Ast0.Disj(P.clt2mcode "(" _1,
                     List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code,
                     mids, P.clt2mcode ")" _3)) )
-# 29707 "parser_cocci_menhir.ml"
+# 35002 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29725,9 +35020,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_statement = 
-# 842 "parser_cocci_menhir.mly"
+# 1062 "parser_cocci_menhir.mly"
            ( _1 )
-# 29731 "parser_cocci_menhir.ml"
+# 35026 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29746,16 +35041,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 64 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 29752 "parser_cocci_menhir.ml"
+# 35047 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_statement = 
-# 844 "parser_cocci_menhir.mly"
+# 1063 "parser_cocci_menhir.mly"
+        ( tmeta_to_statement _1)
+# 35054 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 35075 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_statement = 
+# 1065 "parser_cocci_menhir.mly"
     ( P.meta_stm _1 )
-# 29759 "parser_cocci_menhir.ml"
+# 35082 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29779,17 +35102,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 29785 "parser_cocci_menhir.ml"
+# 35108 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_expr = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_statement = 
-# 846 "parser_cocci_menhir.mly"
+# 1067 "parser_cocci_menhir.mly"
     ( P.exp_stm _1 _2 )
-# 29793 "parser_cocci_menhir.ml"
+# 35116 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29829,27 +35152,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _5 : 'tv_single_statement = Obj.magic _5 in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 29835 "parser_cocci_menhir.ml"
+# 35158 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 29841 "parser_cocci_menhir.ml"
+# 35164 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 29846 "parser_cocci_menhir.ml"
+# 35169 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : 'tv_statement = 
-# 848 "parser_cocci_menhir.mly"
+# 1069 "parser_cocci_menhir.mly"
     ( P.ifthen _1 _2 _3 _4 _5 )
-# 29853 "parser_cocci_menhir.ml"
+# 35176 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29899,33 +35222,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _7 : 'tv_single_statement = Obj.magic _7 in
         let _6 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 29905 "parser_cocci_menhir.ml"
+# 35228 "parser_cocci_menhir.ml"
         ) = Obj.magic _6 in
         let _5 : 'tv_single_statement = Obj.magic _5 in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 29911 "parser_cocci_menhir.ml"
+# 35234 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 29917 "parser_cocci_menhir.ml"
+# 35240 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 29922 "parser_cocci_menhir.ml"
+# 35245 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__7_ in
         let _v : 'tv_statement = 
-# 850 "parser_cocci_menhir.mly"
+# 1071 "parser_cocci_menhir.mly"
     ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
-# 29929 "parser_cocci_menhir.ml"
+# 35252 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29985,39 +35308,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _9 : 'tv_single_statement = Obj.magic _9 in
         let _8 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 29991 "parser_cocci_menhir.ml"
+# 35314 "parser_cocci_menhir.ml"
         ) = Obj.magic _8 in
         let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
         let _6 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 29997 "parser_cocci_menhir.ml"
+# 35320 "parser_cocci_menhir.ml"
         ) = Obj.magic _6 in
         let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
         let _4 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30003 "parser_cocci_menhir.ml"
+# 35326 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30009 "parser_cocci_menhir.ml"
+# 35332 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30014 "parser_cocci_menhir.ml"
+# 35337 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__9_ in
         let _v : 'tv_statement = 
-# 853 "parser_cocci_menhir.mly"
+# 1074 "parser_cocci_menhir.mly"
     ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
-# 30021 "parser_cocci_menhir.ml"
+# 35344 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30057,27 +35380,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _5 : 'tv_single_statement = Obj.magic _5 in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30063 "parser_cocci_menhir.ml"
+# 35386 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30069 "parser_cocci_menhir.ml"
+# 35392 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30074 "parser_cocci_menhir.ml"
+# 35397 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : 'tv_statement = 
-# 855 "parser_cocci_menhir.mly"
+# 1076 "parser_cocci_menhir.mly"
     ( P.whileloop _1 _2 _3 _4 _5 )
-# 30081 "parser_cocci_menhir.ml"
+# 35404 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30126,38 +35449,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _7 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30132 "parser_cocci_menhir.ml"
+# 35455 "parser_cocci_menhir.ml"
         ) = Obj.magic _7 in
         let _6 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30137 "parser_cocci_menhir.ml"
+# 35460 "parser_cocci_menhir.ml"
         ) = Obj.magic _6 in
         let _5 : 'tv_eexpr = Obj.magic _5 in
         let _4 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30143 "parser_cocci_menhir.ml"
+# 35466 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30148 "parser_cocci_menhir.ml"
+# 35471 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_single_statement = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30154 "parser_cocci_menhir.ml"
+# 35477 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__7_ in
         let _v : 'tv_statement = 
-# 857 "parser_cocci_menhir.mly"
+# 1078 "parser_cocci_menhir.mly"
     ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
-# 30161 "parser_cocci_menhir.ml"
+# 35484 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30197,23 +35520,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _5 : 'tv_single_statement = Obj.magic _5 in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30203 "parser_cocci_menhir.ml"
+# 35526 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30209 "parser_cocci_menhir.ml"
+# 35532 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : 'tv_iter_ident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : 'tv_statement = 
-# 859 "parser_cocci_menhir.mly"
+# 1080 "parser_cocci_menhir.mly"
     ( P.iterator _1 _2 _3 _4 _5 )
-# 30217 "parser_cocci_menhir.ml"
+# 35540 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30267,39 +35590,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _8 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30273 "parser_cocci_menhir.ml"
+# 35596 "parser_cocci_menhir.ml"
         ) = Obj.magic _8 in
         let _7 : 'tv_list_case_line_ = Obj.magic _7 in
         let _6 : 'tv_list_decl_var_ = Obj.magic _6 in
         let _5 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30280 "parser_cocci_menhir.ml"
+# 35603 "parser_cocci_menhir.ml"
         ) = Obj.magic _5 in
         let _4 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30285 "parser_cocci_menhir.ml"
+# 35608 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30291 "parser_cocci_menhir.ml"
+# 35614 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30296 "parser_cocci_menhir.ml"
+# 35619 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__8_ in
         let _v : 'tv_statement = 
-# 861 "parser_cocci_menhir.mly"
+# 1082 "parser_cocci_menhir.mly"
     ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
-# 30303 "parser_cocci_menhir.ml"
+# 35626 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30328,22 +35651,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30334 "parser_cocci_menhir.ml"
+# 35657 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30340 "parser_cocci_menhir.ml"
+# 35663 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_statement = 
-# 862 "parser_cocci_menhir.mly"
+# 1083 "parser_cocci_menhir.mly"
                         ( P.ret_exp _1 _2 _3 )
-# 30347 "parser_cocci_menhir.ml"
+# 35670 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30367,21 +35690,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30373 "parser_cocci_menhir.ml"
+# 35696 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30378 "parser_cocci_menhir.ml"
+# 35701 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_statement = 
-# 863 "parser_cocci_menhir.mly"
+# 1084 "parser_cocci_menhir.mly"
                   ( P.ret _1 _2 )
-# 30385 "parser_cocci_menhir.ml"
+# 35708 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30405,21 +35728,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30411 "parser_cocci_menhir.ml"
+# 35734 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30416 "parser_cocci_menhir.ml"
+# 35739 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_statement = 
-# 864 "parser_cocci_menhir.mly"
+# 1085 "parser_cocci_menhir.mly"
                  ( P.break _1 _2 )
-# 30423 "parser_cocci_menhir.ml"
+# 35746 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30443,21 +35766,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30449 "parser_cocci_menhir.ml"
+# 35772 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30454 "parser_cocci_menhir.ml"
+# 35777 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_statement = 
-# 865 "parser_cocci_menhir.mly"
+# 1086 "parser_cocci_menhir.mly"
                     ( P.cont _1 _2 )
-# 30461 "parser_cocci_menhir.ml"
+# 35784 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30481,17 +35804,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30487 "parser_cocci_menhir.ml"
+# 35810 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_ident = Obj.magic _1 in
+        let _1 : 'tv_mident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_statement = 
-# 866 "parser_cocci_menhir.mly"
-                ( P.label _1 _2 )
-# 30495 "parser_cocci_menhir.ml"
+# 1087 "parser_cocci_menhir.mly"
+                 ( P.label _1 _2 )
+# 35818 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30520,22 +35843,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30526 "parser_cocci_menhir.ml"
+# 35849 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
-        let _2 : 'tv_ident = Obj.magic _2 in
+        let _2 : 'tv_disj_ident = Obj.magic _2 in
         let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30532 "parser_cocci_menhir.ml"
+# 35855 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_statement = 
-# 867 "parser_cocci_menhir.mly"
-                      ( P.goto _1 _2 _3 )
-# 30539 "parser_cocci_menhir.ml"
+# 1088 "parser_cocci_menhir.mly"
+                           ( P.goto _1 _2 _3 )
+# 35862 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30564,22 +35887,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30570 "parser_cocci_menhir.ml"
+# 35893 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_fun_start = Obj.magic _2 in
         let _1 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30576 "parser_cocci_menhir.ml"
+# 35899 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_statement = 
-# 869 "parser_cocci_menhir.mly"
+# 1090 "parser_cocci_menhir.mly"
     ( P.seq _1 _2 _3 )
-# 30583 "parser_cocci_menhir.ml"
+# 35906 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30604,16 +35927,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let w : 'tv_list_whenppdecs_ = Obj.magic w in
         let _1 : (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30610 "parser_cocci_menhir.ml"
+# 35933 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_w_ in
         let _v : 'tv_stm_dots = 
-# 873 "parser_cocci_menhir.mly"
+# 1094 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
-# 30617 "parser_cocci_menhir.ml"
+# 35940 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30647,24 +35970,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let c : (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30653 "parser_cocci_menhir.ml"
+# 35976 "parser_cocci_menhir.ml"
         ) = Obj.magic c in
         let b : 'tv_nest_start = Obj.magic b in
         let w : 'tv_list_whenppdecs_ = Obj.magic w in
         let _1 : (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30660 "parser_cocci_menhir.ml"
+# 35983 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_c_ in
         let _v : 'tv_stm_dots = 
-# 875 "parser_cocci_menhir.mly"
+# 1096 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
                          P.clt2mcode "...>" c, List.concat w, false)) )
-# 30668 "parser_cocci_menhir.ml"
+# 35991 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30698,24 +36021,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let c : (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30704 "parser_cocci_menhir.ml"
+# 36027 "parser_cocci_menhir.ml"
         ) = Obj.magic c in
         let b : 'tv_nest_start = Obj.magic b in
         let w : 'tv_list_whenppdecs_ = Obj.magic w in
         let _1 : (
-# 73 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30711 "parser_cocci_menhir.ml"
+# 36034 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_c_ in
         let _v : 'tv_stm_dots = 
-# 878 "parser_cocci_menhir.mly"
+# 1099 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
                          P.clt2mcode "...+>" c, List.concat w, true)) )
-# 30719 "parser_cocci_menhir.ml"
+# 36042 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30734,16 +36057,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let s : (
-# 53 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 30740 "parser_cocci_menhir.ml"
+# 36063 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_storage = 
-# 804 "parser_cocci_menhir.mly"
+# 1023 "parser_cocci_menhir.mly"
                         ( P.clt2mcode Ast.Static s )
-# 30747 "parser_cocci_menhir.ml"
+# 36070 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30762,16 +36085,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let s : (
-# 53 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 30768 "parser_cocci_menhir.ml"
+# 36091 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_storage = 
-# 805 "parser_cocci_menhir.mly"
+# 1024 "parser_cocci_menhir.mly"
                         ( P.clt2mcode Ast.Auto s )
-# 30775 "parser_cocci_menhir.ml"
+# 36098 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30790,16 +36113,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let s : (
-# 53 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 30796 "parser_cocci_menhir.ml"
+# 36119 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_storage = 
-# 806 "parser_cocci_menhir.mly"
+# 1025 "parser_cocci_menhir.mly"
                         ( P.clt2mcode Ast.Register s )
-# 30803 "parser_cocci_menhir.ml"
+# 36126 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30817,17 +36140,227 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos_s_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let s : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 30824 "parser_cocci_menhir.ml"
-        ) = Obj.magic s in
-        let _startpos = _startpos_s_ in
-        let _endpos = _endpos_s_ in
-        let _v : 'tv_storage = 
-# 807 "parser_cocci_menhir.mly"
-                        ( P.clt2mcode Ast.Extern s )
-# 30831 "parser_cocci_menhir.ml"
+        let s : (
+# 119 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36147 "parser_cocci_menhir.ml"
+        ) = Obj.magic s in
+        let _startpos = _startpos_s_ in
+        let _endpos = _endpos_s_ in
+        let _v : 'tv_storage = 
+# 1026 "parser_cocci_menhir.mly"
+                        ( P.clt2mcode Ast.Extern s )
+# 36154 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_struct_decl = 
+# 732 "parser_cocci_menhir.mly"
+                      ( [] )
+# 36176 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_struct_decl_one = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_struct_decl = 
+# 733 "parser_cocci_menhir.mly"
+                      ( [_1] )
+# 36200 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_struct_decl_list = 
+# 757 "parser_cocci_menhir.mly"
+                          ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 36224 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_struct_decl = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_struct_decl_list_start = 
+# 760 "parser_cocci_menhir.mly"
+                                     ( _1 )
+# 36248 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
+        let _1 : 'tv_struct_decl = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_struct_decl_list_start = 
+# 761 "parser_cocci_menhir.mly"
+                                     ( _1@_2 )
+# 36278 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let r : 'tv_continue_struct_decl_list = Obj.magic r in
+        let d : 'tv_edots_when_TEllipsis_struct_decl_one_ = Obj.magic d in
+        let _startpos = _startpos_d_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_struct_decl_list_start = 
+# 763 "parser_cocci_menhir.mly"
+    ( (P.mkddots_one "..." d)::r )
+# 36308 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 36329 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_struct_decl_one = 
+# 736 "parser_cocci_menhir.mly"
+                 ( P.meta_field _1 )
+# 36336 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 134 "parser_cocci_menhir.mly"
+       (Parse_aux.list_info)
+# 36357 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_struct_decl_one = 
+# 737 "parser_cocci_menhir.mly"
+                     ( P.meta_field_list _1 )
+# 36364 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30840,16 +36373,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
           MenhirLib.EngineTypes.startp = _startpos__1_;
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 36385 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_struct_decl = 
-# 562 "parser_cocci_menhir.mly"
-               ( [] )
-# 30853 "parser_cocci_menhir.ml"
+        let _v : 'tv_struct_decl_one = 
+# 738 "parser_cocci_menhir.mly"
+            ( tmeta_to_field _1 )
+# 36392 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30878,19 +36417,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30884 "parser_cocci_menhir.ml"
+# 36423 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let d : 'tv_d_ident = Obj.magic d in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
         let _endpos = _endpos_pv_ in
-        let _v : 'tv_struct_decl = 
-# 564 "parser_cocci_menhir.mly"
+        let _v : 'tv_struct_decl_one = 
+# 740 "parser_cocci_menhir.mly"
   ( let (id,fn) = d in
-        [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
-# 30894 "parser_cocci_menhir.ml"
+        Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
+# 36433 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30949,50 +36488,50 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30955 "parser_cocci_menhir.ml"
+# 36494 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30960 "parser_cocci_menhir.ml"
+# 36499 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30966 "parser_cocci_menhir.ml"
+# 36505 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30971 "parser_cocci_menhir.ml"
+# 36510 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30977 "parser_cocci_menhir.ml"
+# 36516 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30982 "parser_cocci_menhir.ml"
+# 36521 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
         let _endpos = _endpos_pv_ in
-        let _v : 'tv_struct_decl = 
-# 568 "parser_cocci_menhir.mly"
+        let _v : 'tv_struct_decl_one = 
+# 744 "parser_cocci_menhir.mly"
         ( let (id,fn) = d in
         let t =
          Ast0.wrap
            (Ast0.FunctionPointer
               (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1,
                P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in
-        [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
-# 30996 "parser_cocci_menhir.ml"
+        Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
+# 36535 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31021,27 +36560,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31027 "parser_cocci_menhir.ml"
+# 36566 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let d : 'tv_d_ident = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
         let _startpos = _startpos_i_ in
         let _endpos = _endpos_pv_ in
-        let _v : 'tv_struct_decl = let cv =
+        let _v : 'tv_struct_decl_one = let cv =
           
 # 39 "standard.mly"
     ( None )
-# 31037 "parser_cocci_menhir.ml"
+# 36576 "parser_cocci_menhir.ml"
           
         in
         
-# 576 "parser_cocci_menhir.mly"
+# 752 "parser_cocci_menhir.mly"
   ( let (id,fn) = d in
         let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
-        [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
-# 31045 "parser_cocci_menhir.ml"
+        Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) )
+# 36584 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31075,29 +36614,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 107 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31081 "parser_cocci_menhir.ml"
+# 36620 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let d : 'tv_d_ident = Obj.magic d in
         let i : 'tv_pure_ident = Obj.magic i in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_pv_ in
-        let _v : 'tv_struct_decl = let cv =
+        let _v : 'tv_struct_decl_one = let cv =
           let x = x0 in
           
 # 41 "standard.mly"
     ( Some x )
-# 31093 "parser_cocci_menhir.ml"
+# 36632 "parser_cocci_menhir.ml"
           
         in
         
-# 576 "parser_cocci_menhir.mly"
+# 752 "parser_cocci_menhir.mly"
   ( let (id,fn) = d in
         let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in
-        [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] )
-# 31101 "parser_cocci_menhir.ml"
+        Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv)) )
+# 36640 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31110,18 +36649,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = s;
+          MenhirLib.EngineTypes.startp = _startpos_s_;
+          MenhirLib.EngineTypes.endp = _endpos_s_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_struct_decl_list_start = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_struct_decl_list = 
-# 581 "parser_cocci_menhir.mly"
-                          ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 31125 "parser_cocci_menhir.ml"
+        let s : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36661 "parser_cocci_menhir.ml"
+        ) = Obj.magic s in
+        let _startpos = _startpos_s_ in
+        let _endpos = _endpos_s_ in
+        let _v : 'tv_struct_or_union = 
+# 728 "parser_cocci_menhir.mly"
+                 ( P.clt2mcode Ast.Struct s )
+# 36668 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31134,18 +36677,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = u;
+          MenhirLib.EngineTypes.startp = _startpos_u_;
+          MenhirLib.EngineTypes.endp = _endpos_u_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_struct_decl = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_struct_decl_list_start = 
-# 584 "parser_cocci_menhir.mly"
-                                     ( _1 )
-# 31149 "parser_cocci_menhir.ml"
+        let u : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36689 "parser_cocci_menhir.ml"
+        ) = Obj.magic u in
+        let _startpos = _startpos_u_ in
+        let _endpos = _endpos_u_ in
+        let _v : 'tv_struct_or_union = 
+# 729 "parser_cocci_menhir.mly"
+                 ( P.clt2mcode Ast.Union u )
+# 36696 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31157,25 +36704,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = i;
+          MenhirLib.EngineTypes.startp = _startpos_i_;
+          MenhirLib.EngineTypes.endp = _endpos_i_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
             MenhirLib.EngineTypes.startp = _startpos__1_;
             MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_struct_decl_list_start = Obj.magic _2 in
-        let _1 : 'tv_struct_decl = Obj.magic _1 in
+        let i : 'tv_meta_ident = Obj.magic i in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_struct_decl_list_start = 
-# 585 "parser_cocci_menhir.mly"
-                                     ( _1@_2 )
-# 31179 "parser_cocci_menhir.ml"
+        let _endpos = _endpos_i_ in
+        let _v : 'tv_sub = 
+# 1845 "parser_cocci_menhir.mly"
+         ( (if !Data.in_iso
+          then failwith "constraints not allowed in iso file");
+          (if !Data.in_generating
+          then failwith "constraints not allowed in a generated rule file");
+          let i =
+            P.check_inherited_constraint i
+              (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in
+          [i] )
+# 36731 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31187,81 +36739,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = r;
-          MenhirLib.EngineTypes.startp = _startpos_r_;
-          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.startp = _startpos__4_;
+          MenhirLib.EngineTypes.endp = _endpos__4_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = d;
-            MenhirLib.EngineTypes.startp = _startpos_d_;
-            MenhirLib.EngineTypes.endp = _endpos_d_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = l;
+            MenhirLib.EngineTypes.startp = _startpos_l_;
+            MenhirLib.EngineTypes.endp = _endpos_l_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__2_;
+              MenhirLib.EngineTypes.endp = _endpos__2_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
             };
           } = _menhir_stack in
-        let r : 'tv_continue_struct_decl_list = Obj.magic r in
-        let d : 'tv_edots_when_TEllipsis_struct_decl_ = Obj.magic d in
-        let _startpos = _startpos_d_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_struct_decl_list_start = 
-# 587 "parser_cocci_menhir.mly"
-    ( (P.mkddots "..." d)::r )
-# 31209 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = s;
-          MenhirLib.EngineTypes.startp = _startpos_s_;
-          MenhirLib.EngineTypes.endp = _endpos_s_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let s : (
-# 50 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 31230 "parser_cocci_menhir.ml"
-        ) = Obj.magic s in
-        let _startpos = _startpos_s_ in
-        let _endpos = _endpos_s_ in
-        let _v : 'tv_struct_or_union = 
-# 558 "parser_cocci_menhir.mly"
-                 ( P.clt2mcode Ast.Struct s )
-# 31237 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = u;
-          MenhirLib.EngineTypes.startp = _startpos_u_;
-          MenhirLib.EngineTypes.endp = _endpos_u_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let u : (
-# 50 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 31258 "parser_cocci_menhir.ml"
-        ) = Obj.magic u in
-        let _startpos = _startpos_u_ in
-        let _endpos = _endpos_u_ in
-        let _v : 'tv_struct_or_union = 
-# 559 "parser_cocci_menhir.mly"
-                 ( P.clt2mcode Ast.Union u )
-# 31265 "parser_cocci_menhir.ml"
+        let l : 'tv_comma_list_meta_ident_ = Obj.magic l in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__4_ in
+        let _v : 'tv_sub = 
+# 1854 "parser_cocci_menhir.mly"
+  ( (if !Data.in_iso
+          then failwith "constraints not allowed in iso file");
+          (if !Data.in_generating
+          then failwith "constraints not allowed in a generated rule file");
+           List.map
+            (function i ->
+              P.check_inherited_constraint i
+                (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)))
+            l)
+# 36775 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31283,9 +36793,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_top_eexpr = 
-# 1202 "parser_cocci_menhir.mly"
+# 1412 "parser_cocci_menhir.mly"
         ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
-# 31289 "parser_cocci_menhir.ml"
+# 36799 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31314,22 +36824,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31320 "parser_cocci_menhir.ml"
+# 36830 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_initialize_list = Obj.magic _2 in
         let _1 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31326 "parser_cocci_menhir.ml"
+# 36836 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_top_init = 
-# 1726 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 31333 "parser_cocci_menhir.ml"
+# 2104 "parser_cocci_menhir.mly"
+    ( if P.struct_initializer _2
+    then
+      let il = P.drop_dot_commas _2 in
+      Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,il,P.clt2mcode "}" _3,false))
+    else
+      Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3,true)) )
+# 36848 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31344,9 +36859,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
         let _endpos = _startpos in
         let _v : 'tv_toplevel_after_dots = 
-# 1714 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                      ([])
-# 31350 "parser_cocci_menhir.ml"
+# 36865 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31372,9 +36887,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots = 
-# 1715 "parser_cocci_menhir.mly"
+# 2093 "parser_cocci_menhir.mly"
                                      (_2)
-# 31378 "parser_cocci_menhir.ml"
+# 36893 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31402,9 +36917,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots = 
-# 1716 "parser_cocci_menhir.mly"
+# 2094 "parser_cocci_menhir.mly"
                                      ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 31408 "parser_cocci_menhir.ml"
+# 36923 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31432,9 +36947,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots = 
-# 1717 "parser_cocci_menhir.mly"
+# 2095 "parser_cocci_menhir.mly"
                                           (_1@_2)
-# 31438 "parser_cocci_menhir.ml"
+# 36953 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31460,9 +36975,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots_init = 
-# 1705 "parser_cocci_menhir.mly"
+# 2083 "parser_cocci_menhir.mly"
                                      (_2)
-# 31466 "parser_cocci_menhir.ml"
+# 36981 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31490,9 +37005,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots_init = 
-# 1706 "parser_cocci_menhir.mly"
+# 2084 "parser_cocci_menhir.mly"
                                      ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 31496 "parser_cocci_menhir.ml"
+# 37011 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31520,9 +37035,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots_init = 
-# 1707 "parser_cocci_menhir.mly"
+# 2085 "parser_cocci_menhir.mly"
                                           (_1@_2)
-# 31526 "parser_cocci_menhir.ml"
+# 37041 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31537,9 +37052,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
         let _endpos = _startpos in
         let _v : 'tv_toplevel_after_exp = 
-# 1710 "parser_cocci_menhir.mly"
+# 2088 "parser_cocci_menhir.mly"
                                      ([])
-# 31543 "parser_cocci_menhir.ml"
+# 37058 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31567,9 +37082,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_exp = 
-# 1711 "parser_cocci_menhir.mly"
+# 2089 "parser_cocci_menhir.mly"
                                      (_1::_2)
-# 31573 "parser_cocci_menhir.ml"
+# 37088 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31584,9 +37099,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
         let _endpos = _startpos in
         let _v : 'tv_toplevel_after_stm = 
-# 1720 "parser_cocci_menhir.mly"
+# 2098 "parser_cocci_menhir.mly"
                                      ([])
-# 31590 "parser_cocci_menhir.ml"
+# 37105 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31614,9 +37129,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_stm = 
-# 1721 "parser_cocci_menhir.mly"
+# 2099 "parser_cocci_menhir.mly"
                                      (_1::_2)
-# 31620 "parser_cocci_menhir.ml"
+# 37135 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31644,9 +37159,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_stm = 
-# 1722 "parser_cocci_menhir.mly"
+# 2100 "parser_cocci_menhir.mly"
                                      (_1@_2)
-# 31650 "parser_cocci_menhir.ml"
+# 37165 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31674,9 +37189,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = 
-# 1700 "parser_cocci_menhir.mly"
+# 2078 "parser_cocci_menhir.mly"
                                      ( _1::_2 )
-# 31680 "parser_cocci_menhir.ml"
+# 37195 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31704,9 +37219,378 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = 
-# 1701 "parser_cocci_menhir.mly"
+# 2079 "parser_cocci_menhir.mly"
+                                     ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
+# 37225 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
+        let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = 
+# 2080 "parser_cocci_menhir.mly"
+                                          ( _1@_2 )
+# 37255 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = w0;
+            MenhirLib.EngineTypes.startp = _startpos_w0_;
+            MenhirLib.EngineTypes.endp = _endpos_w0_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = a0;
+              MenhirLib.EngineTypes.startp = _startpos_a0_;
+              MenhirLib.EngineTypes.endp = _endpos_a0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let b : 'tv_toplevel_after_dots_init = Obj.magic b in
+        let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
+        let a0 : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 37288 "parser_cocci_menhir.ml"
+        ) = Obj.magic a0 in
+        let _startpos = _startpos_a0_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
+          let w = w0 in
+          let a = a0 in
+          
+# 1104 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
+# 37298 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 2071 "parser_cocci_menhir.mly"
+                                             ( a::b )
+# 37304 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = c0;
+            MenhirLib.EngineTypes.startp = _startpos_c0_;
+            MenhirLib.EngineTypes.endp = _endpos_c0_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = b0;
+              MenhirLib.EngineTypes.startp = _startpos_b0_;
+              MenhirLib.EngineTypes.endp = _endpos_b0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = w0;
+                MenhirLib.EngineTypes.startp = _startpos_w0_;
+                MenhirLib.EngineTypes.endp = _endpos_w0_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = a0;
+                  MenhirLib.EngineTypes.startp = _startpos_a0_;
+                  MenhirLib.EngineTypes.endp = _endpos_a0_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let b : 'tv_toplevel_after_dots_init = Obj.magic b in
+        let c0 : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 37346 "parser_cocci_menhir.ml"
+        ) = Obj.magic c0 in
+        let b0 : 'tv_nest_start = Obj.magic b0 in
+        let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
+        let a0 : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 37353 "parser_cocci_menhir.ml"
+        ) = Obj.magic a0 in
+        let _startpos = _startpos_a0_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
+          let c = c0 in
+          let b = b0 in
+          let w = w0 in
+          let a = a0 in
+          
+# 1108 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
+                         P.clt2mcode "...>" c, List.concat w, false)) )
+# 37366 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 2072 "parser_cocci_menhir.mly"
+                                              ( a::b )
+# 37372 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = c0;
+            MenhirLib.EngineTypes.startp = _startpos_c0_;
+            MenhirLib.EngineTypes.endp = _endpos_c0_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = b0;
+              MenhirLib.EngineTypes.startp = _startpos_b0_;
+              MenhirLib.EngineTypes.endp = _endpos_b0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = w0;
+                MenhirLib.EngineTypes.startp = _startpos_w0_;
+                MenhirLib.EngineTypes.endp = _endpos_w0_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = a0;
+                  MenhirLib.EngineTypes.startp = _startpos_a0_;
+                  MenhirLib.EngineTypes.endp = _endpos_a0_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let b : 'tv_toplevel_after_dots_init = Obj.magic b in
+        let c0 : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 37414 "parser_cocci_menhir.ml"
+        ) = Obj.magic c0 in
+        let b0 : 'tv_nest_start = Obj.magic b0 in
+        let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
+        let a0 : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 37421 "parser_cocci_menhir.ml"
+        ) = Obj.magic a0 in
+        let _startpos = _startpos_a0_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
+          let c = c0 in
+          let b = b0 in
+          let w = w0 in
+          let a = a0 in
+          
+# 1111 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
+                         P.clt2mcode "...+>" c, List.concat w, true)) )
+# 37434 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 2072 "parser_cocci_menhir.mly"
+                                              ( a::b )
+# 37440 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = c0;
+          MenhirLib.EngineTypes.startp = _startpos_c0_;
+          MenhirLib.EngineTypes.endp = _endpos_c0_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = b0;
+            MenhirLib.EngineTypes.startp = _startpos_b0_;
+            MenhirLib.EngineTypes.endp = _endpos_b0_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = w0;
+              MenhirLib.EngineTypes.startp = _startpos_w0_;
+              MenhirLib.EngineTypes.endp = _endpos_w0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = a0;
+                MenhirLib.EngineTypes.startp = _startpos_a0_;
+                MenhirLib.EngineTypes.endp = _endpos_a0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let c0 : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 37476 "parser_cocci_menhir.ml"
+        ) = Obj.magic c0 in
+        let b0 : 'tv_nest_start = Obj.magic b0 in
+        let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
+        let a0 : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 37483 "parser_cocci_menhir.ml"
+        ) = Obj.magic a0 in
+        let _startpos = _startpos_a0_ in
+        let _endpos = _endpos_c0_ in
+        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
+          let c = c0 in
+          let b = b0 in
+          let w = w0 in
+          let a = a0 in
+          
+# 1108 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
+                         P.clt2mcode "...>" c, List.concat w, false)) )
+# 37496 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 2073 "parser_cocci_menhir.mly"
+                                       ( [a] )
+# 37502 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = c0;
+          MenhirLib.EngineTypes.startp = _startpos_c0_;
+          MenhirLib.EngineTypes.endp = _endpos_c0_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = b0;
+            MenhirLib.EngineTypes.startp = _startpos_b0_;
+            MenhirLib.EngineTypes.endp = _endpos_b0_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = w0;
+              MenhirLib.EngineTypes.startp = _startpos_w0_;
+              MenhirLib.EngineTypes.endp = _endpos_w0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = a0;
+                MenhirLib.EngineTypes.startp = _startpos_a0_;
+                MenhirLib.EngineTypes.endp = _endpos_a0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let c0 : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 37538 "parser_cocci_menhir.ml"
+        ) = Obj.magic c0 in
+        let b0 : 'tv_nest_start = Obj.magic b0 in
+        let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
+        let a0 : (
+# 141 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 37545 "parser_cocci_menhir.ml"
+        ) = Obj.magic a0 in
+        let _startpos = _startpos_a0_ in
+        let _endpos = _endpos_c0_ in
+        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
+          let c = c0 in
+          let b = b0 in
+          let w = w0 in
+          let a = a0 in
+          
+# 1111 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
+                         P.clt2mcode "...+>" c, List.concat w, true)) )
+# 37558 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 2073 "parser_cocci_menhir.mly"
+                                       ( [a] )
+# 37564 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
+        let _1 : 'tv_expr = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = 
+# 2074 "parser_cocci_menhir.mly"
                                      ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 31710 "parser_cocci_menhir.ml"
+# 37594 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31733,10 +37617,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = 
-# 1702 "parser_cocci_menhir.mly"
+        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = 
+# 2075 "parser_cocci_menhir.mly"
                                           ( _1@_2 )
-# 31740 "parser_cocci_menhir.ml"
+# 37624 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31748,304 +37632,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = w0;
-            MenhirLib.EngineTypes.startp = _startpos_w0_;
-            MenhirLib.EngineTypes.endp = _endpos_w0_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = a0;
-              MenhirLib.EngineTypes.startp = _startpos_a0_;
-              MenhirLib.EngineTypes.endp = _endpos_a0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
-          } = _menhir_stack in
-        let b : 'tv_toplevel_after_dots_init = Obj.magic b in
-        let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
-        let a0 : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31773 "parser_cocci_menhir.ml"
-        ) = Obj.magic a0 in
-        let _startpos = _startpos_a0_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
-          let w = w0 in
-          let a = a0 in
-          
-# 883 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
-# 31783 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 1693 "parser_cocci_menhir.mly"
-                                             ( a::b )
-# 31789 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = c0;
-            MenhirLib.EngineTypes.startp = _startpos_c0_;
-            MenhirLib.EngineTypes.endp = _endpos_c0_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = b0;
-              MenhirLib.EngineTypes.startp = _startpos_b0_;
-              MenhirLib.EngineTypes.endp = _endpos_b0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = w0;
-                MenhirLib.EngineTypes.startp = _startpos_w0_;
-                MenhirLib.EngineTypes.endp = _endpos_w0_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = a0;
-                  MenhirLib.EngineTypes.startp = _startpos_a0_;
-                  MenhirLib.EngineTypes.endp = _endpos_a0_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
-            };
-          } = _menhir_stack in
-        let b : 'tv_toplevel_after_dots_init = Obj.magic b in
-        let c0 : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31831 "parser_cocci_menhir.ml"
-        ) = Obj.magic c0 in
-        let b0 : 'tv_nest_start = Obj.magic b0 in
-        let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
-        let a0 : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31838 "parser_cocci_menhir.ml"
-        ) = Obj.magic a0 in
-        let _startpos = _startpos_a0_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
-          let c = c0 in
-          let b = b0 in
-          let w = w0 in
-          let a = a0 in
-          
-# 887 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
-                         P.clt2mcode "...>" c, List.concat w, false)) )
-# 31851 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 1694 "parser_cocci_menhir.mly"
-                                              ( a::b )
-# 31857 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = c0;
-            MenhirLib.EngineTypes.startp = _startpos_c0_;
-            MenhirLib.EngineTypes.endp = _endpos_c0_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = b0;
-              MenhirLib.EngineTypes.startp = _startpos_b0_;
-              MenhirLib.EngineTypes.endp = _endpos_b0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = w0;
-                MenhirLib.EngineTypes.startp = _startpos_w0_;
-                MenhirLib.EngineTypes.endp = _endpos_w0_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = a0;
-                  MenhirLib.EngineTypes.startp = _startpos_a0_;
-                  MenhirLib.EngineTypes.endp = _endpos_a0_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
-            };
-          } = _menhir_stack in
-        let b : 'tv_toplevel_after_dots_init = Obj.magic b in
-        let c0 : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31899 "parser_cocci_menhir.ml"
-        ) = Obj.magic c0 in
-        let b0 : 'tv_nest_start = Obj.magic b0 in
-        let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
-        let a0 : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31906 "parser_cocci_menhir.ml"
-        ) = Obj.magic a0 in
-        let _startpos = _startpos_a0_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
-          let c = c0 in
-          let b = b0 in
-          let w = w0 in
-          let a = a0 in
-          
-# 890 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
-                         P.clt2mcode "...+>" c, List.concat w, true)) )
-# 31919 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 1694 "parser_cocci_menhir.mly"
-                                              ( a::b )
-# 31925 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = c0;
-          MenhirLib.EngineTypes.startp = _startpos_c0_;
-          MenhirLib.EngineTypes.endp = _endpos_c0_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = b0;
-            MenhirLib.EngineTypes.startp = _startpos_b0_;
-            MenhirLib.EngineTypes.endp = _endpos_b0_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = w0;
-              MenhirLib.EngineTypes.startp = _startpos_w0_;
-              MenhirLib.EngineTypes.endp = _endpos_w0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = a0;
-                MenhirLib.EngineTypes.startp = _startpos_a0_;
-                MenhirLib.EngineTypes.endp = _endpos_a0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
-            };
-          } = _menhir_stack in
-        let c0 : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31961 "parser_cocci_menhir.ml"
-        ) = Obj.magic c0 in
-        let b0 : 'tv_nest_start = Obj.magic b0 in
-        let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
-        let a0 : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31968 "parser_cocci_menhir.ml"
-        ) = Obj.magic a0 in
-        let _startpos = _startpos_a0_ in
-        let _endpos = _endpos_c0_ in
-        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
-          let c = c0 in
-          let b = b0 in
-          let w = w0 in
-          let a = a0 in
-          
-# 887 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
-                         P.clt2mcode "...>" c, List.concat w, false)) )
-# 31981 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 1695 "parser_cocci_menhir.mly"
-                                       ( [a] )
-# 31987 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = c0;
-          MenhirLib.EngineTypes.startp = _startpos_c0_;
-          MenhirLib.EngineTypes.endp = _endpos_c0_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = b0;
-            MenhirLib.EngineTypes.startp = _startpos_b0_;
-            MenhirLib.EngineTypes.endp = _endpos_b0_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = w0;
-              MenhirLib.EngineTypes.startp = _startpos_w0_;
-              MenhirLib.EngineTypes.endp = _endpos_w0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = a0;
-                MenhirLib.EngineTypes.startp = _startpos_a0_;
-                MenhirLib.EngineTypes.endp = _endpos_a0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
-            };
           } = _menhir_stack in
-        let c0 : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 32023 "parser_cocci_menhir.ml"
-        ) = Obj.magic c0 in
-        let b0 : 'tv_nest_start = Obj.magic b0 in
-        let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
-        let a0 : (
-# 73 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 32030 "parser_cocci_menhir.ml"
-        ) = Obj.magic a0 in
-        let _startpos = _startpos_a0_ in
-        let _endpos = _endpos_c0_ in
-        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = let a =
-          let c = c0 in
-          let b = b0 in
-          let w = w0 in
-          let a = a0 in
-          
-# 890 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
-                         P.clt2mcode "...+>" c, List.concat w, true)) )
-# 32043 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 1695 "parser_cocci_menhir.mly"
-                                       ( [a] )
-# 32049 "parser_cocci_menhir.ml"
+        let _1 : 'tv_disj_ident = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_type_ident = 
+# 1929 "parser_cocci_menhir.mly"
+                       ( _1 )
+# 37648 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32057,55 +37656,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
-          } = _menhir_stack in
-        let _2 : 'tv_toplevel_after_exp = Obj.magic _2 in
-        let _1 : 'tv_expr = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = 
-# 1696 "parser_cocci_menhir.mly"
-                                     ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 32079 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
           } = _menhir_stack in
-        let _2 : 'tv_toplevel_after_stm = Obj.magic _2 in
-        let _1 : 'tv_decl_statement_expr = Obj.magic _1 in
+        let _1 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 37669 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = 
-# 1697 "parser_cocci_menhir.mly"
-                                          ( _1@_2 )
-# 32109 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_type_ident = 
+# 1931 "parser_cocci_menhir.mly"
+         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 37676 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32135,14 +37702,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32141 "parser_cocci_menhir.ml"
+# 37708 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32146 "parser_cocci_menhir.ml"
+# 37713 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32152,28 +37719,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 476 "parser_cocci_menhir.mly"
+# 630 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 32158 "parser_cocci_menhir.ml"
+# 37725 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
+# 693 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32164 "parser_cocci_menhir.ml"
+# 37731 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32171 "parser_cocci_menhir.ml"
+# 37738 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32177 "parser_cocci_menhir.ml"
+# 37744 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32203,14 +37770,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32209 "parser_cocci_menhir.ml"
+# 37776 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32214 "parser_cocci_menhir.ml"
+# 37781 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32220,28 +37787,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 478 "parser_cocci_menhir.mly"
+# 632 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 32226 "parser_cocci_menhir.ml"
+# 37793 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
+# 693 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32232 "parser_cocci_menhir.ml"
+# 37799 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32239 "parser_cocci_menhir.ml"
+# 37806 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32245 "parser_cocci_menhir.ml"
+# 37812 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32271,14 +37838,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32277 "parser_cocci_menhir.ml"
+# 37844 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32282 "parser_cocci_menhir.ml"
+# 37849 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32288,28 +37855,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 480 "parser_cocci_menhir.mly"
+# 634 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 32294 "parser_cocci_menhir.ml"
+# 37861 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
+# 693 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32300 "parser_cocci_menhir.ml"
+# 37867 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32307 "parser_cocci_menhir.ml"
+# 37874 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32313 "parser_cocci_menhir.ml"
+# 37880 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32339,14 +37906,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 32345 "parser_cocci_menhir.ml"
+# 37912 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32350 "parser_cocci_menhir.ml"
+# 37917 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32356,29 +37923,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 482 "parser_cocci_menhir.mly"
+# 636 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 32363 "parser_cocci_menhir.ml"
+# 37930 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
+# 693 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32369 "parser_cocci_menhir.ml"
+# 37936 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32376 "parser_cocci_menhir.ml"
+# 37943 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32382 "parser_cocci_menhir.ml"
+# 37949 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32417,19 +37984,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 32423 "parser_cocci_menhir.ml"
+# 37990 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 32428 "parser_cocci_menhir.ml"
+# 37995 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let r1 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32433 "parser_cocci_menhir.ml"
+# 38000 "parser_cocci_menhir.ml"
         ) = Obj.magic r1 in
         let _startpos = _startpos_r1_ in
         let _endpos = _endpos_m_ in
@@ -32441,33 +38008,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 485 "parser_cocci_menhir.mly"
+# 639 "parser_cocci_menhir.mly"
     ( let nm = (r,P.id2name p) in
     (* this is only possible when we are in a metavar decl.  Otherwise,
        it will be represented already as a MetaType *)
     let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
     Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
                            Ast0.Impure (*will be ignored*))) )
-# 32452 "parser_cocci_menhir.ml"
+# 38019 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
+# 693 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32458 "parser_cocci_menhir.ml"
+# 38025 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32465 "parser_cocci_menhir.ml"
+# 38032 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32471 "parser_cocci_menhir.ml"
+# 38038 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32497,14 +38064,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32503 "parser_cocci_menhir.ml"
+# 38070 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32508 "parser_cocci_menhir.ml"
+# 38075 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32514,28 +38081,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 492 "parser_cocci_menhir.mly"
+# 646 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 32520 "parser_cocci_menhir.ml"
+# 38087 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
+# 693 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32526 "parser_cocci_menhir.ml"
+# 38093 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32533 "parser_cocci_menhir.ml"
+# 38100 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32539 "parser_cocci_menhir.ml"
+# 38106 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32570,19 +38137,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32576 "parser_cocci_menhir.ml"
+# 38143 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32581 "parser_cocci_menhir.ml"
+# 38148 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32586 "parser_cocci_menhir.ml"
+# 38153 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32594,31 +38161,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 494 "parser_cocci_menhir.mly"
+# 648 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 32603 "parser_cocci_menhir.ml"
+# 38170 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
+# 693 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32609 "parser_cocci_menhir.ml"
+# 38176 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32616 "parser_cocci_menhir.ml"
+# 38183 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32622 "parser_cocci_menhir.ml"
+# 38189 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32648,14 +38215,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32654 "parser_cocci_menhir.ml"
+# 38221 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32659 "parser_cocci_menhir.ml"
+# 38226 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32665,28 +38232,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 476 "parser_cocci_menhir.mly"
+# 630 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 32671 "parser_cocci_menhir.ml"
+# 38238 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
+# 695 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 32677 "parser_cocci_menhir.ml"
+# 38244 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32684 "parser_cocci_menhir.ml"
+# 38251 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32690 "parser_cocci_menhir.ml"
+# 38257 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32716,14 +38283,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32722 "parser_cocci_menhir.ml"
+# 38289 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32727 "parser_cocci_menhir.ml"
+# 38294 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32733,28 +38300,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 478 "parser_cocci_menhir.mly"
+# 632 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 32739 "parser_cocci_menhir.ml"
+# 38306 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
+# 695 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 32745 "parser_cocci_menhir.ml"
+# 38312 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32752 "parser_cocci_menhir.ml"
+# 38319 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32758 "parser_cocci_menhir.ml"
+# 38325 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32784,14 +38351,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32790 "parser_cocci_menhir.ml"
+# 38357 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32795 "parser_cocci_menhir.ml"
+# 38362 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32801,28 +38368,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 480 "parser_cocci_menhir.mly"
+# 634 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 32807 "parser_cocci_menhir.ml"
+# 38374 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
+# 695 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 32813 "parser_cocci_menhir.ml"
+# 38380 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32820 "parser_cocci_menhir.ml"
+# 38387 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32826 "parser_cocci_menhir.ml"
+# 38393 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32852,14 +38419,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 32858 "parser_cocci_menhir.ml"
+# 38425 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32863 "parser_cocci_menhir.ml"
+# 38430 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32869,29 +38436,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 482 "parser_cocci_menhir.mly"
+# 636 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 32876 "parser_cocci_menhir.ml"
+# 38443 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
+# 695 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 32882 "parser_cocci_menhir.ml"
+# 38449 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32889 "parser_cocci_menhir.ml"
+# 38456 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32895 "parser_cocci_menhir.ml"
+# 38462 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32930,19 +38497,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 32936 "parser_cocci_menhir.ml"
+# 38503 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 32941 "parser_cocci_menhir.ml"
+# 38508 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let r1 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32946 "parser_cocci_menhir.ml"
+# 38513 "parser_cocci_menhir.ml"
         ) = Obj.magic r1 in
         let _startpos = _startpos_r1_ in
         let _endpos = _endpos_m_ in
@@ -32954,33 +38521,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 485 "parser_cocci_menhir.mly"
+# 639 "parser_cocci_menhir.mly"
     ( let nm = (r,P.id2name p) in
     (* this is only possible when we are in a metavar decl.  Otherwise,
        it will be represented already as a MetaType *)
     let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
     Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
                            Ast0.Impure (*will be ignored*))) )
-# 32965 "parser_cocci_menhir.ml"
+# 38532 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
+# 695 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 32971 "parser_cocci_menhir.ml"
+# 38538 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32978 "parser_cocci_menhir.ml"
+# 38545 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32984 "parser_cocci_menhir.ml"
+# 38551 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33010,14 +38577,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33016 "parser_cocci_menhir.ml"
+# 38583 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33021 "parser_cocci_menhir.ml"
+# 38588 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -33027,28 +38594,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 492 "parser_cocci_menhir.mly"
+# 646 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 33033 "parser_cocci_menhir.ml"
+# 38600 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
+# 695 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33039 "parser_cocci_menhir.ml"
+# 38606 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33046 "parser_cocci_menhir.ml"
+# 38613 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33052 "parser_cocci_menhir.ml"
+# 38619 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33083,19 +38650,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33089 "parser_cocci_menhir.ml"
+# 38656 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33094 "parser_cocci_menhir.ml"
+# 38661 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33099 "parser_cocci_menhir.ml"
+# 38666 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -33107,31 +38674,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 494 "parser_cocci_menhir.mly"
+# 648 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 33116 "parser_cocci_menhir.ml"
+# 38683 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
+# 695 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33122 "parser_cocci_menhir.ml"
+# 38689 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33129 "parser_cocci_menhir.ml"
+# 38696 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33135 "parser_cocci_menhir.ml"
+# 38702 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33156,9 +38723,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33162 "parser_cocci_menhir.ml"
+# 38729 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -33167,28 +38734,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 476 "parser_cocci_menhir.mly"
+# 630 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 33173 "parser_cocci_menhir.ml"
+# 38740 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
+# 696 "parser_cocci_menhir.mly"
                     ( ty )
-# 33179 "parser_cocci_menhir.ml"
+# 38746 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33186 "parser_cocci_menhir.ml"
+# 38753 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33192 "parser_cocci_menhir.ml"
+# 38759 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33213,9 +38780,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33219 "parser_cocci_menhir.ml"
+# 38786 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -33224,28 +38791,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 478 "parser_cocci_menhir.mly"
+# 632 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 33230 "parser_cocci_menhir.ml"
+# 38797 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
+# 696 "parser_cocci_menhir.mly"
                     ( ty )
-# 33236 "parser_cocci_menhir.ml"
+# 38803 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33243 "parser_cocci_menhir.ml"
+# 38810 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33249 "parser_cocci_menhir.ml"
+# 38816 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33270,9 +38837,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33276 "parser_cocci_menhir.ml"
+# 38843 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -33281,28 +38848,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 480 "parser_cocci_menhir.mly"
+# 634 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 33287 "parser_cocci_menhir.ml"
+# 38854 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
+# 696 "parser_cocci_menhir.mly"
                     ( ty )
-# 33293 "parser_cocci_menhir.ml"
+# 38860 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33300 "parser_cocci_menhir.ml"
+# 38867 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33306 "parser_cocci_menhir.ml"
+# 38873 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33327,9 +38894,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 33333 "parser_cocci_menhir.ml"
+# 38900 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let _startpos = _startpos_p00_ in
         let _endpos = _endpos_m_ in
@@ -33338,29 +38905,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 482 "parser_cocci_menhir.mly"
+# 636 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 33345 "parser_cocci_menhir.ml"
+# 38912 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
+# 696 "parser_cocci_menhir.mly"
                     ( ty )
-# 33351 "parser_cocci_menhir.ml"
+# 38918 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33358 "parser_cocci_menhir.ml"
+# 38925 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33364 "parser_cocci_menhir.ml"
+# 38931 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33394,14 +38961,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 33400 "parser_cocci_menhir.ml"
+# 38967 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 33405 "parser_cocci_menhir.ml"
+# 38972 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let _startpos = _startpos_r00_ in
         let _endpos = _endpos_m_ in
@@ -33412,33 +38979,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 485 "parser_cocci_menhir.mly"
+# 639 "parser_cocci_menhir.mly"
     ( let nm = (r,P.id2name p) in
     (* this is only possible when we are in a metavar decl.  Otherwise,
        it will be represented already as a MetaType *)
     let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
     Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
                            Ast0.Impure (*will be ignored*))) )
-# 33423 "parser_cocci_menhir.ml"
+# 38990 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
+# 696 "parser_cocci_menhir.mly"
                     ( ty )
-# 33429 "parser_cocci_menhir.ml"
+# 38996 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33436 "parser_cocci_menhir.ml"
+# 39003 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33442 "parser_cocci_menhir.ml"
+# 39009 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33463,9 +39030,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33469 "parser_cocci_menhir.ml"
+# 39036 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -33474,28 +39041,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 492 "parser_cocci_menhir.mly"
+# 646 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 33480 "parser_cocci_menhir.ml"
+# 39047 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
+# 696 "parser_cocci_menhir.mly"
                     ( ty )
-# 33486 "parser_cocci_menhir.ml"
+# 39053 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33493 "parser_cocci_menhir.ml"
+# 39060 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33499 "parser_cocci_menhir.ml"
+# 39066 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33525,14 +39092,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33531 "parser_cocci_menhir.ml"
+# 39098 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33536 "parser_cocci_menhir.ml"
+# 39103 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let _startpos = _startpos_ty100_ in
         let _endpos = _endpos_m_ in
@@ -33543,31 +39110,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 494 "parser_cocci_menhir.mly"
+# 648 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 33552 "parser_cocci_menhir.ml"
+# 39119 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
+# 696 "parser_cocci_menhir.mly"
                     ( ty )
-# 33558 "parser_cocci_menhir.ml"
+# 39125 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33565 "parser_cocci_menhir.ml"
+# 39132 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33571 "parser_cocci_menhir.ml"
+# 39138 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33592,9 +39159,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 50 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33598 "parser_cocci_menhir.ml"
+# 39165 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -33603,28 +39170,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 502 "parser_cocci_menhir.mly"
+# 656 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 33609 "parser_cocci_menhir.ml"
+# 39176 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 33615 "parser_cocci_menhir.ml"
+# 39182 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33622 "parser_cocci_menhir.ml"
+# 39189 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33628 "parser_cocci_menhir.ml"
+# 39195 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33649,9 +39216,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33655 "parser_cocci_menhir.ml"
+# 39222 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -33660,28 +39227,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 504 "parser_cocci_menhir.mly"
+# 658 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 33666 "parser_cocci_menhir.ml"
+# 39233 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 33672 "parser_cocci_menhir.ml"
+# 39239 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33679 "parser_cocci_menhir.ml"
+# 39246 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33685 "parser_cocci_menhir.ml"
+# 39252 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33706,9 +39273,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33712 "parser_cocci_menhir.ml"
+# 39279 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -33717,28 +39284,199 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 506 "parser_cocci_menhir.mly"
+# 660 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 33723 "parser_cocci_menhir.ml"
+# 39290 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 33729 "parser_cocci_menhir.ml"
+# 39296 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33736 "parser_cocci_menhir.ml"
+# 39303 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 39309 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39336 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let _startpos = _startpos_ty00_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let ty0 = ty00 in
+          let ty =
+            let ty = ty0 in
+            
+# 662 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 39347 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39353 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 39360 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 718 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 39366 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39393 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let _startpos = _startpos_ty00_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let ty0 = ty00 in
+          let ty =
+            let ty = ty0 in
+            
+# 664 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 39404 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39410 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 39417 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33742 "parser_cocci_menhir.ml"
+# 39423 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39450 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let _startpos = _startpos_ty00_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let ty0 = ty00 in
+          let ty =
+            let ty = ty0 in
+            
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 39461 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39467 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 39474 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 718 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 39480 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33769,9 +39507,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let m : 'tv_list_TMul_ = Obj.magic m in
         let i00 : 'tv_ident = Obj.magic i00 in
         let s00 : (
-# 50 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33775 "parser_cocci_menhir.ml"
+# 39513 "parser_cocci_menhir.ml"
         ) = Obj.magic s00 in
         let _startpos = _startpos_s00_ in
         let _endpos = _endpos_m_ in
@@ -33782,28 +39520,235 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let i = i0 in
             let s = s0 in
             
-# 508 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 33788 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 39526 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39532 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 39539 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 718 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 39545 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = ids00;
+              MenhirLib.EngineTypes.startp = _startpos_ids00_;
+              MenhirLib.EngineTypes.endp = _endpos_ids00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = s00;
+                  MenhirLib.EngineTypes.startp = _startpos_s00_;
+                  MenhirLib.EngineTypes.endp = _endpos_s00_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39587 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39593 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39598 "parser_cocci_menhir.ml"
+        ) = Obj.magic s00 in
+        let _startpos = _startpos_s00_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let r0 = r00 in
+          let ids0 = ids00 in
+          let l0 = l00 in
+          let s0 = s00 in
+          let ty =
+            let r = r0 in
+            let ids = ids0 in
+            let l = l0 in
+            let s = s0 in
+            let i =
+              
+# 39 "standard.mly"
+    ( None )
+# 39616 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 670 "parser_cocci_menhir.mly"
+    ( (if i = None && !Data.in_iso
+    then failwith "enums must be named in the iso file");
+      Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+                            P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 39625 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39631 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 39638 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 718 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 39644 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = ids00;
+              MenhirLib.EngineTypes.startp = _startpos_ids00_;
+              MenhirLib.EngineTypes.endp = _endpos_ids00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = x000;
+                  MenhirLib.EngineTypes.startp = _startpos_x000_;
+                  MenhirLib.EngineTypes.endp = _endpos_x000_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = s00;
+                    MenhirLib.EngineTypes.startp = _startpos_s00_;
+                    MenhirLib.EngineTypes.endp = _endpos_s00_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39691 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39697 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_ident = Obj.magic x000 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39703 "parser_cocci_menhir.ml"
+        ) = Obj.magic s00 in
+        let _startpos = _startpos_s00_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let r0 = r00 in
+          let ids0 = ids00 in
+          let l0 = l00 in
+          let x00 = x000 in
+          let s0 = s00 in
+          let ty =
+            let r = r0 in
+            let ids = ids0 in
+            let l = l0 in
+            let x0 = x00 in
+            let s = s0 in
+            let i =
+              let x = x0 in
+              
+# 41 "standard.mly"
+    ( Some x )
+# 39724 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 670 "parser_cocci_menhir.mly"
+    ( (if i = None && !Data.in_iso
+    then failwith "enums must be named in the iso file");
+      Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+                            P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 39733 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 33794 "parser_cocci_menhir.ml"
+# 39739 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33801 "parser_cocci_menhir.ml"
+# 39746 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33807 "parser_cocci_menhir.ml"
+# 39752 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33832,7 +39777,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let i00 : 'tv_ident = Obj.magic i00 in
+        let i00 : 'tv_type_ident = Obj.magic i00 in
         let s00 : 'tv_struct_or_union = Obj.magic s00 in
         let _startpos = _startpos_s00_ in
         let _endpos = _endpos_m_ in
@@ -33843,28 +39788,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let i = i0 in
             let s = s0 in
             
-# 510 "parser_cocci_menhir.mly"
+# 675 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 33849 "parser_cocci_menhir.ml"
+# 39794 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 33855 "parser_cocci_menhir.ml"
+# 39800 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33862 "parser_cocci_menhir.ml"
+# 39807 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33868 "parser_cocci_menhir.ml"
+# 39813 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33904,15 +39849,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let r00 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 33910 "parser_cocci_menhir.ml"
+# 39855 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let d00 : 'tv_struct_decl_list = Obj.magic d00 in
         let l00 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 33916 "parser_cocci_menhir.ml"
+# 39861 "parser_cocci_menhir.ml"
         ) = Obj.magic l00 in
         let s00 : 'tv_struct_or_union = Obj.magic s00 in
         let _startpos = _startpos_s00_ in
@@ -33931,36 +39876,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               
 # 39 "standard.mly"
     ( None )
-# 33935 "parser_cocci_menhir.ml"
+# 39880 "parser_cocci_menhir.ml"
               
             in
             
-# 513 "parser_cocci_menhir.mly"
+# 678 "parser_cocci_menhir.mly"
     ( (if i = None && !Data.in_iso
     then failwith "structures must be named in the iso file");
       Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
                                    P.clt2mcode "{" l,
                                    d, P.clt2mcode "}" r)) )
-# 33945 "parser_cocci_menhir.ml"
+# 39890 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 33951 "parser_cocci_menhir.ml"
+# 39896 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33958 "parser_cocci_menhir.ml"
+# 39903 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33964 "parser_cocci_menhir.ml"
+# 39909 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34005,17 +39950,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let r00 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 34011 "parser_cocci_menhir.ml"
+# 39956 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let d00 : 'tv_struct_decl_list = Obj.magic d00 in
         let l00 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 34017 "parser_cocci_menhir.ml"
+# 39962 "parser_cocci_menhir.ml"
         ) = Obj.magic l00 in
-        let x000 : 'tv_ident = Obj.magic x000 in
+        let x000 : 'tv_type_ident = Obj.magic x000 in
         let s00 : 'tv_struct_or_union = Obj.magic s00 in
         let _startpos = _startpos_s00_ in
         let _endpos = _endpos_m_ in
@@ -34036,36 +39981,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               
 # 41 "standard.mly"
     ( Some x )
-# 34040 "parser_cocci_menhir.ml"
+# 39985 "parser_cocci_menhir.ml"
               
             in
             
-# 513 "parser_cocci_menhir.mly"
+# 678 "parser_cocci_menhir.mly"
     ( (if i = None && !Data.in_iso
     then failwith "structures must be named in the iso file");
       Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
                                    P.clt2mcode "{" l,
                                    d, P.clt2mcode "}" r)) )
-# 34050 "parser_cocci_menhir.ml"
+# 39995 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 34056 "parser_cocci_menhir.ml"
+# 40001 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 34063 "parser_cocci_menhir.ml"
+# 40008 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34069 "parser_cocci_menhir.ml"
+# 40014 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34105,20 +40050,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let r00 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 34111 "parser_cocci_menhir.ml"
+# 40056 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let d00 : 'tv_struct_decl_list = Obj.magic d00 in
         let l00 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 34117 "parser_cocci_menhir.ml"
+# 40062 "parser_cocci_menhir.ml"
         ) = Obj.magic l00 in
         let s00 : (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 34122 "parser_cocci_menhir.ml"
+# 40067 "parser_cocci_menhir.ml"
         ) = Obj.magic s00 in
         let _startpos = _startpos_s00_ in
         let _endpos = _endpos_m_ in
@@ -34133,30 +40078,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let l = l0 in
             let s = s0 in
             
-# 519 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = s in
     let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
     Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
-# 34141 "parser_cocci_menhir.ml"
+# 40086 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 34147 "parser_cocci_menhir.ml"
+# 40092 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 34154 "parser_cocci_menhir.ml"
+# 40099 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34160 "parser_cocci_menhir.ml"
+# 40105 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34181,9 +40126,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 34187 "parser_cocci_menhir.ml"
+# 40132 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let _startpos = _startpos_p00_ in
         let _endpos = _endpos_m_ in
@@ -34192,28 +40137,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 523 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 34198 "parser_cocci_menhir.ml"
+# 40143 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 34204 "parser_cocci_menhir.ml"
+# 40149 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 34211 "parser_cocci_menhir.ml"
+# 40156 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34217 "parser_cocci_menhir.ml"
+# 40162 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34248,14 +40193,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34254 "parser_cocci_menhir.ml"
+# 40199 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34259 "parser_cocci_menhir.ml"
+# 40204 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34266,15 +40211,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 476 "parser_cocci_menhir.mly"
+# 630 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 34272 "parser_cocci_menhir.ml"
+# 40217 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
+# 693 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34278 "parser_cocci_menhir.ml"
+# 40223 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34282,13 +40227,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34286 "parser_cocci_menhir.ml"
+# 40231 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34292 "parser_cocci_menhir.ml"
+# 40237 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34323,14 +40268,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34329 "parser_cocci_menhir.ml"
+# 40274 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34334 "parser_cocci_menhir.ml"
+# 40279 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34341,15 +40286,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 478 "parser_cocci_menhir.mly"
+# 632 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 34347 "parser_cocci_menhir.ml"
+# 40292 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
+# 693 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34353 "parser_cocci_menhir.ml"
+# 40298 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34357,13 +40302,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34361 "parser_cocci_menhir.ml"
+# 40306 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34367 "parser_cocci_menhir.ml"
+# 40312 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34398,14 +40343,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34404 "parser_cocci_menhir.ml"
+# 40349 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34409 "parser_cocci_menhir.ml"
+# 40354 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34416,15 +40361,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 480 "parser_cocci_menhir.mly"
+# 634 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 34422 "parser_cocci_menhir.ml"
+# 40367 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
+# 693 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34428 "parser_cocci_menhir.ml"
+# 40373 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34432,13 +40377,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34436 "parser_cocci_menhir.ml"
+# 40381 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34442 "parser_cocci_menhir.ml"
+# 40387 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34473,14 +40418,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 34479 "parser_cocci_menhir.ml"
+# 40424 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34484 "parser_cocci_menhir.ml"
+# 40429 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34491,16 +40436,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 482 "parser_cocci_menhir.mly"
+# 636 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 34498 "parser_cocci_menhir.ml"
+# 40443 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
+# 693 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34504 "parser_cocci_menhir.ml"
+# 40449 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34508,13 +40453,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34512 "parser_cocci_menhir.ml"
+# 40457 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34518 "parser_cocci_menhir.ml"
+# 40463 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34558,19 +40503,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 34564 "parser_cocci_menhir.ml"
+# 40509 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 34569 "parser_cocci_menhir.ml"
+# 40514 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let r1 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34574 "parser_cocci_menhir.ml"
+# 40519 "parser_cocci_menhir.ml"
         ) = Obj.magic r1 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34583,20 +40528,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 485 "parser_cocci_menhir.mly"
+# 639 "parser_cocci_menhir.mly"
     ( let nm = (r,P.id2name p) in
     (* this is only possible when we are in a metavar decl.  Otherwise,
        it will be represented already as a MetaType *)
     let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
     Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
                            Ast0.Impure (*will be ignored*))) )
-# 34594 "parser_cocci_menhir.ml"
+# 40539 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
+# 693 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34600 "parser_cocci_menhir.ml"
+# 40545 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34604,13 +40549,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34608 "parser_cocci_menhir.ml"
+# 40553 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34614 "parser_cocci_menhir.ml"
+# 40559 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34645,14 +40590,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34651 "parser_cocci_menhir.ml"
+# 40596 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34656 "parser_cocci_menhir.ml"
+# 40601 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34663,15 +40608,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 492 "parser_cocci_menhir.mly"
+# 646 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 34669 "parser_cocci_menhir.ml"
+# 40614 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
+# 693 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34675 "parser_cocci_menhir.ml"
+# 40620 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34679,13 +40624,575 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34683 "parser_cocci_menhir.ml"
+# 40628 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 40634 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty200;
+            MenhirLib.EngineTypes.startp = _startpos_ty200_;
+            MenhirLib.EngineTypes.endp = _endpos_ty200_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = ty100;
+              MenhirLib.EngineTypes.startp = _startpos_ty100_;
+              MenhirLib.EngineTypes.endp = _endpos_ty100_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = r0;
+                MenhirLib.EngineTypes.startp = _startpos_r0_;
+                MenhirLib.EngineTypes.endp = _endpos_r0_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = x0;
+                  MenhirLib.EngineTypes.startp = _startpos_x0_;
+                  MenhirLib.EngineTypes.endp = _endpos_x0_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40676 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40681 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty100 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40686 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let ty20 = ty200 in
+          let ty10 = ty100 in
+          let r = r0 in
+          let ty =
+            let ty2 = ty20 in
+            let ty1 = ty10 in
+            
+# 648 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 40704 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 693 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40710 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 40718 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 718 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 40724 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40761 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40766 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let ty0 = ty00 in
+          let r = r0 in
+          let ty =
+            let ty = ty0 in
+            
+# 630 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 40779 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40785 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 40793 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 718 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 40799 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40836 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40841 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let ty0 = ty00 in
+          let r = r0 in
+          let ty =
+            let ty = ty0 in
+            
+# 632 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 40854 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40860 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 40868 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 718 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 40874 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40911 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40916 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let ty0 = ty00 in
+          let r = r0 in
+          let ty =
+            let ty = ty0 in
+            
+# 634 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 40929 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40935 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 40943 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 718 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 40949 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let p00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 40986 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40991 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let p0 = p00 in
+          let r = r0 in
+          let ty =
+            let p = p0 in
+            
+# 636 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 41005 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 41011 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 41019 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 718 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 41025 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__4_;
+              MenhirLib.EngineTypes.endp = _endpos__4_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = r00;
+                MenhirLib.EngineTypes.startp = _startpos_r00_;
+                MenhirLib.EngineTypes.endp = _endpos_r00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = r1;
+                  MenhirLib.EngineTypes.startp = _startpos_r1_;
+                  MenhirLib.EngineTypes.endp = _endpos_r1_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = x0;
+                    MenhirLib.EngineTypes.startp = _startpos_x0_;
+                    MenhirLib.EngineTypes.endp = _endpos_x0_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 41071 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r00 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 41076 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let r1 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 41081 "parser_cocci_menhir.ml"
+        ) = Obj.magic r1 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let p0 = p00 in
+          let r0 = r00 in
+          let r = r1 in
+          let ty =
+            let p = p0 in
+            let r = r0 in
+            
+# 639 "parser_cocci_menhir.mly"
+    ( let nm = (r,P.id2name p) in
+    (* this is only possible when we are in a metavar decl.  Otherwise,
+       it will be represented already as a MetaType *)
+    let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
+    Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
+                           Ast0.Impure (*will be ignored*))) )
+# 41101 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 41107 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 41115 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 718 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 41121 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 41158 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 41163 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_typedef_ctype = let ty =
+          let ty0 = ty00 in
+          let r = r0 in
+          let ty =
+            let ty = ty0 in
+            
+# 646 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 41176 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 41182 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 41190 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34689 "parser_cocci_menhir.ml"
+# 41196 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34725,19 +41232,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34731 "parser_cocci_menhir.ml"
+# 41238 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34736 "parser_cocci_menhir.ml"
+# 41243 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 51 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34741 "parser_cocci_menhir.ml"
+# 41248 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34750,18 +41257,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 494 "parser_cocci_menhir.mly"
+# 648 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 34759 "parser_cocci_menhir.ml"
+# 41266 "parser_cocci_menhir.ml"
             
           in
           
-# 528 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34765 "parser_cocci_menhir.ml"
+# 695 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 41272 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34769,13 +41276,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34773 "parser_cocci_menhir.ml"
+# 41280 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34779 "parser_cocci_menhir.ml"
+# 41286 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34795,48 +41302,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34816 "parser_cocci_menhir.ml"
+# 41318 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 34821 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
           let ty0 = ty00 in
-          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 476 "parser_cocci_menhir.mly"
+# 630 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 34834 "parser_cocci_menhir.ml"
+# 41330 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 34840 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41336 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34844,13 +41340,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34848 "parser_cocci_menhir.ml"
+# 41344 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34854 "parser_cocci_menhir.ml"
+# 41350 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34870,48 +41366,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34891 "parser_cocci_menhir.ml"
+# 41382 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 34896 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
           let ty0 = ty00 in
-          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 478 "parser_cocci_menhir.mly"
+# 632 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 34909 "parser_cocci_menhir.ml"
+# 41394 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 34915 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41400 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34919,13 +41404,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34923 "parser_cocci_menhir.ml"
+# 41408 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34929 "parser_cocci_menhir.ml"
+# 41414 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34945,48 +41430,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34966 "parser_cocci_menhir.ml"
+# 41446 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 34971 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
           let ty0 = ty00 in
-          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 480 "parser_cocci_menhir.mly"
+# 634 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 34984 "parser_cocci_menhir.ml"
+# 41458 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 34990 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41464 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34994,13 +41468,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34998 "parser_cocci_menhir.ml"
+# 41472 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35004 "parser_cocci_menhir.ml"
+# 41478 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35020,49 +41494,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_p00_;
             MenhirLib.EngineTypes.endp = _endpos_p00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 35041 "parser_cocci_menhir.ml"
+# 41510 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35046 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
           let p0 = p00 in
-          let r = r0 in
           let ty =
             let p = p0 in
             
-# 482 "parser_cocci_menhir.mly"
+# 636 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 35060 "parser_cocci_menhir.ml"
+# 41523 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35066 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41529 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35070,13 +41533,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35074 "parser_cocci_menhir.ml"
+# 41537 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35080 "parser_cocci_menhir.ml"
+# 41543 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35096,23 +41559,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_p00_;
             MenhirLib.EngineTypes.endp = _endpos_p00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
               MenhirLib.EngineTypes.next = {
                 MenhirLib.EngineTypes.semv = r00;
                 MenhirLib.EngineTypes.startp = _startpos_r00_;
                 MenhirLib.EngineTypes.endp = _endpos_r00_;
                 MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = r1;
-                  MenhirLib.EngineTypes.startp = _startpos_r1_;
-                  MenhirLib.EngineTypes.endp = _endpos_r1_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = x0;
-                    MenhirLib.EngineTypes.startp = _startpos_x0_;
-                    MenhirLib.EngineTypes.endp = _endpos_x0_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
-                    };
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = x0;
+                  MenhirLib.EngineTypes.startp = _startpos_x0_;
+                  MenhirLib.EngineTypes.endp = _endpos_x0_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
                   };
                 };
               };
@@ -35120,45 +41578,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 35126 "parser_cocci_menhir.ml"
+# 41584 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 47 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 35131 "parser_cocci_menhir.ml"
+# 41589 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let r1 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35136 "parser_cocci_menhir.ml"
-        ) = Obj.magic r1 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
           let p0 = p00 in
           let r0 = r00 in
-          let r = r1 in
           let ty =
             let p = p0 in
             let r = r0 in
             
-# 485 "parser_cocci_menhir.mly"
+# 639 "parser_cocci_menhir.mly"
     ( let nm = (r,P.id2name p) in
     (* this is only possible when we are in a metavar decl.  Otherwise,
        it will be represented already as a MetaType *)
     let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
     Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
                            Ast0.Impure (*will be ignored*))) )
-# 35156 "parser_cocci_menhir.ml"
+# 41608 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35162 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41614 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35166,13 +41618,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35170 "parser_cocci_menhir.ml"
+# 41622 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35176 "parser_cocci_menhir.ml"
+# 41628 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35192,48 +41644,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35213 "parser_cocci_menhir.ml"
+# 41660 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35218 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
           let ty0 = ty00 in
-          let r = r0 in
           let ty =
             let ty = ty0 in
             
-# 492 "parser_cocci_menhir.mly"
+# 646 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 35231 "parser_cocci_menhir.ml"
+# 41672 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35237 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41678 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35241,13 +41682,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35245 "parser_cocci_menhir.ml"
+# 41686 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35251 "parser_cocci_menhir.ml"
+# 41692 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35271,59 +41712,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               MenhirLib.EngineTypes.startp = _startpos_ty100_;
               MenhirLib.EngineTypes.endp = _endpos_ty100_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = r0;
-                MenhirLib.EngineTypes.startp = _startpos_r0_;
-                MenhirLib.EngineTypes.endp = _endpos_r0_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = x0;
-                  MenhirLib.EngineTypes.startp = _startpos_x0_;
-                  MenhirLib.EngineTypes.endp = _endpos_x0_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
                 };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35293 "parser_cocci_menhir.ml"
+# 41729 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35298 "parser_cocci_menhir.ml"
+# 41734 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
-        let r0 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35303 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
           let ty20 = ty200 in
           let ty10 = ty100 in
-          let r = r0 in
           let ty =
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 494 "parser_cocci_menhir.mly"
+# 648 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 35321 "parser_cocci_menhir.ml"
+# 41751 "parser_cocci_menhir.ml"
             
           in
           
-# 530 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35327 "parser_cocci_menhir.ml"
+# 696 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41757 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35331,13 +41761,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35335 "parser_cocci_menhir.ml"
+# 41765 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35341 "parser_cocci_menhir.ml"
+# 41771 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35367,9 +41797,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35373 "parser_cocci_menhir.ml"
+# 41803 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35379,15 +41809,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 476 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 35385 "parser_cocci_menhir.ml"
+# 656 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 41815 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 35391 "parser_cocci_menhir.ml"
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 41821 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35395,13 +41825,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35399 "parser_cocci_menhir.ml"
+# 41829 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35405 "parser_cocci_menhir.ml"
+# 41835 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35431,9 +41861,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35437 "parser_cocci_menhir.ml"
+# 41867 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35443,15 +41873,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 478 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 35449 "parser_cocci_menhir.ml"
+# 658 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 41879 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 35455 "parser_cocci_menhir.ml"
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 41885 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35459,13 +41889,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35463 "parser_cocci_menhir.ml"
+# 41893 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35469 "parser_cocci_menhir.ml"
+# 41899 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35495,9 +41925,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35501 "parser_cocci_menhir.ml"
+# 41931 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35507,15 +41937,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 480 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 35513 "parser_cocci_menhir.ml"
+# 660 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 41943 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 35519 "parser_cocci_menhir.ml"
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 41949 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35523,13 +41953,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35527 "parser_cocci_menhir.ml"
+# 41957 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35533 "parser_cocci_menhir.ml"
+# 41963 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35545,9 +41975,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = p00;
-            MenhirLib.EngineTypes.startp = _startpos_p00_;
-            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
               MenhirLib.EngineTypes.semv = x0;
@@ -35558,114 +41988,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 64 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 35565 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
-        let _endpos = _endpos_m_ in
-        let _v : 'tv_typedef_ctype = let ty =
-          let p0 = p00 in
-          let ty =
-            let p = p0 in
-            
-# 482 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 35578 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 35584 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          let x = x0 in
-          
-# 41 "standard.mly"
-    ( Some x )
-# 35592 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 549 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 35598 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = p00;
-            MenhirLib.EngineTypes.startp = _startpos_p00_;
-            MenhirLib.EngineTypes.endp = _endpos_p00_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = r00;
-                MenhirLib.EngineTypes.startp = _startpos_r00_;
-                MenhirLib.EngineTypes.endp = _endpos_r00_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = x0;
-                  MenhirLib.EngineTypes.startp = _startpos_x0_;
-                  MenhirLib.EngineTypes.endp = _endpos_x0_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
-            };
-          } = _menhir_stack in
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 59 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 35639 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r00 : (
-# 47 "parser_cocci_menhir.mly"
-      (string)
-# 35644 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 41995 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
-          let p0 = p00 in
-          let r0 = r00 in
+          let ty0 = ty00 in
           let ty =
-            let p = p0 in
-            let r = r0 in
+            let ty = ty0 in
             
-# 485 "parser_cocci_menhir.mly"
-    ( let nm = (r,P.id2name p) in
-    (* this is only possible when we are in a metavar decl.  Otherwise,
-       it will be represented already as a MetaType *)
-    let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in
-    Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p),
-                           Ast0.Impure (*will be ignored*))) )
-# 35663 "parser_cocci_menhir.ml"
+# 662 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 42007 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 35669 "parser_cocci_menhir.ml"
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 42013 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35673,13 +42017,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35677 "parser_cocci_menhir.ml"
+# 42021 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35683 "parser_cocci_menhir.ml"
+# 42027 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35709,9 +42053,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35715 "parser_cocci_menhir.ml"
+# 42059 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35721,94 +42065,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 492 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 35727 "parser_cocci_menhir.ml"
+# 664 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 42071 "parser_cocci_menhir.ml"
             
           in
           
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 35733 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          let x = x0 in
-          
-# 41 "standard.mly"
-    ( Some x )
-# 35741 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 549 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 35747 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty200;
-            MenhirLib.EngineTypes.startp = _startpos_ty200_;
-            MenhirLib.EngineTypes.endp = _endpos_ty200_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = ty100;
-              MenhirLib.EngineTypes.startp = _startpos_ty100_;
-              MenhirLib.EngineTypes.endp = _endpos_ty100_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
-            };
-          } = _menhir_stack in
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty200 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35784 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 49 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35789 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
-        let _endpos = _endpos_m_ in
-        let _v : 'tv_typedef_ctype = let ty =
-          let ty20 = ty200 in
-          let ty10 = ty100 in
-          let ty =
-            let ty2 = ty20 in
-            let ty1 = ty10 in
-            
-# 494 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 35806 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 531 "parser_cocci_menhir.mly"
-                    ( ty )
-# 35812 "parser_cocci_menhir.ml"
+# 697 "parser_cocci_menhir.mly"
+                        ( ty )
+# 42077 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35816,13 +42081,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35820 "parser_cocci_menhir.ml"
+# 42085 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35826 "parser_cocci_menhir.ml"
+# 42091 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35852,9 +42117,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 50 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35858 "parser_cocci_menhir.ml"
+# 42123 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35864,15 +42129,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 502 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 35870 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 42135 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 35876 "parser_cocci_menhir.ml"
+# 42141 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35880,13 +42145,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35884 "parser_cocci_menhir.ml"
+# 42149 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35890 "parser_cocci_menhir.ml"
+# 42155 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35902,41 +42167,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty00;
-            MenhirLib.EngineTypes.startp = _startpos_ty00_;
-            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.semv = i00;
+            MenhirLib.EngineTypes.startp = _startpos_i00_;
+            MenhirLib.EngineTypes.endp = _endpos_i00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = x0;
-              MenhirLib.EngineTypes.startp = _startpos_x0_;
-              MenhirLib.EngineTypes.endp = _endpos_x0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.semv = s00;
+              MenhirLib.EngineTypes.startp = _startpos_s00_;
+              MenhirLib.EngineTypes.endp = _endpos_s00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+        let i00 : 'tv_ident = Obj.magic i00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35922 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
+# 42193 "parser_cocci_menhir.ml"
+        ) = Obj.magic s00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
-          let ty0 = ty00 in
+          let i0 = i00 in
+          let s0 = s00 in
           let ty =
-            let ty = ty0 in
+            let i = i0 in
+            let s = s0 in
             
-# 504 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 35934 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 42207 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 35940 "parser_cocci_menhir.ml"
+# 42213 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35944,13 +42217,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35948 "parser_cocci_menhir.ml"
+# 42221 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35954 "parser_cocci_menhir.ml"
+# 42227 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35966,41 +42239,83 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty00;
-            MenhirLib.EngineTypes.startp = _startpos_ty00_;
-            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = x0;
-              MenhirLib.EngineTypes.startp = _startpos_x0_;
-              MenhirLib.EngineTypes.endp = _endpos_x0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.semv = ids00;
+              MenhirLib.EngineTypes.startp = _startpos_ids00_;
+              MenhirLib.EngineTypes.endp = _endpos_ids00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = s00;
+                  MenhirLib.EngineTypes.startp = _startpos_s00_;
+                  MenhirLib.EngineTypes.endp = _endpos_s00_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = x0;
+                    MenhirLib.EngineTypes.startp = _startpos_x0_;
+                    MenhirLib.EngineTypes.endp = _endpos_x0_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty00 : (
-# 49 "parser_cocci_menhir.mly"
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42274 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42280 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35986 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
+# 42285 "parser_cocci_menhir.ml"
+        ) = Obj.magic s00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
-          let ty0 = ty00 in
+          let r0 = r00 in
+          let ids0 = ids00 in
+          let l0 = l00 in
+          let s0 = s00 in
           let ty =
-            let ty = ty0 in
+            let r = r0 in
+            let ids = ids0 in
+            let l = l0 in
+            let s = s0 in
+            let i =
+              
+# 39 "standard.mly"
+    ( None )
+# 42304 "parser_cocci_menhir.ml"
+              
+            in
             
-# 506 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 35998 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+    ( (if i = None && !Data.in_iso
+    then failwith "enums must be named in the iso file");
+      Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+                            P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 42313 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 36004 "parser_cocci_menhir.ml"
+# 42319 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36008,13 +42323,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36012 "parser_cocci_menhir.ml"
+# 42327 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36018 "parser_cocci_menhir.ml"
+# 42333 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36030,49 +42345,92 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = i00;
-            MenhirLib.EngineTypes.startp = _startpos_i00_;
-            MenhirLib.EngineTypes.endp = _endpos_i00_;
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = s00;
-              MenhirLib.EngineTypes.startp = _startpos_s00_;
-              MenhirLib.EngineTypes.endp = _endpos_s00_;
+              MenhirLib.EngineTypes.semv = ids00;
+              MenhirLib.EngineTypes.startp = _startpos_ids00_;
+              MenhirLib.EngineTypes.endp = _endpos_ids00_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = x000;
+                  MenhirLib.EngineTypes.startp = _startpos_x000_;
+                  MenhirLib.EngineTypes.endp = _endpos_x000_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.semv = s00;
+                    MenhirLib.EngineTypes.startp = _startpos_s00_;
+                    MenhirLib.EngineTypes.endp = _endpos_s00_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.semv = x0;
+                      MenhirLib.EngineTypes.startp = _startpos_x0_;
+                      MenhirLib.EngineTypes.endp = _endpos_x0_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
+                    };
+                  };
                 };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let i00 : 'tv_ident = Obj.magic i00 in
+        let r00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42385 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 169 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42391 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_ident = Obj.magic x000 in
         let s00 : (
-# 50 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36056 "parser_cocci_menhir.ml"
+# 42397 "parser_cocci_menhir.ml"
         ) = Obj.magic s00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
-          let i0 = i00 in
+          let r0 = r00 in
+          let ids0 = ids00 in
+          let l0 = l00 in
+          let x00 = x000 in
           let s0 = s00 in
           let ty =
-            let i = i0 in
+            let r = r0 in
+            let ids = ids0 in
+            let l = l0 in
+            let x0 = x00 in
             let s = s0 in
+            let i =
+              let x = x0 in
+              
+# 41 "standard.mly"
+    ( Some x )
+# 42419 "parser_cocci_menhir.ml"
+              
+            in
             
-# 508 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 36070 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+    ( (if i = None && !Data.in_iso
+    then failwith "enums must be named in the iso file");
+      Ast0.wrap(Ast0.EnumDef(Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)),
+                            P.clt2mcode "{" l, ids, P.clt2mcode "}" r)) )
+# 42428 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 36076 "parser_cocci_menhir.ml"
+# 42434 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36080,13 +42438,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36084 "parser_cocci_menhir.ml"
+# 42442 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36090 "parser_cocci_menhir.ml"
+# 42448 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36120,7 +42478,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let i00 : 'tv_ident = Obj.magic i00 in
+        let i00 : 'tv_type_ident = Obj.magic i00 in
         let s00 : 'tv_struct_or_union = Obj.magic s00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36132,15 +42490,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let i = i0 in
             let s = s0 in
             
-# 510 "parser_cocci_menhir.mly"
+# 675 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 36138 "parser_cocci_menhir.ml"
+# 42496 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 36144 "parser_cocci_menhir.ml"
+# 42502 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36148,13 +42506,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36152 "parser_cocci_menhir.ml"
+# 42510 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36158 "parser_cocci_menhir.ml"
+# 42516 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36199,15 +42557,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let r00 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36205 "parser_cocci_menhir.ml"
+# 42563 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let d00 : 'tv_struct_decl_list = Obj.magic d00 in
         let l00 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36211 "parser_cocci_menhir.ml"
+# 42569 "parser_cocci_menhir.ml"
         ) = Obj.magic l00 in
         let s00 : 'tv_struct_or_union = Obj.magic s00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
@@ -36227,23 +42585,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               
 # 39 "standard.mly"
     ( None )
-# 36231 "parser_cocci_menhir.ml"
+# 42589 "parser_cocci_menhir.ml"
               
             in
             
-# 513 "parser_cocci_menhir.mly"
+# 678 "parser_cocci_menhir.mly"
     ( (if i = None && !Data.in_iso
     then failwith "structures must be named in the iso file");
       Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
                                    P.clt2mcode "{" l,
                                    d, P.clt2mcode "}" r)) )
-# 36241 "parser_cocci_menhir.ml"
+# 42599 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 36247 "parser_cocci_menhir.ml"
+# 42605 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36251,13 +42609,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36255 "parser_cocci_menhir.ml"
+# 42613 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36261 "parser_cocci_menhir.ml"
+# 42619 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36307,17 +42665,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let r00 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36313 "parser_cocci_menhir.ml"
+# 42671 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let d00 : 'tv_struct_decl_list = Obj.magic d00 in
         let l00 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36319 "parser_cocci_menhir.ml"
+# 42677 "parser_cocci_menhir.ml"
         ) = Obj.magic l00 in
-        let x000 : 'tv_ident = Obj.magic x000 in
+        let x000 : 'tv_type_ident = Obj.magic x000 in
         let s00 : 'tv_struct_or_union = Obj.magic s00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36339,23 +42697,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               
 # 41 "standard.mly"
     ( Some x )
-# 36343 "parser_cocci_menhir.ml"
+# 42701 "parser_cocci_menhir.ml"
               
             in
             
-# 513 "parser_cocci_menhir.mly"
+# 678 "parser_cocci_menhir.mly"
     ( (if i = None && !Data.in_iso
     then failwith "structures must be named in the iso file");
       Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)),
                                    P.clt2mcode "{" l,
                                    d, P.clt2mcode "}" r)) )
-# 36353 "parser_cocci_menhir.ml"
+# 42711 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 36359 "parser_cocci_menhir.ml"
+# 42717 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36363,13 +42721,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36367 "parser_cocci_menhir.ml"
+# 42725 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36373 "parser_cocci_menhir.ml"
+# 42731 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36414,20 +42772,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let r00 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36420 "parser_cocci_menhir.ml"
+# 42778 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let d00 : 'tv_struct_decl_list = Obj.magic d00 in
         let l00 : (
-# 101 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36426 "parser_cocci_menhir.ml"
+# 42784 "parser_cocci_menhir.ml"
         ) = Obj.magic l00 in
         let s00 : (
-# 64 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 36431 "parser_cocci_menhir.ml"
+# 42789 "parser_cocci_menhir.ml"
         ) = Obj.magic s00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36443,17 +42801,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let l = l0 in
             let s = s0 in
             
-# 519 "parser_cocci_menhir.mly"
+# 684 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = s in
     let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in
     Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) )
-# 36451 "parser_cocci_menhir.ml"
+# 42809 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 36457 "parser_cocci_menhir.ml"
+# 42815 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36461,13 +42819,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36465 "parser_cocci_menhir.ml"
+# 42823 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36471 "parser_cocci_menhir.ml"
+# 42829 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36497,9 +42855,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 59 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 36503 "parser_cocci_menhir.ml"
+# 42861 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36509,15 +42867,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 523 "parser_cocci_menhir.mly"
+# 688 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 36515 "parser_cocci_menhir.ml"
+# 42873 "parser_cocci_menhir.ml"
             
           in
           
-# 532 "parser_cocci_menhir.mly"
+# 697 "parser_cocci_menhir.mly"
                         ( ty )
-# 36521 "parser_cocci_menhir.ml"
+# 42879 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36525,13 +42883,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36529 "parser_cocci_menhir.ml"
+# 42887 "parser_cocci_menhir.ml"
           
         in
         
-# 549 "parser_cocci_menhir.mly"
+# 718 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36535 "parser_cocci_menhir.ml"
+# 42893 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36560,24 +42918,52 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36566 "parser_cocci_menhir.ml"
+# 42924 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
-        let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
+        let t : 'tv_midzero_list_mctype_mctype_ = Obj.magic t in
         let lp : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36572 "parser_cocci_menhir.ml"
+# 42930 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let _startpos = _startpos_lp_ in
         let _endpos = _endpos_rp_ in
         let _v : 'tv_typedef_ctype = 
-# 551 "parser_cocci_menhir.mly"
+# 720 "parser_cocci_menhir.mly"
     ( let (mids,code) = t in
       Ast0.wrap
        (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 36581 "parser_cocci_menhir.ml"
+# 42939 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 42960 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_typedef_ctype = 
+# 723 "parser_cocci_menhir.mly"
+        ( tmeta_to_type _1 )
+# 42967 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36599,9 +42985,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_typedef_ident = 
-# 1599 "parser_cocci_menhir.mly"
+# 1949 "parser_cocci_menhir.mly"
          ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
-# 36605 "parser_cocci_menhir.ml"
+# 42991 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36620,17 +43006,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 64 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 36626 "parser_cocci_menhir.ml"
+# 43012 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_typedef_ident = 
-# 1601 "parser_cocci_menhir.mly"
+# 1950 "parser_cocci_menhir.mly"
+             ( tmeta_to_type _1 )
+# 43019 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 43040 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_typedef_ident = 
+# 1952 "parser_cocci_menhir.mly"
          ( let (nm,pure,clt) = _1 in
         Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 36634 "parser_cocci_menhir.ml"
+# 43048 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36652,9 +43066,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_expr_eexpr_dot_expressions_ = 
-# 1291 "parser_cocci_menhir.mly"
+# 1537 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 36658 "parser_cocci_menhir.ml"
+# 43072 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36677,18 +43091,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36685 "parser_cocci_menhir.ml"
+# 43099 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_dot_expressions_ = 
-# 1293 "parser_cocci_menhir.mly"
+# 1539 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 36692 "parser_cocci_menhir.ml"
+# 43106 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36711,18 +43125,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36719 "parser_cocci_menhir.ml"
+# 43133 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_dot_expressions_ = 
-# 1295 "parser_cocci_menhir.mly"
+# 1541 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 36726 "parser_cocci_menhir.ml"
+# 43140 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36750,9 +43164,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_dot_expressions_ = 
-# 1297 "parser_cocci_menhir.mly"
+# 1543 "parser_cocci_menhir.mly"
       ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 36756 "parser_cocci_menhir.ml"
+# 43170 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36775,19 +43189,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36783 "parser_cocci_menhir.ml"
+# 43197 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_dot_expressions_ = 
-# 1299 "parser_cocci_menhir.mly"
+# 1545 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 36791 "parser_cocci_menhir.ml"
+# 43205 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36810,18 +43224,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36818 "parser_cocci_menhir.ml"
+# 43232 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_dot_expressions_ = 
-# 1302 "parser_cocci_menhir.mly"
+# 1548 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 36825 "parser_cocci_menhir.ml"
+# 43239 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36855,29 +43269,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36861 "parser_cocci_menhir.ml"
+# 43275 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let t : 'tv_ctype = Obj.magic t in
         let lp : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36867 "parser_cocci_menhir.ml"
+# 43281 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let s : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36872 "parser_cocci_menhir.ml"
+# 43286 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_rp_ in
         let _v : 'tv_unary_expr_eexpr_dot_expressions_ = 
-# 1304 "parser_cocci_menhir.mly"
+# 1550 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                    P.clt2mcode "(" lp,t,
                                    P.clt2mcode ")" rp)) )
-# 36881 "parser_cocci_menhir.ml"
+# 43295 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36899,9 +43313,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_expr_eexpr_invalid_ = 
-# 1291 "parser_cocci_menhir.mly"
+# 1537 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 36905 "parser_cocci_menhir.ml"
+# 43319 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36924,18 +43338,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36932 "parser_cocci_menhir.ml"
+# 43346 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_invalid_ = 
-# 1293 "parser_cocci_menhir.mly"
+# 1539 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 36939 "parser_cocci_menhir.ml"
+# 43353 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36958,18 +43372,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36966 "parser_cocci_menhir.ml"
+# 43380 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_invalid_ = 
-# 1295 "parser_cocci_menhir.mly"
+# 1541 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 36973 "parser_cocci_menhir.ml"
+# 43387 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36997,9 +43411,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_invalid_ = 
-# 1297 "parser_cocci_menhir.mly"
+# 1543 "parser_cocci_menhir.mly"
       ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37003 "parser_cocci_menhir.ml"
+# 43417 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37022,19 +43436,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37030 "parser_cocci_menhir.ml"
+# 43444 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_invalid_ = 
-# 1299 "parser_cocci_menhir.mly"
+# 1545 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37038 "parser_cocci_menhir.ml"
+# 43452 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37057,18 +43471,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_eexpr_invalid_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37065 "parser_cocci_menhir.ml"
+# 43479 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_invalid_ = 
-# 1302 "parser_cocci_menhir.mly"
+# 1548 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 37072 "parser_cocci_menhir.ml"
+# 43486 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37102,29 +43516,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37108 "parser_cocci_menhir.ml"
+# 43522 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let t : 'tv_ctype = Obj.magic t in
         let lp : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37114 "parser_cocci_menhir.ml"
+# 43528 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let s : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37119 "parser_cocci_menhir.ml"
+# 43533 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_rp_ in
         let _v : 'tv_unary_expr_eexpr_invalid_ = 
-# 1304 "parser_cocci_menhir.mly"
+# 1550 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                    P.clt2mcode "(" lp,t,
                                    P.clt2mcode ")" rp)) )
-# 37128 "parser_cocci_menhir.ml"
+# 43542 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37146,9 +43560,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_expr_eexpr_nest_expressions_ = 
-# 1291 "parser_cocci_menhir.mly"
+# 1537 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 37152 "parser_cocci_menhir.ml"
+# 43566 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37171,18 +43585,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37179 "parser_cocci_menhir.ml"
+# 43593 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_nest_expressions_ = 
-# 1293 "parser_cocci_menhir.mly"
+# 1539 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 37186 "parser_cocci_menhir.ml"
+# 43600 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37205,18 +43619,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37213 "parser_cocci_menhir.ml"
+# 43627 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_nest_expressions_ = 
-# 1295 "parser_cocci_menhir.mly"
+# 1541 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 37220 "parser_cocci_menhir.ml"
+# 43634 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37244,9 +43658,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_nest_expressions_ = 
-# 1297 "parser_cocci_menhir.mly"
+# 1543 "parser_cocci_menhir.mly"
       ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37250 "parser_cocci_menhir.ml"
+# 43664 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37269,19 +43683,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37277 "parser_cocci_menhir.ml"
+# 43691 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_nest_expressions_ = 
-# 1299 "parser_cocci_menhir.mly"
+# 1545 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37285 "parser_cocci_menhir.ml"
+# 43699 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37304,18 +43718,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37312 "parser_cocci_menhir.ml"
+# 43726 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_nest_expressions_ = 
-# 1302 "parser_cocci_menhir.mly"
+# 1548 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 37319 "parser_cocci_menhir.ml"
+# 43733 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37349,29 +43763,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37355 "parser_cocci_menhir.ml"
+# 43769 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let t : 'tv_ctype = Obj.magic t in
         let lp : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37361 "parser_cocci_menhir.ml"
+# 43775 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let s : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37366 "parser_cocci_menhir.ml"
+# 43780 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_rp_ in
         let _v : 'tv_unary_expr_eexpr_nest_expressions_ = 
-# 1304 "parser_cocci_menhir.mly"
+# 1550 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                    P.clt2mcode "(" lp,t,
                                    P.clt2mcode ")" rp)) )
-# 37375 "parser_cocci_menhir.ml"
+# 43789 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37393,9 +43807,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_expr_expr_invalid_ = 
-# 1291 "parser_cocci_menhir.mly"
+# 1537 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 37399 "parser_cocci_menhir.ml"
+# 43813 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37418,18 +43832,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37426 "parser_cocci_menhir.ml"
+# 43840 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_expr_invalid_ = 
-# 1293 "parser_cocci_menhir.mly"
+# 1539 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 37433 "parser_cocci_menhir.ml"
+# 43847 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37452,18 +43866,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 153 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37460 "parser_cocci_menhir.ml"
+# 43874 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_expr_invalid_ = 
-# 1295 "parser_cocci_menhir.mly"
+# 1541 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 37467 "parser_cocci_menhir.ml"
+# 43881 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37491,9 +43905,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_expr_invalid_ = 
-# 1297 "parser_cocci_menhir.mly"
+# 1543 "parser_cocci_menhir.mly"
       ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37497 "parser_cocci_menhir.ml"
+# 43911 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37516,19 +43930,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37524 "parser_cocci_menhir.ml"
+# 43938 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_expr_invalid_ = 
-# 1299 "parser_cocci_menhir.mly"
+# 1545 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37532 "parser_cocci_menhir.ml"
+# 43946 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37551,18 +43965,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_expr_invalid_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37559 "parser_cocci_menhir.ml"
+# 43973 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_expr_invalid_ = 
-# 1302 "parser_cocci_menhir.mly"
+# 1548 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 37566 "parser_cocci_menhir.ml"
+# 43980 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37596,29 +44010,276 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 77 "parser_cocci_menhir.mly"
+# 145 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37602 "parser_cocci_menhir.ml"
+# 44016 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let t : 'tv_ctype = Obj.magic t in
         let lp : (
-# 76 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37608 "parser_cocci_menhir.ml"
+# 44022 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let s : (
-# 58 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37613 "parser_cocci_menhir.ml"
+# 44027 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_rp_ in
         let _v : 'tv_unary_expr_expr_invalid_ = 
-# 1304 "parser_cocci_menhir.mly"
+# 1550 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
+                                   P.clt2mcode "(" lp,t,
+                                   P.clt2mcode ")" rp)) )
+# 44036 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1556 "parser_cocci_menhir.mly"
+                                                          ( _1 )
+# 44060 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+        let _1 : (
+# 153 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 44087 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1558 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
+# 44094 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+        let _1 : (
+# 153 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 44121 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1560 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
+# 44128 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+        let _1 : 'tv_unary_op = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1562 "parser_cocci_menhir.mly"
+      ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
+# 44158 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+        let _1 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 44185 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1564 "parser_cocci_menhir.mly"
+      ( let mcode = P.clt2mcode Ast.Not _1 in
+      Ast0.wrap(Ast0.Unary(_2, mcode)) )
+# 44193 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+        let _1 : (
+# 124 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 44220 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1567 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
+# 44227 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = rp;
+          MenhirLib.EngineTypes.startp = _startpos_rp_;
+          MenhirLib.EngineTypes.endp = _endpos_rp_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = t;
+            MenhirLib.EngineTypes.startp = _startpos_t_;
+            MenhirLib.EngineTypes.endp = _endpos_t_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = lp;
+              MenhirLib.EngineTypes.startp = _startpos_lp_;
+              MenhirLib.EngineTypes.endp = _endpos_lp_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = s;
+                MenhirLib.EngineTypes.startp = _startpos_s_;
+                MenhirLib.EngineTypes.endp = _endpos_s_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let rp : (
+# 145 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 44263 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 44269 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let s : (
+# 124 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 44274 "parser_cocci_menhir.ml"
+        ) = Obj.magic s in
+        let _startpos = _startpos_s_ in
+        let _endpos = _endpos_rp_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1569 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                    P.clt2mcode "(" lp,t,
                                    P.clt2mcode ")" rp)) )
-# 37622 "parser_cocci_menhir.ml"
+# 44283 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37637,16 +44298,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 93 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37643 "parser_cocci_menhir.ml"
+# 44304 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1308 "parser_cocci_menhir.mly"
+# 1573 "parser_cocci_menhir.mly"
                   ( P.clt2mcode Ast.GetRef _1 )
-# 37650 "parser_cocci_menhir.ml"
+# 44311 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37665,16 +44326,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37671 "parser_cocci_menhir.ml"
+# 44332 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1309 "parser_cocci_menhir.mly"
+# 1574 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.DeRef _1 )
-# 37678 "parser_cocci_menhir.ml"
+# 44339 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37693,16 +44354,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 98 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37699 "parser_cocci_menhir.ml"
+# 44360 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1310 "parser_cocci_menhir.mly"
+# 1575 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.UnPlus _1 )
-# 37706 "parser_cocci_menhir.ml"
+# 44367 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37721,16 +44382,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 98 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37727 "parser_cocci_menhir.ml"
+# 44388 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1311 "parser_cocci_menhir.mly"
+# 1576 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.UnMinus _1 )
-# 37734 "parser_cocci_menhir.ml"
+# 44395 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37749,16 +44410,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 99 "parser_cocci_menhir.mly"
+# 167 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37755 "parser_cocci_menhir.ml"
+# 44416 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1312 "parser_cocci_menhir.mly"
+# 1577 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.Tilde _1 )
-# 37762 "parser_cocci_menhir.ml"
+# 44423 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37786,9 +44447,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_when_start = 
-# 1819 "parser_cocci_menhir.mly"
+# 2202 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
-# 37792 "parser_cocci_menhir.ml"
+# 44453 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37816,9 +44477,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_when_start = 
-# 1821 "parser_cocci_menhir.mly"
+# 2204 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.DOTS(_1@_2)) )
-# 37822 "parser_cocci_menhir.ml"
+# 44483 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37840,9 +44501,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_w_ in
         let _endpos = _endpos_w_ in
         let _v : 'tv_whenppdecs = 
-# 894 "parser_cocci_menhir.mly"
+# 1115 "parser_cocci_menhir.mly"
     ( w )
-# 37846 "parser_cocci_menhir.ml"
+# 44507 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37876,9 +44537,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = 
-# 1887 "parser_cocci_menhir.mly"
+# 2249 "parser_cocci_menhir.mly"
                                          ( [Ast0.WhenNot w] )
-# 37882 "parser_cocci_menhir.ml"
+# 44543 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37912,9 +44573,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = 
-# 1888 "parser_cocci_menhir.mly"
+# 2250 "parser_cocci_menhir.mly"
                                              ( [Ast0.WhenAlways w] )
-# 37918 "parser_cocci_menhir.ml"
+# 44579 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37944,9 +44605,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = 
-# 1890 "parser_cocci_menhir.mly"
+# 2252 "parser_cocci_menhir.mly"
       ( List.map (function x -> Ast0.WhenModifier(x)) _2 )
-# 37950 "parser_cocci_menhir.ml"
+# 44611 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37980,9 +44641,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = 
-# 1891 "parser_cocci_menhir.mly"
+# 2253 "parser_cocci_menhir.mly"
                                         ( [Ast0.WhenNotTrue e] )
-# 37986 "parser_cocci_menhir.ml"
+# 44647 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38016,9 +44677,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = 
-# 1892 "parser_cocci_menhir.mly"
+# 2254 "parser_cocci_menhir.mly"
                                          ( [Ast0.WhenNotFalse e] )
-# 38022 "parser_cocci_menhir.ml"
+# 44683 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38039,106 +44700,106 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
 
 let rec script_meta_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1794 lexer lexbuf) : (
-# 159 "parser_cocci_menhir.mly"
-       (string * (string * string))
-# 38046 "parser_cocci_menhir.ml"
+    (Obj.magic (MenhirInterpreter.entry 2048 lexer lexbuf) : (
+# 229 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 44707 "parser_cocci_menhir.ml"
     ))
 
 and rule_name =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1724 lexer lexbuf) : (
-# 153 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1973 lexer lexbuf) : (
+# 223 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 38054 "parser_cocci_menhir.ml"
+# 44715 "parser_cocci_menhir.ml"
     ))
 
 and reinit =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1722 lexer lexbuf) : (
-# 131 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1971 lexer lexbuf) : (
+# 201 "parser_cocci_menhir.mly"
       (unit)
-# 38062 "parser_cocci_menhir.ml"
+# 44723 "parser_cocci_menhir.ml"
     ))
 
 and plus_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1686 lexer lexbuf) : (
-# 140 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1935 lexer lexbuf) : (
+# 210 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38070 "parser_cocci_menhir.ml"
+# 44731 "parser_cocci_menhir.ml"
     ))
 
 and plus_exp_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1678 lexer lexbuf) : (
-# 143 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1927 lexer lexbuf) : (
+# 213 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38078 "parser_cocci_menhir.ml"
+# 44739 "parser_cocci_menhir.ml"
     ))
 
 and never_used =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1672 lexer lexbuf) : (
-# 168 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1921 lexer lexbuf) : (
+# 238 "parser_cocci_menhir.mly"
       (unit)
-# 38086 "parser_cocci_menhir.ml"
+# 44747 "parser_cocci_menhir.ml"
     ))
 
 and minus_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1592 lexer lexbuf) : (
-# 134 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1836 lexer lexbuf) : (
+# 204 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38094 "parser_cocci_menhir.ml"
+# 44755 "parser_cocci_menhir.ml"
     ))
 
 and minus_exp_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1580 lexer lexbuf) : (
-# 137 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1824 lexer lexbuf) : (
+# 207 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38102 "parser_cocci_menhir.ml"
+# 44763 "parser_cocci_menhir.ml"
     ))
 
 and meta_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1577 lexer lexbuf) : (
-# 157 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1821 lexer lexbuf) : (
+# 227 "parser_cocci_menhir.mly"
       ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 38110 "parser_cocci_menhir.ml"
+# 44771 "parser_cocci_menhir.ml"
     ))
 
 and iso_rule_name =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1573 lexer lexbuf) : (
-# 149 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1817 lexer lexbuf) : (
+# 219 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 38118 "parser_cocci_menhir.ml"
+# 44779 "parser_cocci_menhir.ml"
     ))
 
 and iso_meta_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1338 lexer lexbuf) : (
-# 165 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1530 lexer lexbuf) : (
+# 235 "parser_cocci_menhir.mly"
       ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 38126 "parser_cocci_menhir.ml"
+# 44787 "parser_cocci_menhir.ml"
     ))
 
 and iso_main =
   fun lexer lexbuf ->
     (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : (
-# 162 "parser_cocci_menhir.mly"
+# 232 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 38134 "parser_cocci_menhir.ml"
+# 44795 "parser_cocci_menhir.ml"
     ))
 
 and include_main =
   fun lexer lexbuf ->
     (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
-# 146 "parser_cocci_menhir.mly"
+# 216 "parser_cocci_menhir.mly"
       (Data.incl_iso list)
-# 38142 "parser_cocci_menhir.ml"
+# 44803 "parser_cocci_menhir.ml"
     ))