Release coccinelle-0.2.5-rc2
[bpt/coccinelle.git] / parsing_cocci / parser_cocci_menhir.ml
index dd9f1bf..637d759 100644 (file)
@@ -2,437 +2,472 @@ exception Error
 
 type token = 
   | Tvolatile of (
-# 56 "parser_cocci_menhir.mly"
+# 57 "parser_cocci_menhir.mly"
       (Data.clt)
 # 8 "parser_cocci_menhir.ml"
 )
   | Tvoid of (
-# 52 "parser_cocci_menhir.mly"
+# 53 "parser_cocci_menhir.mly"
       (Data.clt)
 # 13 "parser_cocci_menhir.ml"
 )
   | Tunsigned of (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
 # 18 "parser_cocci_menhir.ml"
 )
   | Tunion of (
-# 52 "parser_cocci_menhir.mly"
+# 53 "parser_cocci_menhir.mly"
       (Data.clt)
 # 23 "parser_cocci_menhir.ml"
 )
   | Ttypedef of (
-# 55 "parser_cocci_menhir.mly"
+# 56 "parser_cocci_menhir.mly"
       (Data.clt)
 # 28 "parser_cocci_menhir.ml"
 )
   | Tstruct of (
-# 52 "parser_cocci_menhir.mly"
+# 53 "parser_cocci_menhir.mly"
       (Data.clt)
 # 33 "parser_cocci_menhir.ml"
 )
   | Tstatic of (
-# 55 "parser_cocci_menhir.mly"
+# 56 "parser_cocci_menhir.mly"
       (Data.clt)
 # 38 "parser_cocci_menhir.ml"
 )
-  | Tsigned of (
-# 53 "parser_cocci_menhir.mly"
+  | Tssize_t of (
+# 52 "parser_cocci_menhir.mly"
       (Data.clt)
 # 43 "parser_cocci_menhir.ml"
+)
+  | Tsize_t of (
+# 52 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 48 "parser_cocci_menhir.ml"
+)
+  | Tsigned of (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 53 "parser_cocci_menhir.ml"
 )
   | Tshort of (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 48 "parser_cocci_menhir.ml"
+# 58 "parser_cocci_menhir.ml"
 )
   | Tregister of (
-# 55 "parser_cocci_menhir.mly"
+# 56 "parser_cocci_menhir.mly"
       (Data.clt)
-# 53 "parser_cocci_menhir.ml"
+# 63 "parser_cocci_menhir.ml"
+)
+  | Tptrdiff_t of (
+# 52 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 68 "parser_cocci_menhir.ml"
 )
   | Tlong of (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 58 "parser_cocci_menhir.ml"
+# 73 "parser_cocci_menhir.ml"
 )
   | Tlist
   | Tint of (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 64 "parser_cocci_menhir.ml"
+# 79 "parser_cocci_menhir.ml"
 )
   | Tinline of (
-# 55 "parser_cocci_menhir.mly"
+# 56 "parser_cocci_menhir.mly"
       (Data.clt)
-# 69 "parser_cocci_menhir.ml"
+# 84 "parser_cocci_menhir.ml"
 )
   | Tfloat of (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 74 "parser_cocci_menhir.ml"
+# 89 "parser_cocci_menhir.ml"
 )
   | Textern of (
-# 55 "parser_cocci_menhir.mly"
+# 56 "parser_cocci_menhir.mly"
       (Data.clt)
-# 79 "parser_cocci_menhir.ml"
+# 94 "parser_cocci_menhir.ml"
 )
   | Tenum of (
-# 52 "parser_cocci_menhir.mly"
+# 53 "parser_cocci_menhir.mly"
       (Data.clt)
-# 84 "parser_cocci_menhir.ml"
+# 99 "parser_cocci_menhir.ml"
 )
   | Tdouble of (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 89 "parser_cocci_menhir.ml"
+# 104 "parser_cocci_menhir.ml"
 )
   | Tconst of (
-# 56 "parser_cocci_menhir.mly"
+# 57 "parser_cocci_menhir.mly"
       (Data.clt)
-# 94 "parser_cocci_menhir.ml"
+# 109 "parser_cocci_menhir.ml"
 )
   | Tchar of (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 99 "parser_cocci_menhir.ml"
+# 114 "parser_cocci_menhir.ml"
 )
   | Tauto of (
-# 55 "parser_cocci_menhir.mly"
+# 56 "parser_cocci_menhir.mly"
       (Data.clt)
-# 104 "parser_cocci_menhir.ml"
+# 119 "parser_cocci_menhir.ml"
 )
   | Tattr of (
-# 57 "parser_cocci_menhir.mly"
+# 58 "parser_cocci_menhir.mly"
       (string * Data.clt)
-# 109 "parser_cocci_menhir.ml"
+# 124 "parser_cocci_menhir.ml"
 )
   | TXor of (
-# 95 "parser_cocci_menhir.mly"
+# 96 "parser_cocci_menhir.mly"
        (Data.clt)
-# 114 "parser_cocci_menhir.ml"
+# 129 "parser_cocci_menhir.ml"
 )
   | TWords
   | TWhy0
   | TWhy of (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 121 "parser_cocci_menhir.ml"
+# 136 "parser_cocci_menhir.ml"
 )
   | TWhile of (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 126 "parser_cocci_menhir.ml"
+# 141 "parser_cocci_menhir.ml"
 )
   | TWhenTrue of (
-# 77 "parser_cocci_menhir.mly"
+# 78 "parser_cocci_menhir.mly"
        (Data.clt)
-# 131 "parser_cocci_menhir.ml"
+# 146 "parser_cocci_menhir.ml"
 )
   | TWhenFalse of (
-# 77 "parser_cocci_menhir.mly"
+# 78 "parser_cocci_menhir.mly"
        (Data.clt)
-# 136 "parser_cocci_menhir.ml"
+# 151 "parser_cocci_menhir.ml"
 )
   | TWhen of (
-# 77 "parser_cocci_menhir.mly"
+# 78 "parser_cocci_menhir.mly"
        (Data.clt)
-# 141 "parser_cocci_menhir.ml"
+# 156 "parser_cocci_menhir.ml"
 )
   | TVirtual
   | TUsing
   | TUnderscore
+  | TUndef of (
+# 85 "parser_cocci_menhir.mly"
+       (Data.clt * token)
+# 164 "parser_cocci_menhir.ml"
+)
   | TTypedef
   | TTypeId of (
-# 61 "parser_cocci_menhir.mly"
+# 62 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 150 "parser_cocci_menhir.ml"
+# 170 "parser_cocci_menhir.ml"
 )
   | TType
   | TTildeExclEq of (
-# 97 "parser_cocci_menhir.mly"
+# 98 "parser_cocci_menhir.mly"
        (Data.clt)
-# 156 "parser_cocci_menhir.ml"
+# 176 "parser_cocci_menhir.ml"
 )
   | TTildeEq of (
-# 97 "parser_cocci_menhir.mly"
+# 98 "parser_cocci_menhir.mly"
        (Data.clt)
-# 161 "parser_cocci_menhir.ml"
+# 181 "parser_cocci_menhir.ml"
 )
   | TTilde of (
-# 102 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 166 "parser_cocci_menhir.ml"
+# 186 "parser_cocci_menhir.ml"
 )
   | TSwitch of (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 171 "parser_cocci_menhir.ml"
+# 191 "parser_cocci_menhir.ml"
 )
   | TSub of (
-# 97 "parser_cocci_menhir.mly"
+# 98 "parser_cocci_menhir.mly"
        (Data.clt)
-# 176 "parser_cocci_menhir.ml"
+# 196 "parser_cocci_menhir.ml"
 )
   | TString of (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 181 "parser_cocci_menhir.ml"
+# 201 "parser_cocci_menhir.ml"
 )
   | TStrict of (
-# 77 "parser_cocci_menhir.mly"
+# 78 "parser_cocci_menhir.mly"
        (Data.clt)
-# 186 "parser_cocci_menhir.ml"
+# 206 "parser_cocci_menhir.ml"
 )
   | TStatement
   | TSizeof of (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 192 "parser_cocci_menhir.ml"
+# 212 "parser_cocci_menhir.ml"
 )
-  | TShOp of (
-# 99 "parser_cocci_menhir.mly"
+  | TShROp of (
+# 100 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 217 "parser_cocci_menhir.ml"
+)
+  | TShLOp of (
+# 100 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 197 "parser_cocci_menhir.ml"
+# 222 "parser_cocci_menhir.ml"
 )
   | TScriptData of (
-# 74 "parser_cocci_menhir.mly"
+# 75 "parser_cocci_menhir.mly"
        (string)
-# 202 "parser_cocci_menhir.ml"
+# 227 "parser_cocci_menhir.ml"
 )
   | TScript
   | TRuleName of (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 208 "parser_cocci_menhir.ml"
+# 233 "parser_cocci_menhir.ml"
 )
   | TRightIso
   | TReturn of (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 214 "parser_cocci_menhir.ml"
+# 239 "parser_cocci_menhir.ml"
 )
   | TPure
   | TPtrOp of (
-# 107 "parser_cocci_menhir.mly"
+# 108 "parser_cocci_menhir.mly"
        (Data.clt)
-# 220 "parser_cocci_menhir.ml"
+# 245 "parser_cocci_menhir.ml"
 )
   | TPtVirg of (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 225 "parser_cocci_menhir.ml"
+# 250 "parser_cocci_menhir.ml"
 )
   | TPragma of (
-# 62 "parser_cocci_menhir.mly"
+# 63 "parser_cocci_menhir.mly"
        (Ast_cocci.added_string * Data.clt)
-# 230 "parser_cocci_menhir.ml"
+# 255 "parser_cocci_menhir.ml"
 )
   | TPosition
   | TPosAny
   | TPlusFile of (
-# 86 "parser_cocci_menhir.mly"
+# 87 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 237 "parser_cocci_menhir.ml"
+# 262 "parser_cocci_menhir.ml"
 )
   | TPlus0
   | TPlus of (
-# 101 "parser_cocci_menhir.mly"
+# 102 "parser_cocci_menhir.mly"
        (Data.clt)
-# 243 "parser_cocci_menhir.ml"
+# 268 "parser_cocci_menhir.ml"
 )
   | TPathIsoFile of (
-# 82 "parser_cocci_menhir.mly"
+# 83 "parser_cocci_menhir.mly"
        (string)
-# 248 "parser_cocci_menhir.ml"
+# 273 "parser_cocci_menhir.ml"
 )
   | TParameter
   | TPOEllipsis of (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 254 "parser_cocci_menhir.ml"
+# 279 "parser_cocci_menhir.ml"
 )
   | TPCEllipsis of (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 259 "parser_cocci_menhir.ml"
+# 284 "parser_cocci_menhir.ml"
 )
   | TPArob
   | TOrLog of (
-# 92 "parser_cocci_menhir.mly"
+# 93 "parser_cocci_menhir.mly"
        (Data.clt)
-# 265 "parser_cocci_menhir.ml"
+# 290 "parser_cocci_menhir.ml"
 )
   | TOr of (
-# 94 "parser_cocci_menhir.mly"
+# 95 "parser_cocci_menhir.mly"
        (Data.clt)
-# 270 "parser_cocci_menhir.ml"
+# 295 "parser_cocci_menhir.ml"
 )
   | TOn
   | TOPar0 of (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 276 "parser_cocci_menhir.ml"
+# 301 "parser_cocci_menhir.ml"
 )
   | TOPar of (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 281 "parser_cocci_menhir.ml"
+# 306 "parser_cocci_menhir.ml"
 )
   | TOInit of (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 286 "parser_cocci_menhir.ml"
+# 311 "parser_cocci_menhir.ml"
 )
   | TOEllipsis of (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 291 "parser_cocci_menhir.ml"
+# 316 "parser_cocci_menhir.ml"
 )
   | TOCro of (
-# 105 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 296 "parser_cocci_menhir.ml"
+# 321 "parser_cocci_menhir.ml"
 )
   | TOBrace of (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 301 "parser_cocci_menhir.ml"
+# 326 "parser_cocci_menhir.ml"
 )
   | TNothing
   | TNotEq of (
-# 97 "parser_cocci_menhir.mly"
+# 98 "parser_cocci_menhir.mly"
        (Data.clt)
-# 307 "parser_cocci_menhir.ml"
+# 332 "parser_cocci_menhir.ml"
 )
   | TNever
   | TName
   | TMul of (
-# 102 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 314 "parser_cocci_menhir.ml"
+# 339 "parser_cocci_menhir.ml"
 )
   | TMinusFile of (
-# 86 "parser_cocci_menhir.mly"
+# 87 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 319 "parser_cocci_menhir.ml"
+# 344 "parser_cocci_menhir.ml"
 )
   | TMinus of (
-# 101 "parser_cocci_menhir.mly"
+# 102 "parser_cocci_menhir.mly"
        (Data.clt)
-# 324 "parser_cocci_menhir.ml"
+# 349 "parser_cocci_menhir.ml"
 )
   | TMid0 of (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 329 "parser_cocci_menhir.ml"
+# 354 "parser_cocci_menhir.ml"
 )
   | TMetaType of (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 334 "parser_cocci_menhir.ml"
+# 359 "parser_cocci_menhir.ml"
 )
   | TMetaStmList of (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 339 "parser_cocci_menhir.ml"
+# 364 "parser_cocci_menhir.ml"
 )
   | TMetaStm of (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 344 "parser_cocci_menhir.ml"
+# 369 "parser_cocci_menhir.ml"
 )
   | TMetaPos of (
-# 71 "parser_cocci_menhir.mly"
+# 72 "parser_cocci_menhir.mly"
        (Parse_aux.pos_info)
-# 349 "parser_cocci_menhir.ml"
+# 374 "parser_cocci_menhir.ml"
 )
   | TMetaParamList of (
-# 69 "parser_cocci_menhir.mly"
+# 70 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 354 "parser_cocci_menhir.ml"
+# 379 "parser_cocci_menhir.ml"
 )
   | TMetaParam of (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 359 "parser_cocci_menhir.ml"
+# 384 "parser_cocci_menhir.ml"
 )
   | TMetaLocalIdExp of (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 364 "parser_cocci_menhir.ml"
+# 389 "parser_cocci_menhir.ml"
 )
   | TMetaLocalFunc of (
-# 64 "parser_cocci_menhir.mly"
+# 65 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 369 "parser_cocci_menhir.ml"
+# 394 "parser_cocci_menhir.ml"
 )
   | TMetaIterator of (
-# 65 "parser_cocci_menhir.mly"
+# 66 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 374 "parser_cocci_menhir.ml"
+# 399 "parser_cocci_menhir.ml"
 )
   | TMetaInit of (
-# 68 "parser_cocci_menhir.mly"
+# 69 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 379 "parser_cocci_menhir.ml"
+# 404 "parser_cocci_menhir.ml"
 )
   | TMetaIdExp of (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 384 "parser_cocci_menhir.ml"
+# 409 "parser_cocci_menhir.ml"
 )
   | TMetaId of (
-# 64 "parser_cocci_menhir.mly"
+# 65 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 389 "parser_cocci_menhir.ml"
+# 414 "parser_cocci_menhir.ml"
 )
   | TMetaFunc of (
-# 64 "parser_cocci_menhir.mly"
+# 65 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 394 "parser_cocci_menhir.ml"
+# 419 "parser_cocci_menhir.ml"
 )
-  | TMetaExpList of (
+  | TMetaField of (
 # 69 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 424 "parser_cocci_menhir.ml"
+)
+  | TMetaExpList of (
+# 70 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 399 "parser_cocci_menhir.ml"
+# 429 "parser_cocci_menhir.ml"
 )
   | TMetaExp of (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 404 "parser_cocci_menhir.ml"
+# 434 "parser_cocci_menhir.ml"
 )
   | TMetaErr of (
-# 66 "parser_cocci_menhir.mly"
+# 67 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 409 "parser_cocci_menhir.ml"
+# 439 "parser_cocci_menhir.ml"
 )
   | TMetaDeclarer of (
-# 65 "parser_cocci_menhir.mly"
+# 66 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 414 "parser_cocci_menhir.ml"
+# 444 "parser_cocci_menhir.ml"
+)
+  | TMetaDecl of (
+# 69 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 449 "parser_cocci_menhir.ml"
 )
   | TMetaConst of (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 419 "parser_cocci_menhir.ml"
+# 454 "parser_cocci_menhir.ml"
 )
   | TMPtVirg
   | TLogOp of (
-# 98 "parser_cocci_menhir.mly"
+# 99 "parser_cocci_menhir.mly"
        (Ast_cocci.logicalOp * Data.clt)
-# 425 "parser_cocci_menhir.ml"
+# 460 "parser_cocci_menhir.ml"
 )
   | TLocal
   | TLineEnd of (
-# 77 "parser_cocci_menhir.mly"
+# 78 "parser_cocci_menhir.mly"
        (Data.clt)
-# 431 "parser_cocci_menhir.ml"
+# 466 "parser_cocci_menhir.ml"
 )
   | TIteratorId of (
-# 61 "parser_cocci_menhir.mly"
+# 62 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 436 "parser_cocci_menhir.ml"
+# 471 "parser_cocci_menhir.ml"
 )
   | TIterator
   | TIsoType
@@ -446,217 +481,219 @@ type token =
   | TIso
   | TInvalid
   | TInt of (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 452 "parser_cocci_menhir.ml"
+# 487 "parser_cocci_menhir.ml"
 )
   | TInitialize
   | TInitialiser
   | TIncludeNL of (
-# 83 "parser_cocci_menhir.mly"
+# 84 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 459 "parser_cocci_menhir.ml"
+# 494 "parser_cocci_menhir.ml"
 )
   | TIncludeL of (
-# 83 "parser_cocci_menhir.mly"
+# 84 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 464 "parser_cocci_menhir.ml"
+# 499 "parser_cocci_menhir.ml"
 )
   | TInc of (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 469 "parser_cocci_menhir.ml"
+# 504 "parser_cocci_menhir.ml"
 )
   | TIf of (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 474 "parser_cocci_menhir.ml"
+# 509 "parser_cocci_menhir.ml"
 )
   | TIdentifier
   | TIdent of (
-# 61 "parser_cocci_menhir.mly"
+# 62 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 480 "parser_cocci_menhir.ml"
+# 515 "parser_cocci_menhir.ml"
 )
   | TIdExpression
   | TGoto of (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 486 "parser_cocci_menhir.ml"
+# 521 "parser_cocci_menhir.ml"
 )
   | TGenerated
   | TFunction
   | TFunDecl of (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 493 "parser_cocci_menhir.ml"
+# 528 "parser_cocci_menhir.ml"
 )
   | TFresh
   | TForall
   | TFor of (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 500 "parser_cocci_menhir.ml"
+# 535 "parser_cocci_menhir.ml"
 )
   | TFloat of (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 505 "parser_cocci_menhir.ml"
+# 540 "parser_cocci_menhir.ml"
 )
   | TFinalize
+  | TField
   | TExtends
   | TExpression
   | TExists
   | TEver
   | TError
   | TEqEq of (
-# 97 "parser_cocci_menhir.mly"
+# 98 "parser_cocci_menhir.mly"
        (Data.clt)
-# 516 "parser_cocci_menhir.ml"
+# 552 "parser_cocci_menhir.ml"
 )
   | TEq of (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 521 "parser_cocci_menhir.ml"
+# 557 "parser_cocci_menhir.ml"
 )
   | TElse of (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 526 "parser_cocci_menhir.ml"
+# 562 "parser_cocci_menhir.ml"
 )
   | TEllipsis of (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 531 "parser_cocci_menhir.ml"
+# 567 "parser_cocci_menhir.ml"
 )
   | TDotDot of (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 536 "parser_cocci_menhir.ml"
+# 572 "parser_cocci_menhir.ml"
 )
   | TDot of (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 541 "parser_cocci_menhir.ml"
+# 577 "parser_cocci_menhir.ml"
 )
   | TDo of (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 546 "parser_cocci_menhir.ml"
+# 582 "parser_cocci_menhir.ml"
 )
   | TDmOp of (
-# 100 "parser_cocci_menhir.mly"
+# 101 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 551 "parser_cocci_menhir.ml"
+# 587 "parser_cocci_menhir.ml"
 )
   | TDisable
   | TDepends
   | TDefineParam of (
-# 85 "parser_cocci_menhir.mly"
+# 86 "parser_cocci_menhir.mly"
        (Data.clt * token * int * int)
-# 558 "parser_cocci_menhir.ml"
+# 594 "parser_cocci_menhir.ml"
 )
   | TDefine of (
-# 84 "parser_cocci_menhir.mly"
+# 85 "parser_cocci_menhir.mly"
        (Data.clt * token)
-# 563 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.ml"
 )
   | TDefault of (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 568 "parser_cocci_menhir.ml"
+# 604 "parser_cocci_menhir.ml"
 )
   | TDeclarerId of (
-# 61 "parser_cocci_menhir.mly"
+# 62 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 573 "parser_cocci_menhir.ml"
+# 609 "parser_cocci_menhir.ml"
 )
   | TDeclarer
+  | TDeclaration
   | TDec of (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 579 "parser_cocci_menhir.ml"
+# 616 "parser_cocci_menhir.ml"
 )
   | TCppConcatOp
   | TContinue of (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 585 "parser_cocci_menhir.ml"
+# 622 "parser_cocci_menhir.ml"
 )
   | TContext
   | TConstant
   | TComma of (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 592 "parser_cocci_menhir.ml"
+# 629 "parser_cocci_menhir.ml"
 )
   | TChar of (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 597 "parser_cocci_menhir.ml"
+# 634 "parser_cocci_menhir.ml"
 )
   | TCase of (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 602 "parser_cocci_menhir.ml"
+# 639 "parser_cocci_menhir.ml"
 )
   | TCPar0 of (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 607 "parser_cocci_menhir.ml"
+# 644 "parser_cocci_menhir.ml"
 )
   | TCPar of (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 612 "parser_cocci_menhir.ml"
+# 649 "parser_cocci_menhir.ml"
 )
   | TCEllipsis of (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 617 "parser_cocci_menhir.ml"
+# 654 "parser_cocci_menhir.ml"
 )
   | TCCro of (
-# 105 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 622 "parser_cocci_menhir.ml"
+# 659 "parser_cocci_menhir.ml"
 )
   | TCBrace of (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 627 "parser_cocci_menhir.ml"
+# 664 "parser_cocci_menhir.ml"
 )
   | TBreak of (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 632 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.ml"
 )
   | TBang0
   | TBang of (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 638 "parser_cocci_menhir.ml"
+# 675 "parser_cocci_menhir.ml"
 )
   | TAssign of (
-# 111 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
        (Ast_cocci.assignOp * Data.clt)
-# 643 "parser_cocci_menhir.ml"
+# 680 "parser_cocci_menhir.ml"
 )
   | TArobArob
   | TArob
   | TAny of (
-# 77 "parser_cocci_menhir.mly"
+# 78 "parser_cocci_menhir.mly"
        (Data.clt)
-# 650 "parser_cocci_menhir.ml"
+# 687 "parser_cocci_menhir.ml"
 )
   | TAndLog of (
-# 93 "parser_cocci_menhir.mly"
+# 94 "parser_cocci_menhir.mly"
        (Data.clt)
-# 655 "parser_cocci_menhir.ml"
+# 692 "parser_cocci_menhir.ml"
 )
   | TAnd of (
-# 96 "parser_cocci_menhir.mly"
+# 97 "parser_cocci_menhir.mly"
        (Data.clt)
-# 660 "parser_cocci_menhir.ml"
+# 697 "parser_cocci_menhir.ml"
 )
   | EOF
 
@@ -678,7 +715,7 @@ module Ast0 = Ast0_cocci
 module Ast = Ast_cocci
 module P = Parse_aux
 
-# 682 "parser_cocci_menhir.ml"
+# 719 "parser_cocci_menhir.ml"
 let _eRR =
   Error
 
@@ -692,346 +729,364 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
     fun _tok ->
       match _tok with
       | EOF ->
-          178
+          187
       | TAnd _ ->
-          177
+          186
       | TAndLog _ ->
-          176
+          185
       | TAny _ ->
-          175
+          184
       | TArob ->
-          174
+          183
       | TArobArob ->
-          173
+          182
       | TAssign _ ->
-          172
+          181
       | TBang _ ->
-          171
+          180
       | TBang0 ->
-          170
+          179
       | TBreak _ ->
-          169
+          178
       | TCBrace _ ->
-          168
+          177
       | TCCro _ ->
-          167
+          176
       | TCEllipsis _ ->
-          166
+          175
       | TCPar _ ->
-          165
+          174
       | TCPar0 _ ->
-          164
+          173
       | TCase _ ->
-          163
+          172
       | TChar _ ->
-          162
+          171
       | TComma _ ->
-          161
+          170
       | TConstant ->
-          160
+          169
       | TContext ->
-          159
+          168
       | TContinue _ ->
-          158
+          167
       | TCppConcatOp ->
-          157
+          166
       | TDec _ ->
-          156
+          165
+      | TDeclaration ->
+          164
       | TDeclarer ->
-          155
+          163
       | TDeclarerId _ ->
-          154
+          162
       | TDefault _ ->
-          153
+          161
       | TDefine _ ->
-          152
+          160
       | TDefineParam _ ->
-          151
+          159
       | TDepends ->
-          150
+          158
       | TDisable ->
-          149
+          157
       | TDmOp _ ->
-          148
+          156
       | TDo _ ->
-          147
+          155
       | TDot _ ->
-          146
+          154
       | TDotDot _ ->
-          145
+          153
       | TEllipsis _ ->
-          144
+          152
       | TElse _ ->
-          143
+          151
       | TEq _ ->
-          142
+          150
       | TEqEq _ ->
-          141
+          149
       | TError ->
-          140
+          148
       | TEver ->
-          139
+          147
       | TExists ->
-          138
+          146
       | TExpression ->
-          137
+          145
       | TExtends ->
-          136
+          144
+      | TField ->
+          143
       | TFinalize ->
-          135
+          142
       | TFloat _ ->
-          134
+          141
       | TFor _ ->
-          133
+          140
       | TForall ->
-          132
+          139
       | TFresh ->
-          131
+          138
       | TFunDecl _ ->
-          130
+          137
       | TFunction ->
-          129
+          136
       | TGenerated ->
-          128
+          135
       | TGoto _ ->
-          127
+          134
       | TIdExpression ->
-          126
+          133
       | TIdent _ ->
-          125
+          132
       | TIdentifier ->
-          124
+          131
       | TIf _ ->
-          123
+          130
       | TInc _ ->
-          122
+          129
       | TIncludeL _ ->
-          121
+          128
       | TIncludeNL _ ->
-          120
+          127
       | TInitialiser ->
-          119
+          126
       | TInitialize ->
-          118
+          125
       | TInt _ ->
-          117
+          124
       | TInvalid ->
-          116
+          123
       | TIso ->
-          115
+          122
       | TIsoArgExpression ->
-          114
+          121
       | TIsoDeclaration ->
-          113
+          120
       | TIsoExpression ->
-          112
+          119
       | TIsoStatement ->
-          111
+          118
       | TIsoTestExpression ->
-          110
+          117
       | TIsoToTestExpression ->
-          109
+          116
       | TIsoTopLevel ->
-          108
+          115
       | TIsoType ->
-          107
+          114
       | TIterator ->
-          106
+          113
       | TIteratorId _ ->
-          105
+          112
       | TLineEnd _ ->
-          104
+          111
       | TLocal ->
-          103
+          110
       | TLogOp _ ->
-          102
+          109
       | TMPtVirg ->
-          101
+          108
       | TMetaConst _ ->
-          100
+          107
+      | TMetaDecl _ ->
+          106
       | TMetaDeclarer _ ->
-          99
+          105
       | TMetaErr _ ->
-          98
+          104
       | TMetaExp _ ->
-          97
+          103
       | TMetaExpList _ ->
-          96
+          102
+      | TMetaField _ ->
+          101
       | TMetaFunc _ ->
-          95
+          100
       | TMetaId _ ->
-          94
+          99
       | TMetaIdExp _ ->
-          93
+          98
       | TMetaInit _ ->
-          92
+          97
       | TMetaIterator _ ->
-          91
+          96
       | TMetaLocalFunc _ ->
-          90
+          95
       | TMetaLocalIdExp _ ->
-          89
+          94
       | TMetaParam _ ->
-          88
+          93
       | TMetaParamList _ ->
-          87
+          92
       | TMetaPos _ ->
-          86
+          91
       | TMetaStm _ ->
-          85
+          90
       | TMetaStmList _ ->
-          84
+          89
       | TMetaType _ ->
-          83
+          88
       | TMid0 _ ->
-          82
+          87
       | TMinus _ ->
-          81
+          86
       | TMinusFile _ ->
-          80
+          85
       | TMul _ ->
-          79
+          84
       | TName ->
-          78
+          83
       | TNever ->
-          77
+          82
       | TNotEq _ ->
-          76
+          81
       | TNothing ->
-          75
+          80
       | TOBrace _ ->
-          74
+          79
       | TOCro _ ->
-          73
+          78
       | TOEllipsis _ ->
-          72
+          77
       | TOInit _ ->
-          71
+          76
       | TOPar _ ->
-          70
+          75
       | TOPar0 _ ->
-          69
+          74
       | TOn ->
-          68
+          73
       | TOr _ ->
-          67
+          72
       | TOrLog _ ->
-          66
+          71
       | TPArob ->
-          65
+          70
       | TPCEllipsis _ ->
-          64
+          69
       | TPOEllipsis _ ->
-          63
+          68
       | TParameter ->
-          62
+          67
       | TPathIsoFile _ ->
-          61
+          66
       | TPlus _ ->
-          60
+          65
       | TPlus0 ->
-          59
+          64
       | TPlusFile _ ->
-          58
+          63
       | TPosAny ->
-          57
+          62
       | TPosition ->
-          56
+          61
       | TPragma _ ->
-          55
+          60
       | TPtVirg _ ->
-          54
+          59
       | TPtrOp _ ->
-          53
+          58
       | TPure ->
-          52
+          57
       | TReturn _ ->
-          51
+          56
       | TRightIso ->
-          50
+          55
       | TRuleName _ ->
-          49
+          54
       | TScript ->
-          48
+          53
       | TScriptData _ ->
-          47
-      | TShOp _ ->
-          46
+          52
+      | TShLOp _ ->
+          51
+      | TShROp _ ->
+          50
       | TSizeof _ ->
-          45
+          49
       | TStatement ->
-          44
+          48
       | TStrict _ ->
-          43
+          47
       | TString _ ->
-          42
+          46
       | TSub _ ->
-          41
+          45
       | TSwitch _ ->
-          40
+          44
       | TTilde _ ->
-          39
+          43
       | TTildeEq _ ->
-          38
+          42
       | TTildeExclEq _ ->
-          37
+          41
       | TType ->
-          36
+          40
       | TTypeId _ ->
-          35
+          39
       | TTypedef ->
-          34
+          38
+      | TUndef _ ->
+          37
       | TUnderscore ->
-          33
+          36
       | TUsing ->
-          32
+          35
       | TVirtual ->
-          31
+          34
       | TWhen _ ->
-          30
+          33
       | TWhenFalse _ ->
-          29
+          32
       | TWhenTrue _ ->
-          28
+          31
       | TWhile _ ->
-          27
+          30
       | TWhy _ ->
-          26
+          29
       | TWhy0 ->
-          25
+          28
       | TWords ->
-          24
+          27
       | TXor _ ->
-          23
+          26
       | Tattr _ ->
-          22
+          25
       | Tauto _ ->
-          21
+          24
       | Tchar _ ->
-          20
+          23
       | Tconst _ ->
-          19
+          22
       | Tdouble _ ->
-          18
+          21
       | Tenum _ ->
-          17
+          20
       | Textern _ ->
-          16
+          19
       | Tfloat _ ->
-          15
+          18
       | Tinline _ ->
-          14
+          17
       | Tint _ ->
-          13
+          16
       | Tlist ->
-          12
+          15
       | Tlong _ ->
-          11
+          14
+      | Tptrdiff_t _ ->
+          13
       | Tregister _ ->
-          10
+          12
       | Tshort _ ->
-          9
+          11
       | Tsigned _ ->
+          10
+      | Tsize_t _ ->
+          9
+      | Tssize_t _ ->
           8
       | Tstatic _ ->
           7
@@ -1100,6 +1155,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr ()
       | TDec _v ->
           Obj.repr _v
+      | TDeclaration ->
+          Obj.repr ()
       | TDeclarer ->
           Obj.repr ()
       | TDeclarerId _v ->
@@ -1140,6 +1197,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr ()
       | TExtends ->
           Obj.repr ()
+      | TField ->
+          Obj.repr ()
       | TFinalize ->
           Obj.repr ()
       | TFloat _v ->
@@ -1212,6 +1271,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr ()
       | TMetaConst _v ->
           Obj.repr _v
+      | TMetaDecl _v ->
+          Obj.repr _v
       | TMetaDeclarer _v ->
           Obj.repr _v
       | TMetaErr _v ->
@@ -1220,6 +1281,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
       | TMetaExpList _v ->
           Obj.repr _v
+      | TMetaField _v ->
+          Obj.repr _v
       | TMetaFunc _v ->
           Obj.repr _v
       | TMetaId _v ->
@@ -1318,7 +1381,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
@@ -1344,6 +1409,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
       | TTypedef ->
           Obj.repr ()
+      | TUndef _v ->
+          Obj.repr _v
       | TUnderscore ->
           Obj.repr ()
       | TUsing ->
@@ -1390,12 +1457,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 ->
@@ -1412,19 +1485,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
   
   let default_reduction =
-    (16, "\000\000\000\000\002\163\000|\000\000\000\000\002\240\001L\000\000\001J\001K\001I\000\000\001N\001M\000\001\000\000\001\140\000\000\000\000\000\140\000\000\000\000\001|\000\165\000\000\000\000\000\152\000\000\000\000\000\157\000\156\000\000\000\153\000\000\000\151\000\000\000\000\000\000\000\155\000\000\000\154\003'\003&\000\000\000\000\000\145\000\000\000\000\000\150\000\149\000\000\000\146\000\000\000\144\000\000\000\000\000\000\000\148\000\000\000\147\000\000\000\159\000\000\000\000\000\164\000\163\000\000\000\160\000\000\000\167\000\000\001F\001E\000\000\000\168\000\000\000\166\000\139\000\000\000\158\000\000\000\173\000\000\000\000\000\000\000\162\000\000\000\000\000\000\003\029\000\000\000\000\000\000\000\000\000\000\003\"\000\000\000\000\000\170\000\000\003$\000\000\000\000\000\000\003\161\002m\000\000\003\159\000\000\002\135\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\158\003\160\002s\001A\002r\001?\001@\002q\002p\002o\002k\000\000\000\000\002l\001\014\000\000\002n\000\000\003\157\000\000\000c\001>\002N\000\000\000\000\002Q\000\000\000\015\000\000\000\000\000\000\000\000\001\015\002j\002v\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\134\002)\000R\001\024\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\025\000\000\002T\001\026\000\014\000\016\000\000\000\000\000\195\000\000\000\000\000\182\000\000\000\000\000\187\000\186\000\000\000\183\000\000\000\181\000\000\000\000\000\000\000\185\000\000\000\184\000\000\000\000\000\175\000\000\000\000\000\180\000\179\000\000\000\176\000\000\000\174\000\000\000\000\000\000\000\178\000\000\000\177\000\000\000\189\000\000\000\000\000\194\000\193\000\000\000\190\000\000\000\197\000\000\000\000\000\198\000\000\000\196\000\000\000\188\000\000\000\203\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\142\000\000\000\000\000\000\000\000\000\000\000\000\002\016\000\211\000\000\000\000\000n\000o\002\015\001\240\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\217\000\000\001\241\000\000\000\000\000\000\000\000\000\210\000\208\000\223\000\000\001\132\000\000\000\000\003\031\000\000\003\030\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\201\000\199\000\000\000\000\003!\003%\000\191\000\000\000\000\001\029\000\000\000\000\002O\002R\000\000\002P\002S\003\132\003\133\003\131\000\000\002t\003\130\000\000\002\142\000\000\000\000\002\141\002\140\002\139\002\138\002\137\002\133\000\000\000\000\002\134\000\000\002\136\000\000\000\000\000g\002\\\000\000\000\000\002_\000\000\000\000\002b\000\000\000\000\002]\002`\000\000\002^\002a\002\144\002\132\003\146\003\147\003\145\003\144\000h\000\000\000\000\000W\000\000\000V\001\"\000\000\001\250\000\000\000\000\000\000\000\000\000\000\001\019\002\000\000\000\000\000\001\164\000U\0001\001\012\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\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002u\000\000\000\206\000\000\000\000\001\235\000\000\001\154\001\216\000\000\000\000\001\234\000\000\001\152\001\215\000\000\000\000\000d\000\000\002\143\000\000\000\000\003\149\003\148\000\000\001\251\000\000\000\000\003\135\003\134\000\000\000Q\000\207\000\000\001~\000\000\003 \000\000\000\000\000\000\000\000\000\171\000\169\000\000\001\023\000\000\000\000\000\172\000\161\000\000\000\000\001f\000\000\001e\000\000\001t\000\000\001\142\000\000\000\000\000\000\003W\000\000\000\000\003J\000\000\000\000\003O\003N\000\000\003K\000\000\003I\000\000\000\000\000\000\003M\000\000\003L\000\000\000\000\003C\000\000\000\000\003H\003G\000\000\003D\000\000\003B\000\000\000\000\000\000\003F\000\000\003E\000\000\003Q\000\000\000\000\003V\003U\000\000\003R\000\000\003Y\000\000\000\000\003Z\000\000\003X\000\000\003P\000\000\003_\000\000\000\000\000\000\003T\000\000\000\000\003~\000\000\000\000\000\000\000\000\003^\003S\000\000\003\128\000\000\000\000\003\000\003\127\000\132\000\000\000\251\000\000\000\000\000\000\000\000\003\\\000\000\000\000\000\000\000\000\003]\003[\000\000\000\000\003u\000\000\000\000\003h\000\000\000\000\003m\003l\000\000\003i\000\000\003g\000\000\000\000\000\000\003k\000\000\003j\000\000\000\000\003a\000\000\000\000\003f\003e\000\000\003b\000\000\003`\000\000\000\000\000\000\003d\000\000\003c\000\000\003o\000\000\000\000\003t\003s\000\000\003p\000\000\003w\000\000\000\000\003x\000\000\003v\000\000\003n\000\000\003}\000\000\000\000\000\000\003r\000\000\000\000\000\000\000\000\003|\003q\000\000\000\000\000\000\000\000\003z\000\000\000\000\000\000\000\000\003{\003y\003\025\003\027\003\028\003\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\212\000\000\000\000\000y\000\000\000\000\000\000\002z\000\000\000\000\000\000\002\130\000\000\000\000\002\129\000\000\003\142\002\128\002\127\002~\002}\002|\001b\002x\000\000\000\000\002y\000\000\002{\000\000\000\000\000\000\000\000\000\000\000e\002U\000\000\000\000\002X\000\000\000\000\002[\000\000\000\000\002V\002Y\000\000\002W\002Z\002\131\002w\000f\003\139\003\140\003\138\003\137\003\141\000\000\000\000\000\000\000\000\001\011\001\n\000\000\000\000\000\000\000\000\000\000\000\000\001W\000\000\001\021\001T\000\000\001\t\000\000\000\000\000\000\001[\000\000\000\000\001\\\000\000\001\136\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000%\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000u\000\000\000\000\000v\000q\000s\000r\001a\001Z\001]\000\000\001Y\001V\000\000\001U\000\000\000\244\000\000\002\234\000\000\000\000\000\240\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\247\000\000\000\000\000\250\000\000\000\000\000\000\000\000\000\000\000\000\001D\000\000\000\000\000\000\000\237\000\000\000\234\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\241\000\000\000\000\000\000\000\000\000\242\000\000\000\238\000\000\000\000\000\000\002\148\000\000\000\000\000\000\000\000\002\155\000\000\000\000\002\154\002\153\002\152\002\151\002\150\002\146\000\000\000\000\002\147\000\000\002\149\000\000\000\000\000i\002c\000\000\000\000\002f\000\000\000\000\002i\000\000\000\000\002d\002g\000\000\002e\002h\002\157\002\145\003\153\003\154\003\152\003\151\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\156\000\000\001\217\000X\000?\001!\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\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\156\003\155\000\000\003\016\000\000\003\015\000\000\000\000\000\000\000\000\003\168\000\000\000\000\000\000\003\169\000\000\000\018\000\000\000\000\000\000\003\164\000\000\001\166\000\000\000\000\000\000\000\224\003\006\001z\001y\001P\001O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\020\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\001\017\001\001\000\000\001\138\000\000\000\000\001\000\000\252\000\000\001\003\000\253\001\002\000\000\003\018\000\000\003\017\003\003\000\000\000\000\000\000\000\000\000\000\003\012\000\000\000\000\000\000\000\000\003\013\003\005\000\000\003\019\000\000\003\007\000\000\000\228\001Q\000\000\003\022\000\000\001S\000\000\000\000\003-\000\000\0034\000\230\000\000\000\235\000\000\003.\000\229\000\000\003/\000\000\0036\000\000\000\000\000\000\000\000\000\248\000\000\000\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\246\000\000\000\000\000\249\000\000\000\000\000\000\000\000\001C\000\000\000\000\000\000\000\236\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\239\000\226\000\225\000\000\0037\0038\000\000\0039\000\000\003:\000\000\001R\003\n\000\000\000\000\001\239\000\000\001\162\001\221\000\000\003\004\000\000\000\000\000\000\003\t\000\000\000\000\000\000\0017\000\000\0011\000\000\0012\000\000\001<\0010\001;\000\000\003\021\001=\000\000\000\231\000\000\000\000\000\000\000\000\0019\0014\001\236\000\000\0015\000\000\0016\000\000\001\156\001\218\000\000\000\000\000\000\001\246\000\000\001\244\000\000\000\000\001\248\001\242\000\000\001\249\001\243\000\000\003\023\001\252\000\000\000\227\000\000\000\000\001\237\000\000\001\158\001\219\000\000\003\165\000\000\003\162\000\000\003\163\000\019\000\020\000\000\000\000\002\208\000\000\002\207\000\000\000\000\002\210\000\000\002\209\000\000\000\000\000\000\002\025\000\000\000\000\002\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\002#\000\000\002\019\000\000\000\000\002\022\000\000\000\000\000\000\002\026\000\000\000\000\002\030\000\000\000\000\001\238\000\000\000\000\002\023\000\000\000\000\002\027\002\205\002\020\000\000\002\206\000\000\000\000\000\000\000\000\002!\000\000\002\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\031\000\000\000\000\002\"\000\000\002\018\000\000\000\000\002\021\000\000\000\000\000\000\002\024\000\000\000\000\002\028\000\000\001\160\001\220\000\000\002\211\000\000\000\000\000\000\003\166\000\017\000w\000\000\003\167\000\000\000\000\002\230\000\000\000\000\003\024\000a\000\000\000\000\000\000\000b\000\000\003\014\000\000\001\128\000\000\001\134\003\011\000\000\000\000\001l\000\000\001k\000\000\001u\000\000\001\148\000\000\000\000\000\000\001j\000\000\001i\000\000\001r\000\000\001\146\000\000\000\000\000\000\001q\000\000\000\000\000\000\001n\000\000\001m\000\000\001s\000\000\001\150\000\000\000\000\000\000\001o\000\000\000\000\000\000\001h\000\000\001g\000\000\001v\000\000\001\144\000\000\000\000\000\000\001p\000\002\000\000\000N\000O\000\000\000\000\002\173\002\177\002\181\002\169\002\166\000\000\000\000\002\178\002\185\002\170\002\184\002\168\002\183\002\172\002\164\002\171\002\180\002\167\002\174\002\165\002\176\002\182\002\179\002\175\001\184\001\183\000\130\000\000\000\000\002\252\000\000\000\000\002\224\000\000\000\000\002\226\002\225\002\195\000\000\000\000\003\002\002\187\002\186\002\188\000\000\001\196\000M\001w\000\003\000\000\000\000\002\160\000\000\002'\000\000\000\131\000\000\000\000\002\254\000\000\000\000\000\000\000{\000\000\000\000\002\238\000\000\002\012\002\011\001\178\002\196\000\000\001\212\000\000\002\161\000\000\000\000\000}\000\000\000\000\002\242\000\000\001\193\000\000\000\000\001\189\000\000\000\000\000\000\001\192\000\000\001\191\000\000\000\000\000\000\001\168\001\167\000\000\000\000\000\000\001\213\000\000\001\187\000\000\001\186\000\000\000x\000\000\000\000\002\232\000\000\000\000\001\182\000\000\000\000\000\128\000\000\000\000\002\248\000\000\000\000\002\203\000\000\002\202\000\000\000\000\000\000\002\n\002\t\002\200\002/\002\191\002\201\000\000\001\199\000\000\000\000\000\000\001\195\000\000\001\201\000\000\000\000\001\190\000\000\000\000\000\000\002\193\000\129\000\000\000\000\002\250\000\000\002\192\000\000\001\197\000\000\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\001\214\000\000\001\188\000\000\002\002\000~\000\000\000\000\002\244\000\000\000\000\000\000\000\000\003)\003(\000\000\000\000\001H\000z\001G\000\000\000\000\002\236\000\000\002\004\002\003\002\006\002\189\002+\002\005\000\000\000\127\000\000\000\000\002\246\000\000\000\000\000\000\000\000\002\008\002\007\002\199\002\197\002-\002\190\002\198\000\000\001\206\000\000\001\210\000\000\000\000\001\202\000\000\000\000\000\000\001\194\000\000\001\200\000\000\000\000\000\000\000\000\001\181\000\000\000\000\001\209\000\000\001\208\000\000\000\000\000\000\000\000\001\205\000\000\000\000\001\204\000\000\001\203\000\000\000\000\000\000\000\000\001\207\000\000\001\211\000\000\000\000\001x\000\004\000\000\001\185\000\005\000\000\000\000\001%\000\006\000\000\001\225\001\226\001\224\000\000\001\223\003*\001\174\000\000\000\007\000\000\001\228\001\229\001\227\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\0030\003=\000\000\0031\000\000\0032\000\000\000\000\003+\000\000\000\000\000\000\000\000\003<\000\000\000\000\003;\001\233\001\232\000\000\000\000\001\176\001\222\001\230\000\000\000\000\000\000\000\000\002\014\000\000\000\000\000l\000m\002\013\000\000\000\000\000\000\000\220\000\000\001\130\000\000\000\000\000\219\000\215\000\000\000\000\000\000\000\000\001B\000\000\003@\000\000\003A\000\000\000\000\001\255\001\253\000\000\001\254\000\008\000\000\000\t\000\000\002>\002?\002=\000\000\002<\000\000\000\n\000\000\002A\002B\002@\000\000\002D\000\000\000\000\000\000\0026\000\000\000\000\0028\000\000\0022\000\000\0024\000\000\0029\000\000\002:\000\000\0023\0021\002E\001\180\002;\000\000\002G\000\000\002F\000\000\002H\000\000\002\204\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002I\000\000\000\000\002L\000\000\002K\000\000\002J\001\004\000\000\000\000\000\000\000\000\001\005\002M\000\000\000\000\002\215\000\000\000\000\000\000\000\000\002\216\000\000\000\000\001$\000\000\000\000\000\000\000\000\000\000\002\228\000k\000\000\000\000\001\013\000\000\001\031\001\030\000\000\001d\000\000\002\214\001\172\001\170\000\000\000\000\000\000\000\000\002\217\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\213\000\000\000\000\000\000\000\000\000\000\000\000\002\212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\223\000\000\000\000\000\000\002\222\002\219\000\000\000\000\000\000\000\000\002\220\000\000\000\000\002\221\000\013\000\000\002\218")
+    (16, "\000\000\000\000\002\245\000\131\000\000\000\000\003D\001|\000\000\001z\001{\001y\000\000\001~\001}\000\001\000\000\001\177\000\000\000\000\000\147\000\000\000\000\001\167\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}\003|\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\001v\000\000\000\000\000\000\001u\000\000\000\000\001I\001H\001G\001F\001E\001D\000\000\0011\002;\000\000\000\000\002:\000\000\000\000\000\000\000\159\000\000\000\000\000\158\002>\001B\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\003q\003w\000\000\000\000\000\000\000\000\000\000\003r\003s\000\000\000\000\000\206\000\000\003u\000\000\000\000\000\000\004\b\002\191\000\000\000\000\004\006\000\000\002\217\000\000\000\000\000\000\000\000\000\000\000\000\004\005\004\007\002\197\001q\002\196\001o\001p\002\195\002\194\002\193\002\189\000\000\000\000\002\190\001+\000\000\000\000\000\000\002\192\000\000\004\004\000\000\000\000\003\229\001n\002\160\000\000\000\000\002\163\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\001,\002\188\002\200\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\0016\000p\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\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\161\002\164\000\000\002\162\002\165\003\228\000\000\002\225\000\000\000\247\000\000\000\000\002\018\000\000\001\191\001\255\000\000\000\000\002\017\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\002a\000\252\000\000\000\000\000\000\000\000\000\000\002O\002`\002\023\000\000\000\000\000\000\000\000\000\000\001A\001\000\000\000\002\024\000\000\000\000\000\000\000\000\000\251\000\249\000\171\000\000\000\000\000\170\002S\002P\000\000\000\000\003y\000\000\003x\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\242\000\240\000\000\000\000\003{\003v\000\227\000\000\001\189\001\254\000\000\000\000\002\224\000\000\000\000\002\223\002\222\002\221\002\220\002\219\002\215\000\000\003\240\002\216\000\000\003\241\002\218\000\000\003\243\000\000\000y\002\174\000\000\000\000\002\177\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000i\000\000\000h\000\151\002\226\002\214\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\002,\0020\000\000\000\000\000\150\002-\0019\0017\000\000\002\180\000\000\000\000\002\175\002\178\000\000\002\176\002\179\003\242\000z\000\000\002\166\004\000\004\001\003\255\003\254\003\227\000\000\002\198\003\226\001N\000\000\002!\000\000\000\000\000\000\000\000\000\000\001/\002'\000\000\000\000\001\201\000\000\002\199\000\000\000\000\000v\000\000\000\000\003\245\003\244\000\000\002\"\000\000\000\000\004\003\004\002\000\000\000\000\003\231\003\230\000\000\000c\000\248\000\000\001\169\000\000\003z\000\000\000\000\000\000\000\000\000\207\000\205\000\000\0015\000\000\000\000\000\208\000\192\000\000\000\000\001\145\000\000\001\144\000\000\001\159\000\000\001\179\000\000\000\000\000\000\003\173\000\000\000\000\003\160\000\000\000\000\003\165\003\164\000\000\003\161\000\000\003\159\000\000\000\000\000\000\003\163\000\000\003\162\000\000\003\177\000\000\003\176\000\000\000\000\003\153\000\000\000\000\003\158\003\157\000\000\003\154\000\000\003\152\000\000\000\000\000\000\003\156\000\000\003\155\000\000\003\167\000\000\003\178\000\000\000\000\003\172\003\171\000\000\003\168\000\000\003\175\000\000\000\000\000\000\000\000\003\180\000\000\000\000\000\000\000\000\003\181\003\179\000\000\003\174\000\000\003\166\000\000\003\186\000\000\000\000\000\000\003\170\000\000\000\000\003\222\000\000\000\000\000\000\000\000\003\185\003\169\000\000\003\224\000\000\000\000\003T\003\223\000\139\000\000\001\029\000\000\000\000\000\000\000\000\003\183\000\000\000\000\000\000\000\000\003\184\003\182\000\000\000\000\003\208\000\000\000\000\003\195\000\000\000\000\003\200\003\199\000\000\003\196\000\000\003\194\000\000\000\000\000\000\003\198\000\000\003\197\000\000\003\212\000\000\003\211\000\000\000\000\003\188\000\000\000\000\003\193\003\192\000\000\003\189\000\000\003\187\000\000\000\000\000\000\003\191\000\000\003\190\000\000\003\202\000\000\003\213\000\000\000\000\003\207\003\206\000\000\003\203\000\000\003\210\000\000\000\000\000\000\000\000\003\215\000\000\000\000\000\000\000\000\003\216\003\214\000\000\003\209\000\000\003\201\000\000\003\221\000\000\000\000\000\000\003\205\000\000\000\000\000\000\000\000\003\220\003\204\000\000\000\000\000\000\000\000\003\218\000\000\000\000\000\000\000\000\003\219\003\217\003m\003o\003p\003n\000\000\000\000\000\000\000\000\000\000\001\129\000\000\000\000\000\000\000\000\000\000\000\254\001\n\000\253\000\000\000\000\000\128\000\000\000\000\000\000\002\204\000\000\000\000\000\000\003\238\003\237\000\000\000\000\002\212\000\000\000\000\002\211\000\000\000\000\002\210\002\209\002\208\002\207\002\206\001\141\002\202\000\000\003\233\002\203\000\000\003\234\002\205\000\000\003\236\000\000\000w\002\167\000\000\000\000\002\170\000\000\000\000\002\173\000\000\000\000\002\168\002\171\000\000\002\169\002\172\002\213\002\201\003\235\000x\000\000\000\000\000\000\000\000\001(\001'\000\000\000\000\000\000\000\000\000\000\000\000\001\135\000\000\0013\001\133\000\000\001&\000\000\002B\000\000\000\000\001\138\000\000\000\000\001\139\000\000\001\175\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\000\000\000\000\000\002A\000\000\000\000\000\000\000\163\000\000\000\000\000\162\002E\001=\000\000\001\137\001\140\000\000\001\134\000\000\001\022\000\000\003>\000\000\000\000\001\018\000\000\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\000\000\000\000\001t\000\000\000\000\000\000\001\015\000\000\001\012\000\000\000\000\000\000\000\000\000\000\001\023\000\000\001\019\000\000\000\000\000\000\000\000\001\020\000\000\001\016\000\000\000\000\000\000\002\230\000\000\000\000\000\000\003\252\003\251\000\000\003d\000\000\003c\000\000\000\000\000\000\000\000\004\015\000\000\000\000\000\000\004\016\000\000\000\018\000\000\000\000\000\000\000\000\002\237\000\000\000\000\000\000\002\236\002\235\002\234\002\233\002\232\002\228\000\000\003\247\002\229\000\000\003\248\002\231\000\000\003\250\000\000\000{\002\181\000\000\000\000\002\184\000\000\000\000\002\187\000\000\000\000\002\182\002\185\000\000\002\183\002\186\002\239\002\227\003\249\000\000\000\000\000l\000\000\000k\000\000\002\238\000\000\002\000\000j\000B\001M\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\011\000\000\001\203\000\000\000\000\000\000\001\001\003Z\001\165\001\164\001\128\001\127\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003h\000\000\000\000\000\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\001-\000\000\000\000\0023\000\000\000\000\000\154\0027\0024\001;\001\030\000\000\001 \001\031\000\000\003f\000\000\003e\003W\000\000\000\000\000\000\000\000\000\000\003`\000\000\000\000\000\000\000\000\003a\003Y\000\000\003g\000\000\003[\000\000\001\005\001\130\000\000\003j\000\000\001\132\000\000\000\000\003\131\000\000\003\138\001\007\000\000\001\r\000\000\003\132\001\006\000\000\003\133\000\000\003\140\000\000\000\000\000\000\000\000\001\026\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\024\000\000\000\000\001\027\000\000\000\000\000\000\000\000\001s\000\000\000\000\000\000\001\014\000\000\001\011\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\017\001\003\001\002\000\000\003\141\003\142\000\000\003\143\000\000\003\144\000\000\001\131\003^\000\000\000\000\002\022\000\000\001\199\002\004\000\000\003X\000\000\000\000\000\000\003]\000\000\000\000\000\000\001g\000\000\001a\000\000\001b\000\000\001l\001`\001k\000\000\003i\001m\000\000\001\b\000\000\000\000\000\000\000\000\001i\001d\002\019\000\000\001e\000\000\001f\000\000\001\193\002\001\000\000\000\000\000\000\002\029\000\000\002\027\000\000\000\000\002\031\002\025\000\000\002 \002\026\000\000\003k\002#\000\000\001\004\000\000\000\000\002\020\000\000\001\195\002\002\000\000\004\012\000\000\004\t\000\000\004\n\000\019\000\020\000\000\000\000\003\"\000\000\003!\000\000\002c\000\000\003$\000\000\003#\000\000\000\000\000\000\002k\000\000\000\000\002o\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002r\000\000\000\000\002u\000\000\002e\000\000\000\000\002h\000\000\000\000\000\000\002l\000\000\000\000\002p\000\000\000\000\002\021\000\000\000\000\002i\000\000\000\000\002m\003\031\002f\000\000\003 \000\000\000\000\000\000\000\000\002s\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002q\000\000\000\000\002t\000\000\002d\000\000\000\000\002g\000\000\000\000\000\000\002j\000\000\000\000\002n\000\000\001\197\002\003\000\000\003%\000\000\000\000\000\000\004\r\000\017\000~\000\000\004\014\000\000\000\000\003:\000\000\000\000\003l\000s\000\000\000\000\000\000\000t\000\000\003b\000\000\001\171\000\000\001\173\003_\000\000\000\000\001\151\000\000\001\150\000\000\001\160\000\000\001\185\000\000\000\000\000\000\001\149\000\000\001\148\000\000\001\157\000\000\001\183\000\000\000\000\000\000\001\156\000\000\000\000\000\000\001\153\000\000\001\152\000\000\001\158\000\000\001\187\000\000\000\000\000\000\001\154\000\000\000\000\000\000\001\147\000\000\001\146\000\000\001\161\000\000\001\181\000\000\000\000\000\000\001\155\000\002\000\000\000`\000a\000\000\000\000\002\255\003\003\003\007\002\251\002\248\000\000\000\000\003\004\003\011\002\252\003\n\002\250\003\t\002\254\002\246\002\253\003\006\002\249\003\000\002\247\003\002\003\b\003\005\003\001\001\222\001\221\000\137\000\000\000\000\003P\000\000\000\000\0034\000\000\000\000\0036\0035\003\021\000\000\000\000\003V\003\r\003\012\003\014\000\000\001\236\000_\001\162\000\003\000\000\000\000\002\242\000\000\002y\000\000\000\138\000\000\000\000\003R\000\000\000\000\000\000\000\130\000\000\000\000\003B\000\000\002]\002\\\001\215\003\022\000\000\001\251\000\000\002\243\000\000\000\000\000\132\000\000\000\000\003F\000\000\001\233\000\000\000\000\001\227\000\000\000\000\000\000\001\232\000\000\001\229\000\000\000\000\000\000\001\205\001\204\000\000\000\000\000\000\001\252\000\000\001\225\000\000\001\224\000\000\000\127\000\000\000\000\003<\000\000\000\000\001\220\000\000\000\000\000\135\000\000\000\000\003L\000\000\000\000\003\029\000\000\003\028\000\000\000\000\000\000\002[\002Z\003\026\002\129\003\017\003\027\000\000\001\239\000\000\000\000\000\000\001\235\000\000\001\241\000\000\000\000\001\228\000\000\000\000\000\000\003\019\000\136\000\000\000\000\003N\000\000\003\018\000\000\001\237\000\000\000\000\001\238\000\000\000\000\001\231\000\000\000\000\001R\000\000\001Q\000\000\000\000\000\000\000\000\000\000\001\253\000\000\001\226\000\000\001P\000\000\002)\000\133\000\000\000\000\003H\000\000\000\000\000\000\000\000\003\127\003~\000\000\000\000\001x\000\129\001w\000\000\000\000\003@\000\000\002U\002T\002W\003\015\002}\002V\001O\000\000\000\134\000\000\000\000\003J\000\000\000\000\000\000\000\000\002Y\002X\003\025\003\023\002\127\003\016\003\024\000\000\001\246\000\000\001\249\000\000\000\000\001\242\000\000\000\000\000\000\001\234\000\000\001\240\000\000\000\000\001\230\000\000\000\000\000\000\000\000\000\000\000\000\001\219\000\000\000\000\001\248\000\000\001\247\000\000\000\000\000\000\000\000\001\245\000\000\000\000\001\244\000\000\001\243\000\000\000\000\001\250\000\000\000\000\001\163\000\004\000\000\001\223\000\005\000\000\000\000\001U\000\006\000\000\002\b\002\t\002\007\000\000\002\006\003\128\001\211\000\000\000\007\000\000\002\011\002\012\002\n\000\000\000\000\000\000\000\000\001W\000\000\000\000\000\000\000\000\001\\\001^\001]\001X\001Z\001Y\000\000\000\000\000\000\000\000\000\000\003\134\003\147\000\000\003\135\000\000\003\136\000\000\000\000\003\129\000\000\000\000\000\000\000\000\003\146\000\000\000\000\003\145\002\016\002\015\000\000\000\000\001\213\002\005\002\r\000\000\000\000\000\000\000\000\000\000\002_\000\000\000\000\000\000\000\000\000\000\002H\002^\000\000\000\000\000\000\000\167\000\000\000\000\000\166\002L\002I\001?\000\255\000\000\000\000\000\000\000\000\001r\000\000\003\150\000\000\003\151\000\000\000\000\002&\002$\000\000\002%\000\b\000\000\000\t\000\000\002\144\002\145\002\143\000\000\002\142\000\000\000\n\000\000\002\147\002\148\002\146\000\000\002\150\000\000\000\000\000\000\002\136\000\000\000\000\002\138\000\000\002\132\000\000\002\134\000\000\002\139\000\000\002\140\000\000\002\133\002\131\002\151\001\217\002\141\000\000\002\153\000\000\002\152\000\000\002\154\000\000\003\030\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002\155\000\000\000\000\002\158\000\000\002\157\000\000\002\156\001!\000\000\000\000\000\000\000\000\001\"\002\159\000\000\000\000\000\000\003*\000\000\003)\000\000\000\000\000\000\000\000\003+\000\000\000\000\001T\000\000\000\000\000\000\000\000\000\000\0038\000}\000\000\000\000\001*\000\000\001K\001J\000\000\001\143\000\000\003(\001\209\001\207\000\000\000\000\000\000\000\000\003,\000\012\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0033\000\000\000\000\0032\000\000\003/\000\000\000\000\000\000\000\000\000\000\0030\000\000\000\000\000\000\0031\000\r\000\000\003-\000\000\003.")
   
   let error =
-    (179, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\006\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\024\000\000\000\000\000\000\000\000\000\000\004\000\134\000\000\004\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\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\001\128\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\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\127\128\000\000\000\000\000\000\000=j\188\000\008\000 \000\002\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\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@J\161\160\n\002\026\160\128\144\204\008\192h\004C\188\018\000\004s!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000.\209\192\000\000\012@\000@\006\004`\016\002\000\132\000\000\000\t\144\196\004\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019(`\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\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\001\"\134\000\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\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\002\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\000H\161\128\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\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\002\001 #\000\128\016\004 \000\000\000L\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023h\224\000\000\006 \000 \003\0020\008\001\000B\000\000\000\004\200b\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\1480\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\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\001\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$P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\1480\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\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\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\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\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\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\001\016\000\016\t\001\024\004\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$P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\000\128\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\"\000\002! #\000\128\016\004 \000\000\000L\134/Z\175\000\002\000\008\000\000\130\002\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=j\188\001\008\000 \000\002\008\008\000\000\000\000\002\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\245\170\240\000 \000\128\000\008  \000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\128\000\000\001\000\000\000\000\000\000\003\214\171\192\000\128\002\000\000 \128\128\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\016\000\004\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\001\000\004\000\000A\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\016\000\002 \000\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\128\008!\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\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\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\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \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\t \000H4\n\003;@\000! \016\000\000A\000\130\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\128\008 \016@\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\t\235U\224\000D\145\000$\026\005A\157\160\000\016\144\008\002\000 \128A=j\188\000\008\146 \004\131@\1683\180\000\002\018\001\000@\004\016\008 \000\000\000\000\018@\000\144h\020\006v\128\000B@ \000\000\130\001\004\245\170\240\000\"H\128\018\013\002\160\206\208\000\008H\004\001\000\016@ \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$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\004\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \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\t \000H4\n\003;@\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$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\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\002@\000\004L\019e\146\192\000\005\000 @\000\013\208\016\158\029\192\000\000\000\000\000\000\000\000\000\000\000\128\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\000z\213x\000\017$@\t\006\129Pg\232\000\004$\002\000\128\008$\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\004\128\000\008\136 \192%\128\000\n\000@\000\000\027 \0014;\128\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000\" \155\008\150\000\000(\001\000\000\000l\128\004\240\238\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \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\018\000\000\" \155\008\150\000\000(\001\000\000\000L\128\004\240n\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000H\000\000\136\130l\"X\000\000\160\004\000\000\0012\000\019\193\184\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\002\"\t\176\137`\000\002\128\016\000\000\004\200\000O\006\224\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\004\128\000\008\136&\194%\128\000\n\000@\000\000\019 \001<\027\128\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\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\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \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\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\002\"\t\176\137`\000\002\128\016\000\000\004\200\000O\006\224\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\004\128\000\008\136&\194%\128\000\n\000@\000\000\019 \001<\027\128\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000\" \155\008\150\000\000(\001\000\000\000L\128\004\240n\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000H\000\000\136\130l\"X\000\000\160\004\000\000\0012\000\019\193\184\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\002\"\t\176\137`\000\002\128\016\000\000\004\200\000O\006\224\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\024\001\004\002\008\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\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\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$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\004\128\000\008\136&\194%\128\000\n\000@\000\000\019 \001<\027\128\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000\" \155\008\150\000\000(\001\000\000\000L\128\004\240n\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000H\000\000\136\130l\"X\000\000\160\004\000\000\0012\000\019\193\184\000\000\000\000\t \000H4\n\003;@\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\004\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\235U\160\000@\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\168\016\000\000\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\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\"\000\002\001 #\000\128\016\004 \000\000\000L\134 $P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\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\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000\016\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\001\016\000\016\t\001\024\004\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&P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\004\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\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\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\001\016\000\016\t\001\024\004\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\004\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\145C\000\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\001\016\000\016\t\001\024\004\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&P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\004\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\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\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\001\016\000\016\t\001\024\004\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\128\000\000\000\000\000\000\004\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\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\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\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\002\001 #\000\128\016\004 \000\000\000L\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\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\002\000\000\000\000\000\000\000\018(`\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\008\128\000\136H\008\192 \004\001\008\000\000\000\019!\139\214\171\192\000\128\002\000\000 \128\128\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\128\000$P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\008\000 \000\002\008\008\000\000\000\000\002\000\000\000\000\000@\007\173W\128\001\000\004\000\000A\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\128\000\000\001\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\002\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\128\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\008\000 \000\002\000\008\192\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\017\000\003\214\171\192\000\128\002\000\000 \000\140\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\004@\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\128\000\000\001\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000@\000\004\000\017\128\000\000\000\000\000\000\128\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\128\001\235U\224\000@\001\000\000\016\000F\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\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\002\000\008\000\000\128\0020\000\000\000\000\000\000\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\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\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\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\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\000u\170\208\000 \000\128\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\128\000\000\001\000\000\000\000\000\000\003\214\171\192\000\128\002\000\000 \128\128\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\128\000$P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\000\017\000\001\016\144\017\128@\008\002\016\000\000\000&C\023\173W\128\001\000\004\000\000A\001\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\001\000\000H\161\128\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\017\000\003\214\171\192\000\137\"\000H4\n\131?@\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$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\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\004\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\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\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\004\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\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\001$\000\t\006\129@gh\000\004$\002\000\000\008 \016@\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\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\146\000\004\131@\1603\180\000\002\018\001\000\000\004\016\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\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000\000\000I\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\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@\129\022I(\000\000@\000\004\000\000\213\001\000A\024\000\000\000\000\000\000\000\000\000\000\000\008\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\007\173W\128\001\018D\000\144h\021\006~\128\000B@ \008\000\130A\004\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\t \000H4\n\003;@\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\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\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\017`\018\128\000\004\000\000\000\000\013\016\000\004\017\128\000\000\000\000I\000\002A\160P\025\218\000\001\t\000\128 \002\008\004\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\t\006\129@gh\000\004$\002\000\128\008 \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\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\001\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\000\128I\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\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\001$\000\t\006\129@gh\000\004$\002\000\128\008 \016@\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\018@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\001\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\144\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000\018@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\004\000\017`\018\128\000\004\000\000\000\000\t\016\000\004\001\128\000\000\000\000I\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\000\008 \016@\000\000$\000\000@\001\022\001(\000\000@\000\000\000\000\145\000\000@\024\000\000\000\000\004\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\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\144h\020\006v\128\000B@ \000\000\130\001\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\000I\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\000\008 \016@\000\000$\000\000@\001\022\001(\000\000@\000\000\000\000\145\000\000@\024\000\000\000\000\004\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\144\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000\018@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\004\000\017`\018\128\000\004\000\000\000\000\t\016\000\004\001\128\000\000\000\000I\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\192\008 \016@\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\004\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\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\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\004\000\017`\018\128\000\004\000\000\000\000\t\016\000\004\001\128\000\000\000\000I\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\000\008 \016@\000\000$\000\000@\001\022\001(\000\000@\000\000\000\000\145\000\000@\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\t \000H4\n\003;@\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\004\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\002\000\000\000\000\000\000\000\000\000\000\128\000\245\170\240\000 \000\128\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\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\016\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\000\137\"\000H4\n\131;@\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\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\245\170\240\000\"H\128\018\013\002\160\206\208\000\008H\004\001\000\016@ \128\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\004\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\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\001\"\134\000\000\000\"\000\002! #\000\128\016\004 \000\000\000L\134/Z\175\000\002\000\008\000\000\130\002\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\002\000\000\145C\000\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\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\128\000$P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\002\245\170\240\000 \000\128\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\003\214\171\192\000\128\002\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\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\016\000\000\000\000\000\000\000\008\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\255\235\248 #H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\158\181^\000\004\000\016\000\001\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\001@BD\016\002\024\128\000\t\000\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\n\129\000\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160!\"\008\001\012@\000\004\128\004;A \000F\000\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\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\016\001\000P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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(\008H\130\000C\016\000\001 \001\014\208H\000\017\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 \002\000\160!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\002\000 \n\002\018 \128\016\196\000\000H\000C\180\018\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\008\000\128(\008H\130\000C\016\000\001 \001\014\208H\000\017\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\001P \000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004$A\000!\136\000\000\144\000\135h$\000\008\192\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\001\000P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\002\000 \n\002\018 \128\016\196\000\000H\000C\180\018\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\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\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@\020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\004\001@BD\016\002\024\128\000\t\000\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\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\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@\020\004$A\000!\136\000\000\144\000\135h$\000\008\192\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\001\000P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\002\000 \n\002\018 \128\016\196\000\000H\000C\180\018\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\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\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@\020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\002\000 \n\002\018 \128\016\196\000\000H\000C\180\018\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\008\000\128(\008H\130\000C\016\000\001 \001\014\208H\000\017\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 \002\000\160!\"\008\001\012@\000\004\128\004;A \000F\000\000\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\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128(\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\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\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\016\001\000P\016\145\004\000\198 \000\002@\002\029\160\144\000#\000\000\030\181^\000\004\000\016\000\001\004\004\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\004\000\000\008\000\128(\008H\130\000C\016\000\001 \001\014\208H\000\017\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\008\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\004\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\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\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\002\000\000 \000\000\000@\000\000\000\000\000\000\245\170\240\000 \000\128\000\008  \000\000\000\000\008\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@\004\001@BD\016\002\024\128\000\t\000\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\001\000\016\005\001\t\016@\012b\000\000$\000!\218\t\000\0020\000\001\235U\224\000@\001\000\000\016@@\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\128\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\214\171@\000\128\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128(\008H\130\000C\016\000\001 \001\014\208H\000\017\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\001P \000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004$A\000!\136\000\000\144\000\135h$\000\008\192\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\001\000P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\002\000 \n\002\018 \128\016\196\000\000H\000C\180\018\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\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\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@\020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\004\001@BD\016\002\024\128\000\t\000\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\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \n\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000@\004\001@BD\016\002\024\128\000\t\000\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 \002\000\160!\"\008\001\012@\000\004\128\004;A \000F\000\000\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\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128(\008H\130\000C\016\000\001 \001\014\208H\000\017\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 \002\000\160!\"\008\001\012@\000\004\128\004;A \000F\000\000\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\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \n\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000@\004\001@BD\016\002\024\128\000\t\000\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 \002\000\160!\"\008\001\012@\000\004\128\004;A \000F\000\000\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\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000@\004\001@BD\016\002\024\128\000\t\000\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\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\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@\020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\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\001\000P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\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@\020\004$A\0001\136\000\000\144\000\135h$\000\008\192\000\007\173W\128\001\000\004\000\000A\001\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\001\000\000\002\000 \n\002\018 \128\016\196\000\000H\000C\180\018\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\004\000\000@\000\000\000\128\000\000\000\000\000\001\235U\224\000@\001\000\000\016@@\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\128\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\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 \n\002\018 \128\024\196\000\000H\000C\180\018\000\004`\000\003\214\171\192\000\128\002\000\000 \128\128\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\128\000\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\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\008\000\210\008\004\003\016\162;\180 \006z\131\000\008\197\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\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\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\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000\016\000@\000\004\000\016\000\016\000\000\004\000\000\000`\016\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=j\188\000\008\000 \000\002\000\008\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\128\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\000\000\000\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\001$\000\008\006q@gh\000\012$\002\002\160\008 \144@\000\000\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\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \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\030\181^\000\004I\016\002A\160T\025\218\000\001\t\000\128 \002\008\004\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\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\004\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\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\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \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\t \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016OZ\175\000\002$\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\008\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\146\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\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\129\002\012\146P\000\000\128\000\008\000\001\n\002\016\0000\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\015Z\175\000\002$\136\001 \208*\012\253\000\000\132\128@\016\001\004\130\008\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\018@\000\144h\020\006v\128\000B@ \008\000\130\001\004\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\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\016\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \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$\128\001\000\206(\012\237\000\001\132\128@T\001\004\018\008\000\000\000\000\004\144\000 \025\197\001\157\160\0000\144\008\n\128 \128A\000\000\000\144\000\001\019\004\217d\176\000\001@\008\016\000\003t\004%\007p\000\000\000 \018@\000\128g\020\006v\128\000\194@ *\000\130\t\004\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\000I\000\002A\168P\027\218\000\001\t\000\128 \002\008\004\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\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\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\002@\000\004\012\016d\146\192\000\004\000\000@\000\012\208\016\144\017\128\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\t \000@3\n\003;@\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\000\008\000\000\000\000\000\000\000\000\004\144\000 \025\133\001\157\160\0000\144\008\008\128 \128A\000\000\000\000\000\000\000\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\008\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000 \000\000@\001\006\001(\000\000@\000\000\000\000\129\000\008\000\024\000\000\000\000\004\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\128\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000\018@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002\000\000\004\000\016`\018\128\000\004\000\000\000\000\008\016\000\128\001\128\000\000\000\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\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\008\006\001@gh\000\012$\002\000\000\008 \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\004\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\128\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000\018@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002\000\000\004\000\016`\018\128\000\004\000\000\000\000\008\016\000\128\001\128\000\000\000\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\008\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000 \000\000@\001\006\001(\000\000@\000\000\000\000\129\000\008\000\024\000\000\000\000\004\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\128\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000\018@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002\000\000\004\000\016`\018\128\000\004\000\000\000\000\008\016\000\128\001\128\000\000\000\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\008\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000 \000\000@\001\006\001(\000\000@\000\000\000\000\129\000\008\000\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128g\020\006v\128\000\194@ *\000\130\t\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\000I\000\002\001\156P\025\218\000\003\t\000\128\168\002\008$\016\000\000\000\000\t \000@3\138\003;@\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$\128\001\000\206(\012\237\000\001\132\128@T\001\004\018\008\000\000\000\000\004\144\000 \025\197\001\157\160\0000\144\008\008\128 \130A\000\000\000\000\000\146\000\004\0038\1603\180\000\006\018\001\001P\004\016H \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000I\000\002\001\156P\025\218\000\003\t\000\128\168\002\008$\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\004\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\016\000\000\000\000\000\000\000\000\000\000\000\000\002\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\008\000\000\140\000\000\000\016\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\008\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\000\128\002\000\000 \000\140\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\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\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\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\128\000\144\000\000\000\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\016\000\018\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\015Z\175\000\002\000\008\000\000\128\0020\000\000\000\000\000\000\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\016\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\004\000\000\000\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\000I\000\002A\168P\027\218\000\001\t\000\128 \002\008\004\016\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\029j\180\000\008\000 \000\000\000\008\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\004\000\000\000\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\000I\000\002A\168P\027\218\000\001\t\000\128 \002\008\004\016\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\001\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\004\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\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\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\001\000B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\007\255_\193\001\026E\000\144j\021\199w\132\000\207P`\t\030\163\013\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\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\000\000\t \000@0\n\003;@\000a \016\000\000A\000\130z\213x\000\017$@\t\006\129Pgh\000\004$\002\000\128\008 \016@\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\002\000\000\000\000\000\000\018@\000\128`\020\006v\128\000\194@ \000\000\130\001\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\146\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008 \000\000\000\000\018@\000\144h\020\006v\128\000B@ \008\000\130\001\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\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\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\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\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\018\000\000\"`\155,\150\000\000(\001\002\000\000j\128\128\160\238\000\000\000\000\000\000\000\000\000\000\000\004\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\003\214\171\192\000\137\"\000H4\n\131?@\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\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\004\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\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\128\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\001 \000\002\"\t\176\137`\000\002\128\016\000\000\006\136\000\n\014\224\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\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\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\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\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\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\002@\000\004D\019a\018\192\000\005\000 \000\000\t\016\000\020\013\192\000\000\000\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\t\000\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\220\000\000\000\000\004\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\144\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000\018@\000\128`\020\006v\128\000\194@ \000\000\130\001\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\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\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\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\220\000\000\000\000\004\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\144\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000\018@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002@\000\004D\019a\018\192\000\005\000 \000\000\t\016\000\020\013\192\000\000\000\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\t\000\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\220\000\000\000\000\004\144\000$\026\005\001\157\160\000\016\144\008\003\000 \128A\000\000\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\128`\020\006v\128\000\194@ \000\000\130\001\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\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\t\000\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\220\000\000\000\000\004\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\144\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003w\173W\128\001\018D\000\144h\021\006v\128\000B@ \008\000\130\001\004\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\001$\002\t\006\129@gh\000\004$\002\000\128\008 \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\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\007\255_\193\225\026E\000\128c\021\199w\132\000\207P`\001\026\162\005\004\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\000I\000\002A\160P\025\218\000\001\t\000\128 \002\008\004\016\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016D\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\003\255\175\224\128\141\"\128@1\n\227\187\194\000g\1680\000\141Q\002\130\127\245\252\016\017\164P\t\006\161|wx@\012\245\006\000\145\170(PO\254\191\131\1944\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\251\255\015\008\210(\004\003\024\190;\188`\006z\147\000\008\245\028k0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 #H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\159\253\127\004\004i\020\002A\168_\029\222\016\003=A\128$j\138\020\019\255\175\224\128\141\"\128H5\n\227\187\194\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\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\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\004\000\000\000\000\002\0004\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000@\006\144@ \024\133\017\221\161\0003\212\024\000F(\129A\000\000\000\000\000\000\000\000\000\000\000\001\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \016H4\n\003;@\000! \016\004\000A\000\130\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$\128A \208(\012\237\000\000\132\128@\016\001\004\002\008\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\146\000\004\131@\1603\180\000\002\018\001\000@\004\018\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 \003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\004\000i\004\002\001\136Q\029\218\016\003=A\128\004b\136\020\016\000\000\000\000\000\000\000\000\000\000\000\016\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\000D\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\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\000\000\000\004\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\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\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\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\000I\000\002A\160P\025\218\000\001\t\000\128 \002\008\004\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\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\008\146 \004\131@\1683\244\000\002\018\001\000@\004\018\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 \003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\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\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\007\255_\193\001\026E\000\144j\021\199w\140\000\207P`\t\026\162\005\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\003\255\191\240\240\141\"\128@1\139\227\187\198\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\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?\250\254\008\008\210(\004\003\024\174;\188`\006z\131\000\008\213\016( \000\000\000\000\000\000\000\016\008\000\000\000\008\000\000\000\000\008\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\004i\020\002\001\140W\029\2220\003=A\128\004j\136\021\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000D\1936Y,\000@P\002\004\128\000\221\001\001A\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\001\000\128@\000\000\000@\000\000\000\000@\000\000\003\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\031\253\127\004\004i\020\002A\168W\029\2220\003=A\128$j\136\021\152\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\017\164P\008\0061\\wx\192\012\245\006\000\017\170 V`\000\000\000\000\000\000\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=j\188\000\008\146 \004\131@\1683\244\000\002\018\001\000@\004\018\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\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\016\000\016\000\001\024\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\002\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000 \000\128\000\008\000#\000\000\000\000\000\000\001\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\016\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\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\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\245\170\240\000 \000\128\000\008\000#\000\000\000\000\000\000\001\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\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\008\000\000\000\000\000\000\004\144\000$\026\133\001\189\160\000\016\144\008\002\000 \128A\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\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\001\214\171@\000\128\002\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\002\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\008\000\000\000\000\000\000\004\144\000$\026\133\001\189\160\000\016\144\008\002\000 \128A\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\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\015\254\191\130\0024\138\001 \212+\142\239\024\001\158\160\192\0185D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\008\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\031\253\127\004\004i\020\002A\168W\029\2220\003=A\128$j\136\020\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\002\000\002\000\000#\000\128\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\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\001\000\026A\000\128b\020Gv\132\000\207P`\001\024\162\005\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\008\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\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\016\000\000\000\000\000\000\000\000\000\004\000\007\255\127\225\001\026G\000\152j\023\199w\140\001\207R`\025\030\163\173f\000\000\000 \003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\128\141\"\128@1\139\227\187\194\000g\1680\000\143Q\198\130\000\000\000\000\000\000\000\001\000\128\000\000\000\000\000\000\000\000\128\000\000\000\015\254\191\130\0024\138\001\000\198/\142\239\008\001\158\160\192\002=G\026\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\001\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\255\235\248 #H\160\018\013B\248\238\240\128\025\234\012\001#\212q\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\128\141\"\128H5\011\227\187\194\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\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\015\254\191\130\0024\138\001\000\198/\142\239\008\001\158\160\192\0025E\n\008\000\000\000\000\000\000\000\004\002\000\128\000\000\000\000\000\000\002\000\000 \000?\250\254\008\008\210(\004\003\024\190;\188 \006z\131\000\008\213\020( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\004\001\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\015\254\191\130\0024\138\001 \212/\142\239\008\001\158\160\192\0185E\n\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\016\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\128\000\128\008\008\192\000\000\001\000\000\000\000\002\000\000\000\000\000\000\000\001\000\012\004\000\000\000\000\000\128\000\000\004\000\000\016\001\127\245\252\016\017\164P\008\0061\\wx@\012\245\006\000\017\170 P@\000\000\000\000\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@\000\000\002\000\000\008\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\001\026G\000\152j\021\199w\132\001\207P`\t\026\162%\006\255\235\248 #H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\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\127\245\252\016\017\164p\t\134\161\\wx@\028\245\006\000\145\170\"P`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\008\000\015\254\191\130\0024\138\001 \212/\142\239\008\001\158\160\192\0185E\n\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\016\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\002\001\000\128\000\000\000\128\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\001\255\215\240@F\145@$\026\133q\221\227\0003\212\024\002F\168\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\253\127\000\004I\020\002\001\128T\025\222\000\003\t\000\128\000\n\136\020\016\000\000\000\000\t \016H4\n\003;@\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=\250\254\000\008\146(\004\003\000\1683\188\000\006\018\001\000\000\021\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\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\000z\213x\000\016\000@\000\004\000\016\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\008\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\018@\000\144j\020\006\246\128\000B@ \008\000\130\001\004\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\016\000\001\024\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\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\016\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\001\000\004\000\000@\001\024\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\008\000\000\000\000\000\000\000\000\128\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\001$\000\t\006\161@oh\000\004$\002\000\128\008 \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\001\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\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\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:\213h\000\016\000@\000\000\000\016\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\008\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\018@\000\144j\020\006\246\128\000B@ \008\000\130\001\004\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\001\000\000\000\000\000\000\000\000\000\000@\000{\245\252\000\017$P\008\006\001Pgx\000\012$\002\000\000* P@\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\128\000\008\024 \201%\128\008\008\000\000\144\000\024\160  #\000\000\000\000\000\000\001\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\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\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\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\245\170\240\000\"H\128\018\013\002\160\207\208\000\008H\004\001\000\016H \128\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\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\004`\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\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\008\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\000\128\002\000\000 \000\140\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\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\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\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\128\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\001$\000\t\006\161@oh\000\004$\002\000\128\008 \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\029j\180\000\008\000 \000\000\000\008\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\004\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\t \000H5\n\003{@\000! \016\004\000A\000\130\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\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\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\016\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\002\000\002\000 #\000\000\000\004\000\000\000\000\008\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\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\004\000\000\000\000\000\000\002\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\008 \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\001\255\215\240@F\145@ \024\197q\221\225\0003\212\024\000F\168\129A\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002A\160P\025\218\000\001\t\000\128 \002\008\004\016\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\017\164P\t\006\161\\wx@\012\245\006\000\145\2340\208@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\001\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\000\004\000\016\000\001\000\004\000\004\000\000\001\000\000\000\024\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\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\005\255\215\240@F\145@ \024\197q\221\225\0003\212\024\000F\168\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\001\026E\000\128c\021\199w\132\000\207P`\001\026\162\005\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\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\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\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000\018@\000\144h\020\006v\128\000B@ \008\000\130\001\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\000I\000\002A\160P\025\218\000\001\t\000\128 \002\008\004\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\128\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\018@\000\144h\020\006v\128\000B@ \008\000\130\001\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\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\016\001\164\016\008\006!Dwh@\012\245\006\000\017\138 P@\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004\000\000\000@\006\144@ \024\133\017\221\161\0003\212\024\000F(\129A\000\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\026A\000\128b\020Gv\132\000\207P`\001\024\162\005\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\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\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\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\016\000\000\000\000\000\000\000\008\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\000\004\000\016\000\001\000\004\000\004\000\000\001\000\000\000\008\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\127\245\252\000\016\000@\000\004\000\016\000\016\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\001\255\215\240\000@\001\000\000\016\000@\000@\000\000\016\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\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\008\000\000\000\000\000\000\000\004\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\001$\000\t\006\129@gh\000\004$\002\000\128\008 \016@\000\000\000\000\000\004\000\000\000\000\000\000\000\002\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\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\245\170\240\128p\016\145$\008@ \000\002@\002\020\160\144\000#\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\016\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128(\008\008\130\000\002\000\000\001 \001\014\208H\000\017\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\002\000 \n\002\018 \128\000\128\000\000H\000C\180\018\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\000\000\000\000\002\000\000@\000\000\000\000\000\000\004\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\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\004\000\000\000\000\000\000\004@\000\000\000\000\000\000\004\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\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=j\188\000\028\004$A\002\016\008\000\000\144\000\133 $\000\008\192\000\007\173W\128\003\128\132\000 B\001\000\000\018\000\016\164\004\128\001\024\000\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 \n\002\0180\128\000\128\000\000H\000C\180\018\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\008\000\128(\008H\130\000\002\000\000\001 \001\014\208H\000\017\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\016\000\000\000\000\000\000\001\000\000\000\004\000@\020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\008\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\008\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\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\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=j\188\000\028\004$\001\002\016\008\000\000\144\000\133 $\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\245\170\240\000p\016\128\004\008@ \000\002@\002\020\128\144\000!\000\000\000\002\000 \n\002\018 \128\000\128\000\000H\000C\180\018\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\000\000\000\000\000\000\000@\128\000\001\000\016\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\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\016\001\000P\016\145\004\000\004\000\000\002@\002\029\160\144\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\008\000\128(\008H\130\000\002\000\000\001 \001\014\208H\000\017\128\000\000\001\000\016\005\001\t\016@\000@\000\000\164\000!\218\t\000\0028\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\002\000 \n\002\018 \128\000\128\000\000H\000C\180\018\000\004`\000\000\000@\004\001@BD\016\002\016\000\000)\000\008v\130@\000\142\000\000\000\008\000\128(\008H\130\000\002\000\000\001 \005\014\208H\000\017\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\128\000\000\128\008\002\128\132\136 \000 \000\000\018\000\016\237\004\128\001\024\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\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=j\188\000\008\000 \000\002\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\129\000\030\181^\000\004\000\016\000\001\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\128\000\001\000\016\005\001\t\016@\008`\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\008\002\128\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000@\004\001@BD\016\000\016\000\000\t\000\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\192\000\000\000\001\000\000\000\128\000\000\000\000\000\000\008\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\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\002\000 \n\002\018 \128\008\128\000\000H\000C\180\018\000\004`\000\000\000@\004\001@BD\016\000\016\000\000\t\000\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\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\001\000\016\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000 \002\000\184!\"\008\000(\000\000\020\128\004;A \000G\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\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@\004\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\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 \002\004\160!\"\008\000\008\000\000\004\128\004;A \000F\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\002\000\000\000\008\000\129(\008H\130\000\002\000\000\001 \001\014\208H\000\017\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\024\000\000\000\000 \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\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 \n\002\018 \128\000\128\000\000H\000C\180\018\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\001\000\016\005\001\t\016@\000`\000\000$\000!\218\t\000\0020\000\000\000 \002\000\161!\"\008\001(\000\000\020\128\004;A \000G\000\000\000\004\000@\020\004$A\000\001\000\000\000\144\002\135h$\000\008\192\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\001\000P\016\145\004\000\004\000\000\002@\002\029\160\144\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\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 \002\000\160!\"\008\000\012\000\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\002\000 \n\002\018 \128\000\128\000\000H\000C\180\018\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\008\000\000\004\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\008\000\000\004\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\008\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\128(\008H\130\000\002\000\000\001 \001\014\208H\000\017\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\025\000\000\000\000 \000\000\016\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\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\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\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\001\000\016\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\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\128\008\002\128\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\016\001\000\\\016\145\004\000\020\000\000\n@\002\029\160\144\000#\128\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\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\001\235u\226\000\224!\"\008\016\136@\000\004\128\004;A \000F\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\128\008\002\128\128\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\016\001\000\\\144\145\004\000\022\000\000\n@\002\029\160\144\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@\004\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\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\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\245\186\241\000p\016\145\004\008F \000\002@\002\029\160\144\000#\000\000\000\002\000 \n\002\018 \128\000\128\000\000H\000C\180\018\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\001\000\016\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\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\002\000 \n\002\018 \128\016\128\000\000H\000C\180\018\000\004`\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\128(\008H\130\000\002\000\000\001 \001\014\208H\000\017\128\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\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\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\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\015Z\175\008\007\001\t\018@\132\002\000\000$\000!J\t\000\0020\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\018@\000\144h\028\006v\128\000B@ \008\000\130\001\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\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\000\000\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\144h\020\006v\128\000B@ \008\000\130\001\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\127\247\254\016\017\164P\t\007\161\220wx@\012\245&\000\145\170 V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\031\253\255\132\004i\020\002A\232W\029\222\016\003=I\128$j\136\021\155\223\191\240\000\128\002\000\000 \000\128\000\000\000\000\001\000\000\000\000\000\000{\247\254\000\016\000@\000\004\000\016\000\000\000\000\000 \000\000\000\000\000\015~\255\192\002\000\008\000\000\128\002\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\145C\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\018(`\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\002E\012\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000H\161\128\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\255\235\248<#H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\159\253\127\004\004i\020\002\001\140W\029\222\016\003=A\128\004j\136\020\016\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164P\008\0061\\wx@\012\245\006\000\017\170 V`\000\000\000\000\000\000\000 \016\000\000\000\000\000\000\000\000\016\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\000\000\008\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\004i\020\002A\168W\029\222\016\003=A\128$j\136\021\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\000\001$\000\008\006q@gh\000\012$\002\002\160\008 \016@\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?\250\254\015\008\210(\004\003\024\174;\188 \006z\131\000\008\213\016('\255_\193\001\026E\000\128c\021\199w\132\000\207P`\001\026\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\031\253\127\004\004i\020\002\001\140W\029\222\016\003=A\128\004j\136\021\152\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\017\164P\008\0061\\wx@\012\245\006\000\017\170 PO\254\191\130\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\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\247\239\252\000 \000\128\000\008\000 \000\000\000\000\008@\000\000\000\000\000\000H\161\128\000\000\000\000\000\128\000\008\192\000\000\001\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\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\245\170\240\000 \000\128\000\008\000#\000\000\000\000\000\000\001\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\002 \000z\213x\000\016\000@\000\004\000\017\128\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\004@\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\128\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\000D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000=j\188\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164P\t\006\161\\wx@\012\245\006\000\145\170 \208@\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\001\000\128@\000\000\000\000\000\000\000\000@\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 #H\160\018\013B\184\238\240\128\025\234\012\001#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\000\016\000\016\000\001\024\000\000\000!\000\000\000\000\0001\000\000\000\000\000\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\000\000\000\000\000\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\000I\000\002A\160p\025\218\000\001\t\000\128 \002\008\004\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\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\000\000\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\144h\020\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\132\004i\020\002A\232w\029\222\016\003=I\128$j\136\021\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\255\127\225\001\026E\000\144z\021\199w\132\000\207R`\t\026\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\132\004i\020\002\001\140W\029\222\016\003=I\128\004j\136\021\152\000\000\000\000\000\000\000\008\004\000\000\000\000\000\000\000\000\004\000\000\0001\127\247\254\016\017\164P\008\0061\\wx@\012\245&\000\017\170 V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248@F\145@$\026\133q\221\225\0003\212\152\002F\168\129Y\191\251\255\008\008\210(\004\003\024\174;\188 \006z\147\000\008\213\016+0\000\000\000\000\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\002\001\000\000\000\000\000\000\000\000\001\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\003\255\191\240\128\141\"\128H5\n\227\187\194\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\015\254\255\194\0024\138\001 \212+\142\239\008\001\158\164\192\0185D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\251\255\008\008\210(\004\131P\174;\188 \006z\147\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\000\004\000\004\000\000F\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?\251\255\008\008\210(\004\131P\174;\188 \006z\147\000H\213\016+0\000\000\000\000\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\002\001\000\000\000\000\000\000\000\000\001\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\003\255\191\240\128\141\"\128H5\n\227\187\194\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$P\192\000\000\000@\000@\000\004`\000\000\000\132\000\000\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000 H\158\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\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\000\000\016\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\008\000\000@\128\000\000\000\000\000\000\002\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\001\002\000\000\000\000\000\000\000\008\000\000\000\008\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\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\016\000\000\000\000\000\000\000\000\000\000\000\002\000@\000\000\000\000\000\004\000\000 @\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\016\192\008\000\008\005\000\000\000\000\000\000\016\000\000\129\000\000\000\000\000\000\000\004\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\016\000\000\000\004\000\000\000\000\000\000\000\001\012\000\128\000\000P\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\004\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\128\000\000\128\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\016\000\000\000\000\000\000\000\000\000\000\000\001\028\000\192\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\008\000\000\000\000\000\000\000\000\000\000\000\000\134\000`\000\000 \000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\016\192\008\000\000\004\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\000C\000 \002\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\0040\002\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\002\024\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\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\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\002\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\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\001\000\000\000\000\000\000\000\000\000\000\000\000\017\192\012\000\000\004\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\002\024\001\128\000\000\128\000\000\000\004\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\008`\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\012\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\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\001\000\000\000\000\000\000\000\000\000\000\000\000\016\192\012\000\000\004\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\002\024\001\000\000\000\128\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\008`\000\000\000\002\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\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\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\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\000\000\000\000\000\004\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\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\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\004\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\004\000\000\000\000\000\000\128\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\001\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\128\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\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")
+    (188, "\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\003\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\0000\000\000\000\000\000\000\000\000\000\000\000\128\016`\000\000 C\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\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\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\192\000\000\000\000\000\000\000\007\175j\240\000\016\000 \000\002\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\016\133\012\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\tP\208\002\128\131T\016\018\025\129\024\003@\"\029\224H\000\016\230C\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\017\173\028\000\000\0001\000\001\000\024\017\128\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\000\016\t\001\024\001\000 \b@\000\000\000&C\016\016\133\012\000\000\000\017\000\001\000\144\017\128\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\000\016\t\001\024\001\000 \b@\000\000\000&C\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\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\000\016\t\001\024\001\000 \b@\000\000\000&C\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\000\016\001\129\024\001\000 \b@\000\000\000&C\016\016\133\012\000\000\000\017\000\001\000\144\017\128\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\016\165\012\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\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\133\012\000\000\000\017\000\001\000\144\017\128\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\002\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\016\165\012\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\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\133\012\000\000\000\017\000\001\000\144\017\128\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\016\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\b\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\001\000\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\004\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\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\016\000\000\000\000 \000\002\004\000\000\000\000\000\000\000\000\000\000\000\000\0001\016\000\b\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\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\b\000\001\000\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\002\004\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\b\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\b\000\001\000\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\004\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\b\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\016\133\012\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\b\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\004\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\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\133\012\000\000\000\017\000\001\000\144\017\128\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\000\016\t\001\024\001\000 \b@\000\000\000&C\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\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\128\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\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\007\175j\240\004\016\000 \000\002\b\b\000@\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\007\175j\240\000\016\000 \000\002\000\b\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\016\000\000\000\b\000\000\000\000\000\000\007\175j\240\000\016\000 \000\002\b\b\000@\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\007\175j\240\000\016\000 \000\002\b\b\000@\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\001\000\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\002\000\000\"\000\000\000\000\000\000\001$\000\004\131@\1603\153\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\001$\000\004\131@\1603\153\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\001$\000\004\131@\1603\153\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b'\175j\240\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\n\1319\144\000\bH\004\000\128\004\016\b \000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\001$\000\004\131@\1603\153\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\000\000\001$\000\004\131@\1603\153\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\002@\000\003\019\004\217d\176\000\000P\002\004\000\000n\128B|w\000\000\000\000\000\000\000\000\000\000\000\000\016\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\000z\246\175\000\001\018B\000H4\138\131;\144\000\bH\004\000\128\004\018\b'\175j\240\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\00010M\150K\000\000\005\000 @\000\006\232\004'\199p\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\005\000 \000\000\006\200\000'\135p\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\005\000 \000\000\006\200\000'\135p\000\000\000\000\001$\000\004\131@\1603\153\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\0001\016M\132K\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\001$\000\004\131@\1603\153\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@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\192\004\016\b \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\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\001$\000\004\131@\1603\153\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\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\016\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\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\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\001$\000\004\131@\1603\153\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\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\001\000\000\000\000\000\000\000\000\000\000\004\000\007\175j\240\000\016\000 \000\002\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\003\175j\208\000\016\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\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\018\129\000\000\000\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\000\144\017\128\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\016\165\012\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\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\133\012\000\000\000\017\000\001\000\144\017\128\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\002\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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(\016\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\000\016\t\001\024\001\000 \b@\000\000\000&C\016\016\133\012\000\000\000\017\000\001\000\144\017\128\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\000\016\t\001\024\001\000 \b@\000\000\000&C\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\128\000\000\000\000\000\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\000\016\t\001\024\001\000 \b@\000\000\000&C\016\016\133\012\000\000\000\017\000\001\000\144\017\128\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\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\000\016\t\001\024\001\000 \b@\000\000\000&C\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\001\000\000\016\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\001\000\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\016\133\012\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\b\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\004\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\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\133\012\000\000\000\017\000\001\000\144\017\128\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\002\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\016\133\012\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\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\004\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\128\004\000\000\000\b\000\000\000\000\000@\007\175j\240\000\016\000 \000\002\b\b\000@\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\001\000\000\001\000\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\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\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\000\002\000\007\175j\240\000\016\000 \000\002\b\b\192\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\000\000\000\000\000\000\000\"\000\007\175j\240\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\000\000\000 \000z\246\175\000\001\000\002\000\000 \128\140\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\002 \000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\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\016\000\000\016\000\000\000\b\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\016\000\000\000\b\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\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\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\007\175j\240\000\016\000 \000\002\b\b\192\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\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\007\175j\240\000\016\000 \000\002\b\b\192\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\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\004\000\001\bP\192\000\000\001\016\000\016\t\001\024\001\000 \b@\000\000\000&C\016\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\000\017\t\001\024\001\000 \b@\000\000\000&C\023\175j\240\000\016\000 \000\002\b\b\000@\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\016\000\000\000\b\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\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\000z\246\175\000\001\018B\000H4\n\1319\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\000\004\016\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\001$\000\004\131@\1603\153\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\001$\000\004\131@\1603\153\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\001$\000\004\131@\1603\153\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\0000 E\146J\000\000\004\000\000@\000\006\168\004#\004`\000\000\000\000\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\007\175j\240\000\017$ \004\131H\1683\185\000\000\132\128@\b\000A \130z\246\175\000\001\018B\000H4\138\131;\144\000\bH\004\000\128\004\016\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\007\175j\240\000\017$ \004\131H\1683\185\000\000\132\128@\000\000A \130z\246\175\000\001\018B\000H4\138\131;\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000h\128\0020F\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\000\000\000\000\000\000\000\000\000\000\000\000\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\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\192\004\016\b \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\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\000\004X\004\160\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\"\000\007\175j\240\000\017$ \004\131H\1683\185\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\007\175j\240\000\017$ \004\131H\1683\185\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\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \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\016\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\004\000\000\000\000\000\000\000\000\000\000\128\000\001\000\000\000\000\000\004\001$\000\004\131@\1603\153\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\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\004\131@\1603\153\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\128\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\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\000\000\000\000\000\000\001$\000\004\131@\1603\153\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\007\175j\240\000\017$ \004\131@\1683\153\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\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\007\175j\240\000\017$ \004\131@\1683\153\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\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\007\175j\240\000\017$ \004\131@\1683\153\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\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\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\016\000\002\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\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\001\bP\192\000\000\001\016\000\017\t\001\024\001\000 \b@\000\000\000&C\023\175j\240\000\016\000 \000\002\b\b\000@\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\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\016\133\012\000\000\000\017\000\001\000\144\017\128\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\001\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\023\175j\240\000\016\000 \000\002\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\007\175j\240\000\016\000 \000\002\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\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\016\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\007\255\235\248 Q\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130z\246\175\000\001\000\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\136\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\001(\016\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000!\136\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\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\136\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\0000\001\000(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000(\b$A\000!\136\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\016\001\000(\b$A\000!\136\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\002\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\016\001\000(\b$A\000!\136\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\016\001\000(\b$A\000!\136\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\016\001\000(\b$A\000!\136\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\016\001\000(\b$A\000!\136\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\0000\001\000(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000(\b$A\000!\136\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\016\001\000(\b$A\000!\136\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\016\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\b\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\004\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\b\000\001\000\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\016\001\000(\b$A\000!\136\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\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\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\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\016\001\000(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\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\004\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\001\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\128\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\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\001\000\000\016\000\000\000\b\000\000\000\000\000\000\007\175j\240\000\016\000 \000\002\b\b\000@\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\016\001\000(\b$A\000!\136\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\016\001\000(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\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\004\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\175j\208\000\016\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\136\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\0000\001\000(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000(\b$A\000!\136\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\016\001\000(\b$A\000!\136\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\002\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\016\001\000(\b$A\000!\136\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\016\001\000(\b$A\000!\136\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\016\001\000(\b$A\000!\136\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\016\001\000(\b$A\000!\136\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\001(\016\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000!\136\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\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000!\136\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\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\001\000\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\016\001\000(\b$A\000!\136\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\016\001\000(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\b\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\004\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000(\b$A\000!\136\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\016\001\000(\b$A\000!\136\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\016\001\000(\b$A\000!\136\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\002\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\016\001\000(\b$A\000!\136\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\016\001\000(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\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\004\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128\128\004\000\000\000\b\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\004\000\000\001\000\016\002\128\130D\016\002\024\128\000\002@\002\029\160H\000\016\192\000\000\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\128\000\002@\002\029\160H\000\016\192\000\007\175j\240\000\016\000 \000\002\b\b\000@\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\016\001\000(\b$A\000!\136\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\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\002\000\000\000\000\000 A\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\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\002\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\127\254\191\128\001\000\002\000\000 \000\128\000`\000\000\b\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\000z\246\175\000\001\000\002\000\000 \000\128\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \000\000\000\000\001$\000\004\0038\1603\153\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\n\1319\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\007\175j\240\000\017$ \004\131@\1683\153\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\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\002\000\000\000\000\000\000\001$\000\004\003\000\1603\153\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\001$\000\004\131@\1603\153\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\001$\000\004\131@\1603\153\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\001$\000\004\003\000\1603\153\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\0000 A\146J\000\000\004\000\000@\000\004(\004 @`\000\000\000\000\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\007\175j\240\000\017$ \004\131H\1683\185\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\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \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\016\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\001$\000\004\131@\1603\153\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\128\000\000\128\000\000\000\000\000\001$\000\004\131@\1603\153\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\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\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\018@\000@3\138\0039\144\000\024H\004\002\160\004\016\b \000\000\002@\000\003\019\004\217d\176\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 @\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\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\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\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\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\002@\000\003\003\004\025$\176\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\000\000\000\000\000\000\000\000\018@\000@3\n\0039\144\000\024H\004\002 \004\016\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\001$\000\004\0030\1603\153\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000 \000\0000\000A\128J\000\000\004\000\000\000\000\004\b\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\0039\144\000\024H\004\002\160\004\016H \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\0038\1603\153\000\001\132\128@\"\000A\004\130\000\000\000\000\000\018@\000@3\138\0039\144\000\024H\004\002\160\004\016\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\001$\000\004\0038\1603\153\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\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\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\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\016\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\001\000\000\017\128\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\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\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\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\016\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\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \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\001 \000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\016\000\018\000\000\000\000\000\000\000\000\002\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\000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\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\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\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\001$\000\004\131P\1607\153\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\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:\246\173\000\001\000\002\000\000\000\000\128\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000\000\000\000\001$\000\004\131P\1607\153\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\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\016\000\000\000\b\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\002\000\000\000\000\000\000\000\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \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\000\000\000\000\000\000\000\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\007\255\235\248 Q\164(\004\131P\174;\159\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\n\1319\144\000\bH\004\000\128\004\016\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\018@\016H4\n\0039\144\000\bH\004\000\128\004\016\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\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\127\254\191\131\197\026B\128@1\138\227\185\240\128\025\234\012\000\017\165\016( \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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \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\016\000\000\000\004\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\007\255\235\248 Q\164(\004\003\016\174;\159\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128H5\011\227\185\240\128\025\234\012\000\145\165\020('\175j\240\000\017$ \004\131@\1683\153\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\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\002\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\018@\000@0\n\0039\144\000\024H\004\000\000\004\016\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\001$\000\004\131@\1603\153\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\001$\000\004\131@\1603\153\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\001$\000\004\003\000\1603\153\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\00010M\150K\000\000\005\000 @\000\006\168\004\005\007p\000\000\000\000\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\007\175j\240\000\017$ \004\131H\1683\185\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\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \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\016\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\0001\016M\132K\000\000\005\000 \000\000\006\136\000\005\007p\000\000\000\000\001$\000\004\131@\1603\153\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\001$\000\004\131@\1603\153\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\192\004\016\b \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\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\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\007\255\235\248<Q\164(\004\003\024\174;\159\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\007\255\239\252<Q\164(\004\003\024\190;\159\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\007\255\235\248 Q\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128H5\011\227\185\240\128\025\234\012\000\145\165\020('\255\235\248 Q\164(\004\131P\174;\159\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001$\000\004\131@\1603\153\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\002\000\000\000\000\000 A\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\002\004\026@\128@1\n#\185\144\128\025\234\012\000\017\133\016( \000\000\000\000\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\001\004\131@\1603\153\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\001$\001\004\131@\1603\153\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\001$\000\004\131@\1603\153\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\002\000\000\000\000\000 A\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\002\004\026@\128@1\n#\185\144\128\025\234\012\000\017\133\016( \000\000\000\000\000\000\000\000\000\b\000\001\000\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\b\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\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\b\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\b\000\001\000\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\b\000\001\000\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\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\b\000\000\128\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\000\000\000\000\000\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\017$ \004\131H\1683\185\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\002\000\000\000\000\000 A\164\b\004\003\016\162;\153\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\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\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\127\254\191\130\005\026B\128H5\n\227\185\241\128\025\234\012\000\145\165\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\007\255\239\252<Q\164(\004\003\024\190;\159\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\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\007\255\235\248 Q\164(\004\003\024\174;\159\024\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\b\004\000\000\000\001\000\000\000\000\000\128\000\000\003\016\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\138\227\185\241\128\025\234\012\000\017\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\019\004\217d\176\001\000P\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\001\000\128@\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\127\254\191\130\005\026B\128H5\n\227\185\241\128\025\234\012\000\145\165\016+0\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\138\227\185\241\128\025\234\012\000\017\165\016+0\000\000\000\000\000\000\000\000\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\007\175j\240\000\017$ \004\131H\1683\185\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\002\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\001\000\001\000\000\017\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\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\016\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016\000 \000\002\b\b\192\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\002\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\004\131P\1607\153\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016\000 \000\002\b\b\192\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\002\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\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \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\000\000\000\000\000\000\000\000\000\000\000\003\175j\208\000\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\b\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\002\000\000\000\000\000\000\000\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\255\235\248 Q\164(\004\131P\174;\159\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\016\b\004\000\000\000\001\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\127\254\191\130\005\026B\128H5\n\227\185\241\128\025\234\012\000\145\165\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\016\000\016\000\001\024\001\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\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\002\004\026@\128@1\n#\185\144\128\025\234\012\000\017\133\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\001\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\001\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\127\254\255\194\005\026C\128L5\011\227\185\241\1289\234L\001\145\229\029k0\000\000\000 A\164\b\004\003\016\162;\153\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\007\255\235\248 Q\164(\004\003\024\190;\159\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\128\000\000\000\007\255\235\248 Q\164(\004\003\024\190;\159\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\001\000\128@\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\007\255\235\248 Q\164(\004\131P\190;\159\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\007\255\235\248 Q\164(\004\131P\190;\159\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\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\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\001\000\000\000\000\000\000\000\000\000\000\004\000\007\255\235\248 Q\164(\004\003\024\190;\159\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\128\000\004\000\007\255\235\248 Q\164(\004\003\024\190;\159\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\001\000\128@\016\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\007\255\235\248 Q\164(\004\131P\190;\159\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\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\016\000\016\001\001\024\000\000\000\b\000\000\000\000\004\000\000\000\000\000\000\000\000\016\000\192@\000\000\000\000\002\000\000\000\b\000\000\016\001\127\254\191\130\005\026B\128@1\138\227\185\240\128\025\234\012\000\017\165\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\001\016\012\004\000\000\000\000\000 \000\000\000\128\000\001\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\127\254\191\130\005\026C\128L5\n\227\185\240\1289\234\012\000\145\165\017(7\255\235\248 Q\164(\004\003\024\174;\159\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\127\254\191\130\005\026C\128L5\n\227\185\240\1289\234\012\000\145\165\017(0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\001\000\000\000\000\000\000\000\000\000\000\004\000\007\255\235\248 Q\164(\004\131P\190;\159\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\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\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\016\b\004\000\000\000\001\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\127\254\191\130\005\026B\128H5\n\227\185\241\128\025\234\012\000\145\165\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{\254\191\128\001\018B\128@0\n\1319\240\000\024H\004\000\000%\016( \000\000\000\000\001$\001\004\131@\1603\153\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\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\007\191\235\248\000\017$(\004\003\000\1683\159\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\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\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016\000 \000\002\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\b\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\004\131P\1607\153\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\016\000\001\024\000\000\000\b\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\016\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\007\175j\240\000\016\000 \000\002\b\b\192\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\002\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\004\131P\1607\153\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\016\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\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \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\003\175j\208\000\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\b\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\004\131P\1607\153\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\001\000\000\000\000\000\000\000\000\000\000\004\000\007\191\235\248\000\017$(\004\003\000\1683\159\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\002@\000\003\003\004\025$\176\001\000@\000\004\128\000b\128@@F\000\000\000\000\000\000\000\016\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\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \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\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138\131;\144\000\bH\004\000\128\004\018\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\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\016\000\001\024\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\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\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\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\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\016\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\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\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:\246\173\000\001\000\002\000\000\000\000\128\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\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\016\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\018@\000H5\n\003y\144\000\bH\004\000\128\004\016\b \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\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\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\001\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\001\000\001\000\016\017\128\000\000\000\128\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\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\016\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\007\255\235\248 Q\164(\004\003\024\174;\159\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\001$\000\004\131@\1603\153\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\007\255\235\248 Q\164(\004\131P\174;\159\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\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\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\007\255\235\248\000\016\000 \000\002\000\b\000\006\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\001\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\023\255\235\248 Q\164(\004\003\024\174;\159\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\007\255\235\248 Q\164(\004\003\024\174;\159\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\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\016\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\001$\000\004\131@\1603\153\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\001$\000\004\131@\1603\153\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\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\016\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\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\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 A\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000 A\164\b\004\003\016\162;\153\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 A\164\b\004\003\016\162;\153\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\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\016\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248\000\016\000 \000\002\000\b\000\006\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 \000\000\000\000\000\000\000\023\255\235\248\000\016\000 \000\002\000\b\000\006\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\007\255\235\248\000\016\000 \000\002\000\b\000\006\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\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\016\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\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\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\000z\246\175\b\003\128\130D\144!\000\128\000\002@\002\020\161H\000\024\192\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\001\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000(\b\004A\000\001\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\b\000\000\000\000\000\000\000 \000\000\000\016\001\000(\b$A\000\001\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\002\000\000\000\000\000\000\000\002\002\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\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\128\000\000\000\000\000\000\"\000\000\000\000\000\000\000\002\002\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\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\000z\246\175\000\003\128\130D\016!\000\128\000\002@\002\020\129H\000\024\192\000\007\175j\240\0008\b \001\002\016\b\000\000$\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\016\001\000(\b$a\000\001\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\016\001\000(\b$A\000\001\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\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\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\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\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\000z\246\175\000\003\128\130@\016!\000\128\000\002@\002\020\129H\000\024@\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\128\000\002@\002\020\129H\000\024@\000\000\000\016\001\000(\b$A\000\001\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\004\000\000\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\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\016\001\000(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\n@\002\029\160H\000\016\224\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\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\016\001\000(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\n@\002\029\160H\000\016\224\000\000\000\016\001\000(\b$A\000\001\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\128\000\000\016\001\000(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\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\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\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\000z\246\175\000\001\000\002\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 @\007\175j\240\000\016\000 \000\002\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\004\000\000\001\000\016\002\128\130D\016\000\024\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\016\001\000(\b$A\000\001\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\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000(\b$A\000\017\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\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\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\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000.\b$A\000\005\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\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\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\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\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\016\001\002(\b$A\000\001\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\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\b\000\000\000\000\000\000\000 \000\000\000\016\001\002(\b$A\000\001\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\006\000\000\000\000\004\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\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\016\001\000(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\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\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\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\160\016\129\000(\b$A\000\001\128\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\002@\002\029\160H\000\016\192\000\000\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\002@\002\029\160H\000\016\192\000\000\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\n@\002\029\160H\000\016\224\000\000\000\016\001\000(\b$A\000\001\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\128\000\000\016\001\000(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\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\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\001\000\016\002\128\130D\016\000\024\000\000\002@\002\029\160H\000\016\192\000\000\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\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002@\002\029\160H\000\016\192\000\000\000\000\000\000\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\b\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\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\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\001\000\000\000\000\000\b\b\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\002\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\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\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\002@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\001\000(\b$A\000\001\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\006@\000\000\000\004\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\b\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\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\016\001\000(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\224\130D\016\000P\000\000\n@\002\029\160H\000\016\224\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\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\016\001\000(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\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\000z\247\175\016\003\128\130D\016!\016\128\000\002@\002\029\160H\000\016\192\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\002@\002\029\160H\000\016\192\000\000\000\016\001\000.H$A\000%\128\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\002\016\000\000\002@\002\029\160H\000\016\192\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\016\001\000(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\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\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\004\000\000\000\000\000\000\007\175z\241\0008\b$A\002\017\136\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\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\016\001\000(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\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\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\001\000\016\002\128\130D\016\000\016\000\000\002@\002\029\160H\000\016\192\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\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\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\007\175j\240\1288\b$I\002\016\b\000\000$\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\018@\000H4\014\0039\144\000\bH\004\000\128\004\016\b \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\003\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\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\127\254\255\194\005\026B\128H=\014\227\185\240\128\025\234L\000\145\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\127\254\255\194\005\026B\128H=\n\227\185\240\128\025\234L\000\145\165\016+7\191\239\252\000\016\000 \000\002\000\b\000\000\000\000\000\004\000\000\000\000\000\000{\254\255\192\001\000\002\000\000 \000\128\000\000\000\000\000@\000\000\000\000\000\007\191\239\252\000\016\000 \000\002\000\b\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\016\133\012\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@\000\000\000\000\000\000\016\133\012\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@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\255\235\248<Q\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128@1\138\227\185\240\128\025\234\012\000\017\165\016( \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\138\227\185\240\128\025\234\012\000\017\165\016+0\000\000\000\000\000\000\000\000\128@\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\016\b\004\000\000\000\000\000\000\000\000\000\128\000\000\003\016\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\n\227\185\240\128\025\234\012\000\145\165\016+0\000\000\000\000\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\0039\144\000\024H\004\002\160\004\016H \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\007\255\235\248<Q\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128@1\138\227\185\240\128\025\234\012\000\017\165\016( \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\138\227\185\240\128\025\234\012\000\017\165\016+0\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\138\227\185\240\128\025\234\012\000\017\165\016('\255\235\248 Q\164(\004\003\024\174;\159\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\007\191\239\252\000\016\000 \000\002\000\b\000\000\000\000\000\132\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\016\000\001\024\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\017\128\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\007\175j\240\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\b\000\000 \000z\246\175\000\001\000\002\000\000 \128\140\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\007\175j\240\000\016\000 \000\002\b\b\192\000\000\000\000\000\000\000\000\000 \000z\246\175\000\001\000\002\000\000 \128\140\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\002 \000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\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\001\000\000\001\000\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\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\002 \000z\246\175\000\001\000\002\000\000 \128\140\000\000\000\000\000\000\000\128\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\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\n\227\185\240\128\025\234\012\000\145\165\016h \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\001\000\128@\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\007\255\235\248 Q\164(\004\131P\174;\159\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\016\133\012\000\000\000\001\000\001\000\000\017\128\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\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\018@\000H4\014\0039\144\000\bH\004\000\128\004\016\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\003\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\018@\000H4\n\0039\144\000\bH\004\000\128\004\016\b \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=\014\227\185\240\128\025\234L\000\145\165\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\127\254\255\194\005\026B\128H=\n\227\185\240\128\025\234L\000\145\165\016+0\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\138\227\185\240\128\025\234L\000\017\165\016+0\000\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\127\254\255\194\005\026B\128@1\138\227\185\240\128\025\234L\000\017\165\016+0\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\n\227\185\240\128\025\234L\000\145\165\016+7\255\239\252 Q\164(\004\003\024\174;\159\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\001\000\128@\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\007\255\239\252 Q\164(\004\131P\174;\159\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\007\255\239\252 Q\164(\004\131P\174;\159\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\007\255\239\252 Q\164(\004\131P\174;\159\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\016\133\012\000\000\000\001\000\001\000\000\017\128\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\007\255\239\252 Q\164(\004\131P\174;\159\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\001\000\128@\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\007\255\239\252 Q\164(\004\131P\174;\159\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\016\133\012\000\000\000\001\000\001\000\000\017\128\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\016\000\004\000\000\000\000\000\000\000\000\004\t\018\224\006\000\000\001\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\b\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 \000\001\002\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\001\002\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\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\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\016\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\016\000\000\000\b\000\000\000\000\001\000\000\000\000\016\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\016\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\001\000\000\000\000\016\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\002\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\016\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\016\000\000\000\000\000\000\000\000\000\000\000\000\016\224\006\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\001\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\016`\004\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\016`\004\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\016`\004\000\000\001\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\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\016\224\006\000\000\001\000\000\000\000\001\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\016`\004\000\000\001\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\016`\000\000\000\001\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\016`\006\000\000\001\000\000\000\000\001\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\016`\004\000\000\001\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\001\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\001\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\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\002\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\016\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\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\002\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\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\128\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\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\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\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\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\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\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, "\000F\000\197\000\000\000\000\000\234\000\197\000\000\000\000\000?\000\000\000\000\000\000\001-\000\000\000\000\000\000\000F\000\000\000\244\024\018\000\000\018\200\018\200\000\000\000\000,\224\018\200\000\0002\014\018\200\000\000\000\000\018\200\000\000\018\200\000\000\000\227\000\006\018\200\000\000\018\200\000\000\000\000\000\000-\146\018\200\000\000?D\018\200\000\000\000\000\018\200\000\000\018\200\000\000\000\002\000X\018\200\000\000\018\200\000\000\018\200\000\000?\142\018\200\000\000\000\000\018\200\000\000\018\200\000\000\000O\000\000\000\000\018\200\000\000\018\200\000\000\000\000\018\200\000\000\018\200\000\000\0008\000\156\018\200\000\000\024\0182\014/\208\000\000\026\132\001\130/\208\000O/\208\000\000\001.\018\200\000\000L\012\000\000\000O\004*0\004\000\000\000\000<\\\000\000@B\000\000@\2060\0040\004\020,\020,@B\020,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000<\2320\004\000\000\000\000<\232\000\000<\232\000\0000\004\000\000\000\000\000\000\023b\000O\000\000\020,\000\000-\2300\004\028:0\004\000\000\000\000\000\000\000\000\000\000\000\000 V0\004!`0\004!\1860\004\"\1880\004\000\0000\004\000\0000\004#\0220\004$\0240\004$r0\004%t0\004%\2060\004\001\1600\004\000\000\000\000\000\000\000\000\000\0000\004&\2080\004'*0\004(,0\004\000\000\000\0000\004\000\000\000\000\002\020\000\000\000\000\000\000\000\0004\130\018\200\000\000\003\128\018\200\000\000A\148\018\200\000\000\000\000\018\200\000\000\018\200\000\000\002\168\002\226\018\200\000\000\018\200\000\000\003\246\018\200\000\000A\160\018\200\000\000\000\000\018\200\000\000\018\200\000\000\003B\003\202\018\200\000\000\018\200\000\000\018\200\000\000A\188\018\200\000\000\000\000\018\200\000\000\018\200\000\000\000O\018\200\000\000\018\200\000\000\018\200\000\000\018\200\000\000\003\166\003\250\018\200\000\000?D/\208\003\226\018\200\000\000LdL6\000\000\000'\004\160\000O\004\002\004\234Ld\000\000\000\000\000\239\031,\000\000\000\000\000\000\000\000\004\132\004\218\000\015\005\026Ld\000xLd\000\000\000\000\004x\000\000\004\134\005\186Ld\005\014\000\000\000\000\000\000\000\239\000\000\005\028\006\002\000\000\006\004\000\0004\130\000E/\208\0056\018\200\000\000?\142/\208\005@\018\200\000\000\000\000\000O\006(\000\000\000\000\000\000\000\184\020,\000\0000\004\005R\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\005Z\000\000\000\000\005z\000\000\005\132@B\000\000\000\000\000\000\000\000\000\000\000\000B\1460\004\000\000B\146\000\000B\146@B\000\000\000\000B\224\000O\000\000\020,\005\192\000\0000\004\005\210\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\0000\004\000\0000\004\000\000\000\000\005\214\000\000\000A=\146\006\1480\004\006^\000\000\000\000@B\000A\000\000\000\000\000\000\000\000\000\000L\244@BM\194@BN\028@BNz@B\000\000@B\000\000@BN\212@BO2@BO\140@BO\234@BPD0\004\006\016@B\000\000@BP\162@BP\252@BQZ\005\236\000\000\005\238\000\000\002\0000\004\000\000\002\000\000\000\000\000\001\182\024\018\000\000\001\182\000\000\000\000\006\0040\004\000\000\006\008\000\000\020,\006\018\000\000\000\000\006\230\000\000\020,\006$\000\000\000\000\006&\000\000\000\000\004*\000\000\007\020\000\000A\160/\208\006:\018\200\000\000\000\000\006\188\000\000\006B\018\200\000\000\000\000\000\250\024\018\000\000\024\018\000\000\006<\000\000\000\250\000\000\016\174\027\134\018\196\000\000\007\238\018\196\000\000\018\196\018\196\000\000\000\000\018\196\000\000\018\196\000\000\006\154\006\208\018\196\000\000\018\196\000\000\008p\018\196\000\000\018\200\018\196\000\000\000\000\018\196\000\000\018\196\000\000\006\168\006\212\018\196\000\000\018\196\000\000\018\196\000\000,\024\018\196\000\000\000\000\018\196\000\000\018\196\000\000\000O\018\196\000\000\018\196\000\000\018\196\000\000\018\196\000\000\006\172\006\216\018\196\000\000\024\018\006\142\000\000\018\228/\208\006\136\018\196\000\000\000\000\000&\000\000\000\174\000&\000\000\000\000\000\000\007t\000\000\001\250/\208\006\158\018\196\000\0001\236/\208\006\164\018\196\000\000\000\0005\222\018\196\000\000\008\210\018\196\000\0001\236\018\196\000\000\000\000\018\196\000\000\018\196\000\000\006\212\007\008\018\196\000\000\018\196\000\000\t\016\018\196\000\0002b\018\196\000\000\000\000\018\196\000\000\018\196\000\000\006\226\007\016\018\196\000\000\018\196\000\000\018\196\000\0002v\018\196\000\000\000\000\018\196\000\000\018\196\000\000\000O\018\196\000\000\018\196\000\000\018\196\000\000\018\196\000\000\006\232\007\020\018\196\000\0002b/\208\006\196\018\196\000\000\000\000\002f/\208\006\202\018\196\000\0002v/\208\006\204\018\196\000\000\000\000\000\000\000\000\000\000\000\000\007\1460\004\006\222\021\162\007\1600\004\006\230\007\160/\208\000\000\000\000/\208\000O\000\000\002N0\004(x\000\000C`0\004\006\244\000\000\020,\006\244\000\000\006\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\n0\004\000\000D\n\000\000D\nD\150\020,\006\252D\150\000\000\000\000\020z\000O\000\000\020,\007\000\000\0000\004\007\004\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\004\000\1480\004\007 \000\000\000\000)L(x\025\212\0312\007\2180\004\000\000\007\180\000\000\000\000\000O\000\000>$\007l(x\000\000\007l(x\000\000\000\162\000\000\000\000,\168D\150-ZD\150C$D\150D\004D\150\000\000D\150\000\000D\150Q\180D\150Q\242D\150R\020D\150RzD\150R\166D\150R\202D\150S\008D\150Sv\000\000\007N)\246\000\000*\160*\160\007P*\160+J*\160\000\000\007X*\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007N\000\000\000\000\007P\000\000\0086\000\000\000O\000\000\002N\008<\000\000\000%\008\014\000O\007d\008&Ld\007j\000v\000\0000\004\008R\000\000\005\156\006\184\0084Ld\007x\008X\000\000\004\2480\004\008Z\000\000\008\\\000\0004\130\000O\005n0\004\008^\000\000\008`\000\000\000O\005\1340\004\008d\000\000\008l\000\000\000\179\007\184\006\242\000\000E\"E\174\020,\007\146\000\000\007\148E\174\000\000\000\000\000\000\000\000\000\000\000\000F:0\004\000\000F:\000\000F:E\174\000\000\000\000\026\214\000O\000\000\020,\007\164\000\0000\004\007\162\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000.\2320\004\000\0000\004\000\000\007\170\000\000\002\000\000\000\000\000\000\000\000\000\000\0003VE\1743\176E\1744\178E\1745\012E\174\000\000E\174\000\000E\1746\014E\1746hE\1747jE\1747\196E\1748\1980\004\007\212E\174\000\000E\1749 E\174:\"E\174:|\020,\007\184\000\000\000\0000\004\000\000\008\152\000\000\001b\008n0\004\008>\000\000\008\1360\004\008T\000\000\000\031\000\000\006\242\006\242\001b\000\000\001b\000\000\016\174\006\242\006\242\000\000\000\000\000\000\000\000\000\000\000\000\008\1600\004\007\228\021\162\022r\000O\008\196\000\000\008\166;D\008\202;D\008\2060\004\007\250\021\162\021\162\000\238\002\168\000'\000\000\000\000\000\000\002\168\000\000\003\204\000\238\000\000\000\000\008\004\000\000\000\000\000\000\008\230\000\000\008\236\000\000\000\000\t$\008\2080\004\008\"\t\002\000\000\008\228\020,\008*\021\162\000\000\000\000\008X\000\000\000\015\000\000\005\142\000\000\000\000\001b\000\000\008\174\000\000\012\130\005~\000\000\012\130\000\000\000\000\024\198\000\000\005~\000\000\000\000\t\186\000\000\012\130\000\000\008\252\020,\008B\t$\000\000\000R\000\000\008\246\000O\008L\t\012Ld\008R\001$\000\0000\004\t2\000\000\t\020Ld\008Z\t:\000\000\005\1380\004\t>\000\000\tB\000\0004\130\000O\005\1420\004\tD\000\000\tH\000\000\000\000\000\000\t\186\000\000\000\000\0042\000\000\006\242\000\000\001\182\000\000\000\000\002\184\022r\000\000\002\184\000\000\000\000\008\138\000\000\002T\000\003\021\162\000\000\004*\000\015\004*\000\000\000\015\000\000\006\242\000\000\006\242\000\000\000\000\000\000\008\134\000\000\000\000\008\158\000\000\002\210\005\142\001\230\004*\000\000\000\000\000\000\005T\000\000\006\242\000\000\002\210\000\000\000\000\001\182\000\015\016\174\000\000\000\015\000\000\008V\016\174\000\000\000\000\008V\000\000\000\000\008\156\000\000\000\000\008\162\000\000\003\240\006\242\000\000\003\240\000\000\000\000\t\028\000\000\0042\000\000\006\242\000\000\000\000\000\000\018\006;\208\000\000\t\130\000\000\018\006\t\134\000\000\t\136\000\000/\208\000O\003\008\000\0000\004\t\138\000\000\003\240\tZ\000O\008\176\tpLd\008\180\003Z\000\0000\004\t\150\000\000\004\226\000\0000\004\t\152\000\0004\130\000O\005z\000\0000\004\t\154\000\000\003\252\018\006\000\000\024\198\005\150\000\0000\004\t\160\000\000\000\000\000\000\003@\000\000\t\132\020,\008\200\t\170\000\000\001\228\000\000\tz\000O\008\208\t\146Ld\008\216\005\158\000\0000\004\t\184\000\000\005\164\000\0000\004\t\186\000\0004\130\000O\005\208\000\0000\004\t\188\000\000\003\252\000\000\000\000\008\226\000\000\003@\003\026\t\\\000\000\000\000\000\000\t^\000\000\004\006\000\031\000\000\016\174\t\176\000\000\000\0000\004\t\018\006\242\000\000\008\230\000\000\000\179\000\000/\208\000\000\000\000\005\194\016\174\000\000\016\174\000\000\008\214\000\000\005\194\000\0000\004\005\2460\004\000\0000\004\000\000\008\216\000\000\005\246\000\0000\004\005\246\008\218\000\000\021\162\006\000\021\162\000\000\021\162\000\000\008\220\000\000\006\000\000\0000\004\005\246\008\222\000\000/\208\006\008/\208\000\000/\208\000\000\008\228\000\000\006\008\000\0000\004\005\246\008\232\000\000\000\000\024\198\000\000\000\000\tX0\208\000\000\000\000\000\000\000\000\000\000\t.\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\005:0\208\000\000\003H\001\146\000\000\t0\000\197\000\000\000\000\000\000\0032\001\146\000\000\000\000\000\000\000\000\t\140\000\000\000\000\000\000\000\000\028:\029\158\000\000F\208\000\0000\208\000\000\005t0\208\000\000\000?\001|\001|\000\000\002\008\001|\000\000\t\n\000\000\000\000\000\000\000\000\t\148\000\000\030\162\000\000 V0\208\000\000\002\1520\208\000\000\t\156\000\0000\208\t\158\000\000HX1^\t\160\000\000\t\168\000\000ID>\1480\208\000\000\000\000\t,0\208\t\186\000\000\t\188\000\000\t\190\000\000\024\018\000\000\002b\024\018\000\000\t>\018\196\000\000\001~0\208\000\000\005\1460\208\000\000\000~\n<\000\000\n>\000\0000\2080\208\tD\000\000\000\000\000\000\000\000\000\000\000\000\t\204\000\000I\1460\208\t\206\000\000\t\208\000\0000\208\t\210\000\0000\208\tz\000\197\000\000\000\000\006`0\208\000\000\000~\000\000\t\214\000\0000\208\t\220\000\000G\0301^0\208\tZ0\208\t\232\000\000\t\236\000\000H\n\000\000\000\000\006~0\208\000\000\003\196\004\244\001|\tj\000\000\000\000\001~\001~\000\000\000\000\000\000\003\184\001~\000\000\tl\000\000\000\000\000\000\000\000\000\000\000\0000\208\000\000\006\1680\208\000\000\001\228\000\128\000\197\tn\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\246\000\000\t\248\000\0000\208\t\254\000\000J~0\208\n\000\000\000\n\002\000\000\0218\t\170J\204,\024\000\0000\208\n\006\000\000\n\008\000\000\t\216\02180\208\n\012\000\0000\208\n\014\000\000\n\018\000\0000\208\t\1440\208\n\024\000\000\n\026\000\000\000\197\t\138\000\000\000\000\024\198\000\000\000\000\002~\nx\000\000\000\000\000\241\000\000\000\000\000\0000\004\000\000\000\000\000\000\002\198\000\000\002F\000\000\000\000\000\000\004*/\208/\208/\208\000\000\000\030\000\030\000\030\000\030\000\000\000\000\000\000\000\000\000\000\000\000\001b\016\174\np\013\230\001(\000\000\000\000\001(\000\000\t\186\000\000(x\t\164\000\000\001b\016\174\t\172\015J\000\000\001b\013\230\000\000\000\000\000\000/\208\000\030\000\000\000\000\000\000\t\246\000\240\npM\020\000\000\004@M\196\000\000\000\000\000\000\0050\nb\000O\000\000\004@\000\000\005 M\020\000\000\000\000\t\184\np\006\242\t\182\000\000\001(\000\000\t\186\000\000\011b\0070\000\000\000\000\n\\\000\000\000\000\002~\000\000\002\170\000\000\000\000\000\0000\004\000\000\002\198\000\000\003~\000\000\000\000\000\000\005\142\000\000\011\030\002\148\011\030\000\000\006\242\011\030\000\000\002\148\000\000\006\242\000\000\006\242\000\000\006\242\000\000\011b\000\000\000\000\000\000\000\000\000\000\006\242\000\000\002\148\000\000\006\242\000\000\014*\000\000\000\000\008V\t\232\000\197\001\216\n\134\006\220\000\000\006\220\n\176\000\000\n\182\000\000\n\184\000\000\000\000\001\184\006\220\004\182\006\220\000\000\000\000\006(\t\218\000\000\n*\000\197\001\216\t\242\000\000\006N\n\238\000\000\002\"\004\196\n\254\003V\n\254\000\000\000\000\006\180\000\197\000\000\003\248\000\000\000\000\002\130\000\000\t\250\000\000\000\000\000\000\n6\000\197\001\216\t\254\000\000\000\000\006N\002\"\004\196\006\180\003\248\002\130\n\000\000\000\002\"\004\196\006\180\003\248\002\130\n\002\000\000\001\178\001\162\n\030\000\197\n\024\011\n\004H\nD\000\197\n\160\000\000\nP\000\197\n\176\000\000\000\000\n:\002\206\n<\011\n\000\000\n>\011\n\000\000\000\000\011\n\000\000"), (16, "\012\029\012\029\012\029\012\029\012\029\012\029\012\029\012\029\012\029\012\029\012\029\000&\012\029\012\029\012\029\012\029\012\029\012\029\012\029\012\029\012\029\012\029\nR\0007\000;\nV\012\029\000\n\015\026\025\146\000*\nZ\006\137\000\150\012\029\001~\n^\025\150\012\029\012\029\004\222\012\029\004^\007\209\012\029\022\026\006\t\016.\012\029\012\029\012\029\004>\012\206\025G\025K\001\"\014\242\007\209\025O\012\029\001\"\015\030\012\029\012\029\013n\015&\000\006\000\"\012\029\012\029\006\193\012\029\001\230\012\029\020\026\001\"\012\250\001\242\012\029\005\249\012\029\012\029\012\029\012\029\012\029\012\206\000\n\001\"\012\029\012\029\012\029\000\n\012\029\012\029\012\029\016\162\012\029\012\029\012\029\012\029\023\n\023\018\008\210\012\029\012\029\001\230\000\n\000\n\007\209\012\250\001\242\016\166\006\026\012\234\012\029\012\029\012\029\018r\000\n\012\029\012\029\012\029\012\029\018v\012\029\015\170\012\029\018z\000\154\012\029\006\193\001\230\012\029\012\029\006\137\012\250\001\242\016>\024R\023\026\000\n\011\249\017v\012\029\000\n\004\169\012\029\000\226\011\185\011\185\012\029\012\029\012\029\012\029\011n\012\029\000.\012\029\004~\007\209\019\238\012\029\012\029\012\029\008\181\012\029\000\n\012\029\012\029\000\230\012\029\007\209\012\029\012\029\001R\007\150\012\029\012\029\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\000\n\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\016\194\012\238\016.\001V\006\145\014\246\015\006\015\022\006)\006)\001\230\014\242\006\145\001\"\001\238\001\242\006\145\006\145\011v\006\145\015&\004\138\006\145\006\025\008\181\003q\006\145\011\174\006\145\000N\007\182\020j\020\146\020\162\020\202\020\218\021\002\006\145\011\185\021>\007\158\011\130\028\154\021\170\000\n\000\n\006\145\006\145\008\218\011\185\021\174\006\145\006\145\005\030\011\185\011\185\006\145\004m\006\145\006\145\006\145\006\145\006\145\015\162\022\030\023\254\006\145\006\145\006\145\001v\006\145\006\145\006\145\016\162\006\145\006\145\006\145\006\145\000\022\023\n\023\018\006\145\006\145\023\230\003\245\011\185\027\178\028\150\016\198\016\166\011\185\011\185\016>\006\145\006\145\021\186\019j\006\145\006\145\006\145\006\145\006\246\006\145\0061\006\145\004\025\014\242\006\145\024\002\001\230\006\145\006\145\019n\012\250\001\242\015&\000\n\008\145\024N\001\138\022\242\012\201\012\201\017F\006\145\004\221\012\201\008\246\006\145\006\145\006\145\006\145\001\230\006\145\000\n\006\145\012\250\001\242\006\222\006\145\006\145\006\145\000\n\008\173\000\n\006\145\006\145\001\"\006\145\011\161\006\145\006\145\016.\002\206\006\145\006\145\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\000\n\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\000\n\006\177\006\222\n*\006\177\006Y\016.\027\194\027\130\016>\006\177\006\177\006\177\006\177\028\218\014\242\006\177\006\177\027\186\006\177\006\177\0256\006\177\001\"\015&\008\173\006\177\004\025\006\177\004\221\006\177\006\177\004\025\004\025\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006a\022*\004\025\027\130\006\177\006\177\006\177\006\177\011\177\006\177\017R\003\026\000\n\011\193\006\177\0256\006\177\n\158\006\177\006\177\006\177\006\177\018\174\017\198\006\177\006\177\006\177\004\025\006\177\006\177\006\177\019j\006\177\006\177\006\177\006\177\012\182\003:\028*\003B\006\177\003R\006a\006\177\025o\025s\022\218\019n\003Z\025w\019N\006\177\006\177\011\153\016>\006\177\006\177\006\177\006\177\006\246\006\177\006\177\006\177\018\222\000\n\006\177\003f\001\230\006\177\006\177\006\177\012\250\001\242\022f\003j\005\137\006\177\003b\006\222\006\177\011\193\015\166\006\177\008\209\008\209\006!\006\177\006\177\008\209\006\177\012\001\006\177\006\129\006\177\026\199\026\203\003~\006\177\003\134\026\207\003\150\011\005\000\n\023\230\006\177\006i\006\177\003\158\006\177\006\177\018\178\003r\006\177\006\177\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\021*\001\014\025~\001\022\nZ\001\030\0012\001:\001>\n^\025\130\003\166\021.\023\250\011\137\nb\006Y\021\166\003\170\011\137\011\137\021\198\0212\001F\0216\012\001\018\226\001\166\nr\018\194\013v\011\137\021:\013z\028\174\006a\011\005\001N\008\165\014\226\021F\018F\005\241\028\002\021J\003\182\016.\019\"\001\178\001\230\021N\025\182\028\190\012\250\001\242\014\242\011\137\015:\013\130\025\226\025\238\001\162\015>\017\130\015&\003\174\021R\001\218\004\014\001\222\004\185\001b\0166\015F\011\145\026\231\026\235\013\150\001\230\015J\026\239\013\154\011\142\001\242\000\n\013\158\013\162\n\134\013\166\004\018\004\021\021V\024\018\015N\021Z\028\030\012\201\027\250\008\165\011\169\004}\028\"\015\194\004v\n\226\013\170\003\249\021^\015R\015V\013\174\015Z\021b\000\n\021f\015n\021j\021n\004\149\021r\004&\015z\013\182\006q\004\021\021v\004B\001\"\021z\006y\005\241\020\002\026\002\004J\018\242\015\154\016>\004}\021>\015\158\015\218\004\185\n\138\021~\013\186\011\161\015\222\021\130\021\134\005\241\013\190\004\185\004\185\005\241\004N\004z\004\185\015\230\000\n\013\194\026B\006\185\006\185\023\234\006\001\002\"\006\185\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\004\130\001\014\025~\001\022\nZ\001\030\0012\001:\001>\n^\025\130\026V\004\021\016.\004\154\nb\003A\004\021\004\021\006\161\003A\004\162\014\242\001F\006\161\006\161\011\161\001\166\nr\004\021\013v\015&\019\014\013z\016.\001\"\006\161\001N\011\161\014\226\011\161\004\221\011\161\014\242\018\246\004\021\0192\011\233\001\178\005\021\019\138\014\242\015&\019\158\004\021\013\026\027\186\015:\013\130\025\226\015&\006\161\015>\017\202\020J\004\249\000\n\001\218\005\021\001\222\004\201\001b\0166\015F\012\182\019\186\011\241\013\150\001\230\015J\004\166\013\154\011\142\001\242\012\201\013\158\013\162\n\134\013\166\004\174\020r\011\217\016:\015N\026n\020\170\004\198\004\029\003e\020\226\004\202\004\210\003A\016>\n\226\013\170\003A\021\154\015R\015V\013\174\015Z\004\230\000\n\013:\015n\004\137\004\250\004\149\005\014\019\018\015z\013\182\004\221\016>\005.\013V\005R\016\234\020R\017\n\027\178\016>\012\182\0196\015\154\022\014\005\021\019\142\015\158\015\218\019\162\n\138\005^\013\186\012\182\015\222\012\182\005f\012\182\013\190\022\254\004\201\012\201\012\201\020z\005\021\015\230\012\201\013\194\020\178\006\201\006\201\019\190\020\234\002\"\006\201\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\005\186\001\014\025~\001\022\nZ\001\030\0012\001:\001>\n^\025\130\005\198\006\018\005\017\006I\nb\011\225\006\"\006*\004\029\006\170\006\206\006\214\001F\004\029\004\029\027\138\001\166\nr\004\245\013v\011\201\005\017\013z\007\014\007\026\004\029\001N\004\137\014\226\006A\007&\027\234\004\137\004\137\006Q\0072\027\142\001\178\0069\007>\014\242\011\209\007J\027\146\004\137\004\137\015\"\013\130\007^\015&\004\029\015>\027\186\007n\007~\026\167\001\218\007\134\001\222\004\229\001b\015B\015F\026\171\007\171\023\130\013\150\001\230\015J\004\137\013\154\011\142\001\242\026\174\013\158\013\162\n\134\013\166\006\169\007\246\023\218\012\209\015N\006\169\006\169\007\250\008:\008>\008\158\008\162\005\017\008\178\008\194\n\226\013\170\028\018\008\238\015R\015V\013\174\015Z\024B\000\n\008\254\015n\027\154\t\018\004\149\tZ\005\017\015z\013\182\007\202\t^\007\210\t\158\007\226\t\162\n\002\n\006\006\169\016>\n\026\007\234\015\154\n2\nF\nf\015\158\015\218\004\229\n\138\nn\013\186\nv\015\222\n~\027\162\n\130\013\190\004\229\004\229\n\182\n\194\n\202\004\229\015\230\011\014\013\194\011.\008\217\008\217\007\242\011:\002\"\008\217\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\011~\001\014\011\154\001\022\nZ\001\030\0012\001:\001>\n^\008\014\011\166\008\022\011\190\008&\nb\011\202\012R\012f\008\002\004\137\008.\012z\001F\012\158\012\170\012\178\001\166\nr\012\198\013v\012\210\012\218\013z\012\222\012\230\027v\001N\007\217\014\226\012\246\013\006\013\014\013\018\013\"\013*\013B\013J\001\178\013^\0086\014\242\007\217\013f\013r\013\138\013\146\015\"\013\130\t.\015&\t6\015>\tF\013\230\013\242\014:\001\218\014\178\001\222\tN\001b\015B\015F\014\218\014\238\014\250\013\150\001\230\015J\015\002\013\154\011\142\001\242\008F\013\158\013\162\n\134\013\166\015\n\tr\015\018\tz\015N\t\138\015^\015f\015v\015~\tV\015\134\t\146\015\142\007\217\n\226\013\170\027\210\015\150\015R\015V\013\174\015Z\015\210\000\n\015\226\015n\027\230\015\234\015\246\015\250\004\137\015z\013\182\028>\027\234\004\137\004\137\016\002\016\006\016\014\t\154\016\022\016>\tf\016&\015\154\016J\004\137\004\137\015\158\015\218\016\142\n\138\016\150\013\186\016\154\015\222\016\170\016\178\016\182\013\190\016\190\016\206\016\214\007\217\016\222\016\226\015\230\016\242\013\194\016\250\017\018\004\137\017\026\t\170\002\"\007\217\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\017j\001\014\017\178\001\022\nZ\001\030\0012\001:\001>\n^\017\190\0182\018>\018^\018\138\nb\018\150\018\158\018\186\018\198\018\206\018\210\018\218\001F\018\234\018\254\019\026\001\166\nr\019>\013v\019V\019^\013z\019b\019r\019z\001N\019~\014\226\019\134\019\150\019\170\019\198\019\218\019\234\019\250\020\018\001\178\020\"\020.\014\242\020_\020\135\020\159\020\191\020\215\015\"\013\130\020\247\015&\021\015\015>\021&\021B\021\178\021\223\001\218\0226\001\222\022K\001b\015B\015F\022s\022\127\022\143\013\150\001\230\015J\022\151\013\154\011\142\001\242\022\178\013\158\013\162\n\134\013\166\022\187\022\195\022\203\012\209\015N\022\230\023\014\023\022\023&\023C\023S\023[\023g\023r\023\151\n\226\013\170\023\163\023\182\015R\015V\013\174\015Z\023\191\000\n\023\199\015n\023\242\024\030\024Z\024{\024\131\015z\013\182\024\143\024\159\024\167\024\178\024\199\024\207\024\214\024\227\024\239\016>\024\247\025\002\015\154\025\011\025\019\025\031\015\158\015\218\025:\n\138\025\194\013\186\025\234\015\222\025\250\026.\0266\013\190\026Z\026~\026\130\026\138\026\179\027z\015\230\027\134\013\194\027\150\012\209\012\209\027\158\027\166\002\"\012\209\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\027\207\001\014\025~\001\022\nZ\001\030\0012\001:\001>\n^\025\130\027\214\027\227\027\238\027\254\nb\0283\028B\028O\028s\028\143\028\158\028\166\001F\028\170\028\178\028\187\001\166\nr\nR\013v\028\194\nV\013z\028\203\028\214\025\146\001N\nZ\014\226\028\222\028\234\000\000\n^\025\150\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015:\013\130\000\000\000\000\000\000\015>\026\254\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\0166\015F\000\000\000\000\016\162\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\016\166\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\001\230\000\n\000\000\015n\012\250\001\242\004\149\000\000\000\000\015z\013\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\015\154\000\000\000\000\000\000\015\158\015\218\000\000\n\138\000\000\013\186\000\000\015\222\000\n\000\000\000\000\013\190\000\000\004\169\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\008\189\008\189\000\000\000\000\002\"\008\189\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\000\nb\000\000\007\153\007\153\000\000\000\000\000\000\007\153\001F\000\000\000\000\000\000\001\166\nr\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\001N\000\000\014\226\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\000\015:\013\130\000\000\000\000\000\000\015>\016R\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\0166\015F\000\000\000\000\000\000\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\012\173\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\000\000\000\n\000\000\015n\000\000\000\000\000\000\000\000\000\000\015z\013\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\015\154\000\000\000\000\000\000\015\158\015\218\000\000\n\138\000\000\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\000\000\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\012\173\012\173\000\000\000\000\002\"\012\173\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\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\nR\013v\000\000\nV\013z\000\000\000\000\025\146\001N\nZ\014\226\000\000\000\000\000\000\n^\025\150\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015:\013\130\000\000\000\000\000\000\015>\025\198\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\0166\015F\000\000\000\000\016\162\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\016\166\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\001\230\000\n\000\000\015n\012\250\001\242\000\000\000\000\000\000\015z\013\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\015\154\000\000\000\000\000\000\015\158\015\218\000\000\n\138\000\000\013\186\000\000\015\222\000\n\000\000\000\000\013\190\000\000\004\169\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\012\249\012\249\000\000\000\000\002\"\012\249\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\000\nb\000\000\t\t\t\t\000\000\000\000\000\000\t\t\001F\000\000\000\000\000\000\001\166\nr\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\001N\000\000\014\226\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\000\015:\013\130\000\000\000\000\000\000\015>\025\198\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\0166\015F\000\000\000\000\000\000\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\000\000\000\n\000\000\015n\000\000\000\000\000\000\000\000\000\000\015z\013\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\015\154\000\000\000\000\000\000\015\158\015\218\000\000\n\138\000\000\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\000\000\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\012\245\012\245\000\000\000\000\002\"\012\245\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\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\001N\000\000\014\226\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\000\015:\013\130\000\000\000\000\000\000\015>\017\254\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\0166\015F\000\000\000\000\000\000\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\000\000\000\n\000\000\015n\000\000\000\000\000\000\000\000\000\000\015z\013\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\015\154\000\000\000\000\000\000\015\158\015\218\000\000\n\138\000\000\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\000\000\000\000\000\000\000\000\000\000\015\230\000\000\013\194\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\000\000\001F\000\000\000\000\000\000\001\166\000\000\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\001N\000\000\018~\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\000\018\142\013\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\013\150\001\230\000\000\000\000\013\154\001\238\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\005\233\000\000\007\214\005\233\008\026\005\233\000\000\005\233\000\000\005\233\000\000\000\000\n\226\013\170\005\233\005\233\000\000\005\233\013\174\005\233\000\000\000\n\000\000\000\000\000\000\005\233\000\000\005\233\000\000\005\233\013\182\005\233\000\000\000\000\000\000\005\233\000\000\005\233\000\000\000\000\005\233\005\233\005\233\005\233\000\000\005\233\000\000\005\233\000\000\005\233\n\138\005\233\013\186\005\233\018\146\005\233\005\233\000\000\013\190\005\233\000\000\000\000\000\000\005\233\005\233\018\154\005\233\013\194\000\000\005\233\000Z\005\233\000Z\002\"\005\233\005\233\005\233\000\000\000\000\000\000\005\233\008\186\000\000\005\233\000\000\005\233\000Z\005\233\005\233\000\000\005\233\000\000\000\000\000\000\005\233\000\000\005\233\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\005\233\000\000\005\233\005\233\000\000\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\000\000\005\233\000\000\005\233\000\000\005\233\005\233\005\233\005\233\000\000\005\233\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\000\005\233\000\000\005\233\005\233\005\233\000\000\005\233\005\233\005\233\005\233\005\233\000\000\000\000\005\233\005\233\000\000\000\000\005\233\005\233\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\005\233\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\000\000\001F\000\000\000\000\000\000\001\166\000\000\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\014\029\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\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\014\029\000\000\000\000\000\000\001\226\001\230\000\000\011\030\001\234\001\238\001\242\002F\001\246\001\250\014\029\001\254\000\000\000\000\000\000\000\000\014\029\014\029\000\000\000\000\011&\000\000\000\000\0112\000\000\000\000\014\029\000\000\002\002\014\029\000\000\014\029\000\000\002\006\000\000\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\000\000\000\174\014\029\008\n\008N\002\018\008V\021*\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\002\022\000\000\021.\000\000\000\000\011>\002\026\000\000\000\000\004i\000\000\000\000\0212\008\146\0216\002\030\000\000\000\000\000\000\000\000\000\000\002\"\021:\000\000\014\029\000\000\000\000\024\174\000\000\011B\021F\014\029\000\000\000\000\021J\000\000\000\000\000\000\000\000\011J\021N\000\000\000\000\000\000\014\029\000\000\000\000\008\170\000\000\000\000\000\000\000\000\022\206\000\000\000\000\000\000\021R\023\202\nb\014\029\014\029\008\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\nr\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\000\000\021V\014\226\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\021^\000\000\000\000\015j\013\130\021b\000\n\021f\015>\021j\021n\000\000\021r\001\218\000\000\001\222\000\000\000\000\021v\015F\000\000\021z\000\000\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\000\000\013\166\000\000\021~\000\000\000\000\015N\021\130\021\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\000\000\000\n\000\000\015n\000\000\000\000\000\000\nb\000\000\015z\013\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\nr\000\000\013v\015\154\000\000\013z\000\000\015\158\015\218\000\000\000\000\014\226\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\001\178\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\013~\013\130\000\000\000\000\002\"\015>\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\015F\000\000\000\000\000\000\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\000\000\013\166\000\000\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\000\000\000\n\000\000\015n\000\000\000\000\000\000\000\000\000\000\015z\013\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\001\000\000\000\000\014\001\015\154\000\000\000\000\000\000\015\158\015\218\000\000\000\000\000\000\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\000\000\000\000\014\001\000\000\000\000\015\230\014\001\013\194\000\000\002:\014\001\000\000\000\000\002\"\000\000\000\000\014\001\000\000\000\000\014\001\014\001\000\000\014\001\014\001\000\000\000\000\002B\000\000\014\001\005&\000\000\000\000\014\001\000\000\000\000\014\001\000\000\014\001\014\001\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\246\000\000\000\254\000\000\001\014\014\001\001\022\014\001\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\014\001\000\000\000\000\000\000\000\000\000\000\000\000\0052\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\001N\000\000\000\000\000\000\014\001\014\001\000\000\014\001\014\001\0056\000\000\014\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005>\001^\000\000\000\000\000\000\014\001\000\000\000\000\014\001\014\001\014\001\014\001\000\000\000\000\000\000\001b\014\001\014\001\014\001\000\000\014\001\014\001\014\001\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\245\000\000\021\026\004\245\000\000\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\000\000\001=\000\000\004\245\000\000\000\000\001=\004\245\000\000\001=\004\245\004\245\000\000\001=\000\000\000\000\021\030\004\245\000\000\001=\004\245\004\245\000\000\004\245\004\245\000\000\001=\004\245\000\000\004\245\004\245\001=\000\000\004\245\000\000\000\000\004\245\000\000\004\245\004\245\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\245\001=\004\245\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\245\000\000\000\000\000\000\001=\000\000\000\000\004\245\000\000\001=\000\n\001=\000\000\000\000\001=\000\000\021\"\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\004\245\004\245\000\000\004\245\005\017\004\245\000\000\004\245\000\000\000\000\000\000\000\000\000\000\000\000\001=\004\245\000\000\004\249\001=\001=\004\249\000\000\000\000\004\245\000\000\004\245\000\000\000\000\000\000\021\226\000\000\004\245\004\245\004\245\000\000\004\245\004\245\004\245\000\000\000\000\004\249\000\000\000\000\000\000\004\249\000\000\000\000\004\249\004\249\000\000\000\000\000\000\000\000\000\000\004\249\000\000\000\000\004\249\004\249\000\000\004\249\004\249\000\000\000\000\004\249\000\000\004\249\004\249\000\000\000\000\004\249\000\000\000\000\004\249\000\000\004\249\004\249\000\000\000\000\000\000\000\000\000\000\000\000\004U\004U\004U\004U\000\000\004U\000\000\004U\004U\000\000\004U\000\000\004U\004\249\004U\004\249\004U\004U\004U\004U\000\000\000\000\000\000\000\000\000\000\000\000\004\249\000\000\000\000\001r\000\000\000\000\000\000\004\249\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\000\004U\000\000\000\000\000\000\004\249\004\249\000\000\004\249\005\021\004\249\000\000\004\249\000\000\000\000\000\000\014U\000\000\000\000\014U\004\249\004U\000\000\000\000\000\000\004\249\000\000\004U\004\249\000\000\004\249\000\000\000\000\000\000\000\000\004U\004\249\004\249\004\249\014U\004\249\004\249\004\249\014U\000\000\000\000\013\214\014U\000\000\000\000\000\000\000\000\000\000\014U\000\000\000\000\014U\014U\000\000\014U\014U\000\000\000\000\013\222\000\000\014U\013\234\000\000\000\000\014U\000\000\000\000\014U\000\000\014U\014U\000\000\004U\000\000\000\000\000\000\000\000\000R\007\190\007\198\000\170\000\000\000\174\000\000\008\n\008N\000\000\008V\000\000\008f\014U\008n\014U\008v\008\130\001:\008\138\000\000\000\000\000\000\000\000\000\000\000\000\014U\000\000\000\000\000\000\000\000\000\000\000\000\013\246\008\146\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\008\154\000\000\000\000\000\000\014U\014U\000\000\014U\000\000\013\250\000\000\014U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\002\008\170\000\000\000\000\000\000\000\000\000\000\000\000\014U\000\000\014U\000\000\000\000\000\000\000\000\008\182\014U\014U\014U\000\000\014U\014U\014U\n\133\n\133\n\133\n\133\000\000\n\133\000\000\n\133\n\133\000\000\n\133\000\000\n\133\000\000\n\133\000\000\n\133\n\133\n\133\n\133\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\133\n\133\n\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\133\000\000\001\137\000\000\000\000\n\133\001\137\000\000\021\242\000\000\001\137\000\000\021\250\000\000\000\000\000\000\001\137\000\000\n\133\001\137\001\137\000\000\001\137\001\137\000\000\n\133\000\000\000\000\001\137\000\000\n\133\000\000\001\137\000\000\000\000\001\137\000\000\001\137\001\137\n\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\000\000\001\137\n\133\001\137\000\000\n\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\n\133\000\000\000\000\000\000\000\000\n\133\000\000\n\133\000\000\000\000\n\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\133\000\000\000\000\n\133\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\n\133\000\000\000\000\000\000\022N\n\133\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\nu\nu\nu\nu\000\000\nu\000\000\nu\nu\000\000\nu\000\000\nu\000\000\nu\000\000\nu\nu\nu\nu\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nu\nu\nu\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nu\000\000\000\000\000\000\000\000\nu\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nu\000\000\000\000\000\000\000\000\000\000\000\000\nu\000\000\000\000\001\153\000\000\nu\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nu\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nu\000\000\000\000\nu\000\000\000\000\001\153\000\000\000\000\000\000\001\153\000\000\001\153\001\153\000\000\000\000\nu\000\000\000\000\000\000\000\000\nu\001\153\nu\000\000\001\153\nu\001\153\ny\ny\ny\ny\000\000\ny\nu\ny\ny\nu\ny\000\000\ny\000\000\ny\000\000\ny\ny\ny\ny\001\153\000\000\000\000\000\000\nu\000\000\000\000\000\000\021\246\nu\000\000\000\000\000\000\ny\ny\ny\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ny\000\000\000\000\000\000\000\000\ny\000\000\000\000\022R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\005\250\ny\001\153\000\000\000\000\000\000\001\153\000\000\ny\000R\000V\000f\000\170\ny\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\ny\001\022\001\153\001\030\0012\001:\001>\000\000\006\002\000\000\000\000\000\000\001\153\001\153\000\000\000\000\000\000\000\000\000\000\011\150\ny\001F\000\000\ny\000\000\000\000\000\000\000\000\004M\000\000\000\000\004M\000\000\000\000\004M\001N\ny\000\000\000\000\000\000\000\000\ny\000\000\ny\000\000\000\000\ny\000\000\000\000\004M\000\000\000\000\000\000\000\000\ny\001^\000\000\ny\004M\004M\000\000\000\000\004M\004M\004M\000\000\000\000\000\000\004M\001b\004M\000\000\ny\004R\004V\000\000\000\000\ny\004M\004M\000\000\000\000\004M\004M\004M\000\000\004M\004M\000\000\004M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004M\004M\000\000\000\000\000\000\000\000\004M\000\000\000\000\004M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004M\000\000\000\000\000\000\000\000\000\000\000\000\004b\004M\000\000\004M\000\000\004M\000R\007\190\007\198\000\170\000\000\000\174\000\000\008\n\008N\004M\008V\000\000\008f\000\000\008n\004M\008v\008\130\001:\008\138\000\000\004M\002v\000\000\004M\002\198\000\000\000\000\000\000\000\000\004M\000\000\000\000\022Z\008\146\022v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\130\000\000\002~\000\000\000\000\008\154\002\017\000\000\000\000\000\000\002\017\000\000\000\000\000\000\000\000\000\000\002\134\000\000\022\154\002\017\002\017\000\000\002\230\002\238\000\000\008\170\000\000\000\000\002\017\000\000\022\206\000\000\002\166\000\000\000\000\002\142\000\000\002\158\002\017\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\238\002\017\000\000\023F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\017\000\000\000\000\000\000\023^\000\000\000\000\000\000\000\000\023j\000\000\008\141\000\000\000\000\023\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\166\000\000\000\000\024\134\002\182\000\000\000\000\002\017\002\017\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\024\146\000}\000\000\000\000\000}\024\170\002\017\000\000\000\000\002\017\002\017\002\017\002\017\000\000\000\000\000\000\000\000\000\000\002\017\002\017\000\000\002\246\002\190\002\017\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\002\134\000\000\000\000\000}\000}\000\000\000}\000}\000e\000\000\000\000\000e\000}\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002\174\000\000\000}\002\134\000\000\000\000\000e\000e\000\000\000e\000e\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\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\000}\000}\000\000\000e\002\150\000e\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\000\000}\000}\000}\000}\000\000\000\000\000\000\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\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\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]\000a\000\000\000\000\000a\000]\000\000\000\000\000\000\000]\000\000\000\000\002\142\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\000a\000\000\000\000\000\000\000a\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\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\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000a\002\150\000a\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\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\000\000\000\000\000q\000\000\000\000\000q\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\000\000\000\000\000a\000a\002~\000a\000a\000a\000q\000\000\000\000\000\000\000q\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000q\000q\000\000\000q\000q\000i\000\000\000\000\000i\000q\000\000\000\000\000\000\000q\000\000\000\000\002\142\000\000\002\158\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\174\000\000\000q\002\134\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000q\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\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\000\000\000i\002\150\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000\000\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\000i\000\000\000\000\000i\000i\000\000\000\000\002\150\000\000\000\000\000\000\000m\000\000\000\000\000m\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\000\000\000\000\000i\000i\002~\000i\000i\000i\000m\000\000\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000m\000m\000\000\000m\000m\000u\000\000\000\000\000u\000m\000\000\000\000\000\000\000m\000\000\000\000\002\142\000\000\002\158\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000\000\000\000\002\174\000\000\000m\002\134\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000m\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\002\174\002\150\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000m\000\000\000\000\000m\000m\000m\000m\000\000\000\000\000\000\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\002\182\000\000\000\000\000u\000u\000\000\000\000\002\150\000\000\000\000\000\000\002v\000\000\000\000\000\133\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\000\000\000\000\000u\000u\002~\000u\000u\000u\000\133\000\000\000\000\000\000\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\002v\000\000\000\000\000y\000\133\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\002\174\000\000\000\133\002\134\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\133\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\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\000\133\000\133\000\000\002\174\002\150\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000\000\000\133\000\133\000\000\002\246\002\190\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000y\000y\000\000\000\000\002\150\000\000\000\000\000\000\002v\000\000\000\000\000\129\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\000\000\000\000\000y\000y\002~\000y\002\190\000y\000\129\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\129\000\129\000\000\000\129\002\238\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\002\166\001\166\000\000\002\142\n\166\002\158\000\129\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\000\000\001\178\000\000\000\000\000\000\002\174\000\000\000\129\000\000\000\000\n\174\011\006\000\000\000\000\011n\011\134\011\138\000\000\000\129\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\142\001\242\000\000\n\214\n\218\000\000\n\222\000\000\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\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\129\000\000\000\n\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\n\242\000\129\000\129\000\000\000\129\002\190\000\129\000\000\006\025\000\000\011\146\001\166\011\174\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\000\000\000\000\n\250\000\000\000\000\000\000\001\178\000\000\012\162\000\000\000\000\n\254\000\000\000\000\000\000\n\174\011\006\002\"\000\000\011n\011\134\011\138\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\142\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\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\025\000\000\011\146\001\178\011\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\011\138\000\000\n\250\000\000\001\218\000\000\001\222\000\000\012\146\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\142\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\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\025\000\000\011\146\001\178\011\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\012^\000\000\n\250\000\000\001\218\000\000\001\222\000\000\005u\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\142\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\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\025\000\000\011\146\001\178\011\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\012n\000\000\n\250\000\000\001\218\000\000\001\222\000\000\001\189\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\142\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\008Z\005\233\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\n\242\000\000\000\000\005\233\000\000\005\233\n\137\n\137\006\025\000\000\n\137\000\000\011\174\005\233\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\n\246\000\000\000\000\005\233\000\000\000\000\n\250\000\000\000\000\005\233\000\000\000\000\001\205\000\000\000\000\n\254\000\000\000\000\000\000\000\000\005\233\002\"\000\000\n\137\000\000\005\233\000Z\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\226\000\000\000\000\000\000\000\000\000\000\n\137\000\000\005\233\000\000\000\000\005\233\0031\000\000\000j\0031\000r\000\000\000\130\0031\000\000\0031\000\000\011\234\005\233\000\138\0031\0031\000\000\005\233\005\233\005\233\000\000\005\233\005\233\000\000\005\233\011\242\000\000\000\000\000\000\000\000\005\233\0122\012:\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\018\000\146\0031\011\250\000\000\012\n\0031\005\233\000\000\000\000\000\000\005\233\005\233\n\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0031\000\000\000\000\000\000\012\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0031\000\162\000\181\000\000\000\000\000\000\000\000\000\000\0031\000\000\000\000\000\000\0031\0031\003-\000\000\000\182\003-\000\190\000\000\000\206\003-\0031\003-\000\000\011\234\000\000\000\214\003-\003-\000\000\012\"\000\000\0031\000\000\000\000\000\000\000\000\012\002\011\242\000\000\000\000\000\000\0031\000\000\000\181\000\181\000\000\0031\000\000\000\000\005]\000\000\000\000\000\000\012\018\000\222\003-\011\250\000\000\012\n\003-\000\000\000\000\000\000\000\000\012B\012*\000\000\000\000\000\000\000\000\001\137\000\000\000\000\001\137\000\000\003-\000\000\0031\000\000\012\026\0031\0031\000\000\000\000\0031\000\000\000\000\003-\000\238\0031\0031\000\000\000\000\001\137\0031\003-\000\000\001\137\000\000\003-\003-\001\137\000\000\000\000\000\000\000\000\000\000\001\137\000\000\003-\000\000\000\000\000\000\001\137\001\137\000\000\000\000\000\000\012\"\000\000\003-\000\000\000\000\001\137\000\000\012\002\001\137\000\000\001\137\001\137\003-\000\000\000\000\000\000\000\000\003-\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\001\137\000\000\000\181\012*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\003-\000\000\000\000\003-\003-\000\000\000\000\003-\000\000\000\000\000\000\000\000\003-\003-\000\000\000\000\000\000\003-\000\000\000\000\000\000\000\000\001\137\002N\000\000\001\137\001\137\000\000\000\000\001\137\000\000\000\000\000\000\001\161\000\000\000\000\001\161\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\001\137\001\137\000\000\001\137\000\000\000\000\000\000\000\000\003\n\001\137\001\137\001\161\001\137\001\137\001\137\001\161\000\000\000\000\000\000\001\161\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\001\161\001\161\000\000\001\161\001\161\000\000\000\000\000\000\000\000\001\161\000\000\000\000\000\000\001\161\000\000\000\000\001\161\000\000\001\161\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\161\000\000\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\025~\001\022\nZ\001\030\0012\001:\001>\n^\025\130\000\000\000\000\001\161\014&\000\000\001\161\000\000\000\000\000\000\001\161\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\000\000\000\000\001\161\001N\001\161\000\000\000\000\000\000\000\000\000\000\014.\001\161\001\161\000\000\001\161\001\161\001\161\000\000\000\000\001\166\000\000\000\000\001\170\001^\000\000\001\174\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\014\230\000\000\000\000\001b\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\198\001\202\000\000\001\210\n\134\n\162\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\001\226\001\230\000\000\011\158\001\234\001\238\001\242\000\000\001\246\001\250\000\n\001\254\000\000\000\000\000\000\004\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021*\000\000\000\000\002\002\001n\000\000\000\000\000\000\002\006\000\000\000\000\000\n\021.\006\017\n\138\000\000\000\000\000\000\000\000\023n\002\014\000\000\0212\006\017\0216\n\221\n\221\000\000\006\017\000\000\002\018\008\157\021:\000\000\000\000\000\000\000\000\021>\000\000\000\000\021F\000\000\002\022\000\000\021J\000\000\000\000\000\000\002\026\000\000\021N\008\157\000\000\008\157\000\000\000\000\000\000\002\030\000\000\000\000\000\000\024\254\023\030\002\"\n\221\000\000\021R\000\000\000\000\000\000\000\000\021*\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\000\000\000\000\000\000\000\000\n\221\000\000\021V\000\000\0212\021Z\0216\000\000\000\000\000\000\000\000\n\177\000\000\000\000\021:\000\000\022\166\000\000\021^\021>\000\000\000\000\021F\021b\000\n\021f\021J\021j\021n\000\000\021r\000\000\021N\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\000\000\000\000\023\174\000\000\000\000\n\177\000\000\021R\000\000\000\000\000\000\t:\005\233\021~\000\000\000\000\000\000\021\130\021\134\n\221\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\000v\000\000\n\177\005\233\021V\005\233\005\233\021Z\005\233\000\000\005\233\005\233\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\021^\005\233\000\000\000\000\005\233\021b\000\n\021f\005\233\021j\021n\000\000\021r\000\000\005\233\000\000\000\000\000\000\021v\005\233\000\000\021z\t~\005\233\000\000\005\233\t\n\000\000\000\000\000\000\005\233\000Z\t\190\005\233\000\000\005\233\021~\000\000\000\000\005\233\021\130\021\134\n\177\001f\000\000\005\233\000\000\005\233\000Z\000\000\000\000\005\233\000\000\000\000\000\000\005\233\000\000\005\233\005\233\005\233\005\233\000\000\000\000\005\233\005\233\005\233\000\000\005\233\000\000\000\000\005\233\005\233\000\000\005\233\000\000\000\000\005\233\005\233\005\233\000\000\005\233\005\233\000\000\005\233\005\233\n\018\000\000\000\000\000\000\005\233\000Z\000\000\005\233\000\000\005\233\n>\000\000\000\000\000\000\005\233\000Z\000\000\000\000\000\000\005\233\000\000\000\000\005\233\000\000\000\000\000\000\005\233\005\233\000\000\005\233\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\000\000\000\000\005\233\000\000\000\000\005\233\005\233\005\233\005\233\005\233\000\000\005\233\005\233\000\000\005\233\005\233\000\000\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\000\000\000\000\000\000\014Z\000\000\005\233\014\170\000\000\005\233\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\005\233\000\000\000\000\014b\005\233\005\233\000\000\002!\000\000\000\000\000\000\002!\000\000\000\000\000\000\000\000\000\000\014j\000\000\000\000\002!\002!\000\000\014\186\014\194\001%\000\000\000\000\001%\002!\000\000\000\000\000\000\014\138\000\000\000\000\014r\000\000\014\130\002!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014b\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\000\000\014\146\000\000\002!\014j\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\002!\000\000\001%\000\000\000\000\000\000\014\138\000\000\000\000\014r\000\000\014\130\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\014\154\000\000\000\000\002!\000\000\000\000\014\146\014z\001%\000\000\000\000\003.\0036\000\170\000\000\000\174\000\000\003z\003\190\001%\003\198\000\000\003\214\002!\003\222\002!\003\230\003\242\000\000\003\250\000\000\000\000\002!\002!\000\000\014\202\014\162\002!\000\000\000\000\000\000\000\000\000\000\000\000\004\002\014\154\000\000\000\000\001%\000\000\000\000\000\000\014z\000\000\000\000\000\000\001\013\000\000\004\n\001\013\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\000\000\000\000\000\000\001%\001%\001\013\001%\014\162\001%\001\013\000\000\000\000\000\000\001\013\000\000\000\000\000\000\000\000\004\026\014j\000\000\000\000\001\013\001\013\000\000\001\013\001\013\001\005\000\000\000\000\001\005\001\013\000\000\000\000\000\000\001\013\000\000\000\000\014r\000\000\014\130\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\000\n\001\013\000\000\001\013\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\000\000\000\000\001\013\000\000\001\005\000\000\000\000\000\000\001\005\000\000\000\000\014r\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\000\000\000\000\001\013\000\000\000\000\001\013\000\000\000\000\001\005\014z\001\005\000\000\000\000\t\"\t*\000\170\000\000\000\174\000\000\tn\t\178\001\005\t\186\000\000\t\202\001\013\t\210\001\013\t\218\t\230\000\000\t\238\000\000\000\000\001\013\001\013\000\000\001\013\001\013\001\013\000\000\000\000\000\000\000\000\000\000\000\000\t\246\001\005\000\000\000\000\001\005\000\000\000\000\000\000\014z\000\000\000\000\000\000\001\t\000\000\t\254\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\001\005\001\005\001\t\001\005\001\005\001\005\001\t\000\000\000\000\000\000\001\t\000\000\000\000\000\000\000\000\n\014\001\t\000\000\000\000\001\t\001\t\000\000\001\t\001\t\001\025\000\000\000\000\001\025\001\t\000\000\000\000\000\000\001\t\000\000\000\000\014r\000\000\001\t\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014b\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\001\t\000\000\001\t\014j\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\001\t\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\014r\000\000\014\130\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\001\t\000\000\000\000\001\t\000\000\000\000\014\146\014z\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\t\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\001\t\001\t\000\000\001\t\001\t\001\t\000\000\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\014z\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\014b\001\025\001\025\001\025\001\017\000\000\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\014j\000\000\000\000\001\017\001\017\000\000\001\017\001\017\001\021\000\000\000\000\001\021\001\017\000\000\000\000\000\000\001\017\000\000\000\000\014r\000\000\014\130\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014b\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\001\017\000\000\001\017\014j\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\001\017\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\014r\000\000\014\130\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\001\017\000\000\000\000\001\017\000\000\000\000\014\146\014z\001\021\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\000\000\001\017\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\001\017\001\017\001\017\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\000\000\014z\000\000\000\000\000\000\001\029\000\000\000\000\001\029\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\000\000\000\000\000\000\001\021\001\021\014b\001\021\001\021\001\021\001\029\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\014j\000\000\000\000\001\029\001\029\000\000\001\029\001\029\014Z\000\000\000\000\001-\001\029\000\000\000\000\000\000\014\138\000\000\000\000\014r\000\000\014\130\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014b\000\000\000\000\000\000\001-\000\000\000\000\000\000\001-\000\000\000\000\014\146\000\000\001\029\014j\000\000\000\000\001-\001-\000\000\001-\014\194\000\000\000\000\001\029\000\000\001-\000\000\000\000\000\000\014\138\000\000\000\000\014r\000\000\014\130\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\014\154\000\000\000\000\001\029\000\000\000\000\014\146\014z\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\001\029\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\154\000\000\000\000\001-\000\000\000\000\000\000\014z\000\000\000\000\000\000\014Z\000\000\000\000\001!\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\000\000\000\000\000\000\001-\001-\014b\014\202\014\162\001-\001!\000\000\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\014j\000\000\000\000\001!\001!\000\000\001!\001!\014Z\000\000\000\000\001)\001!\000\000\000\000\000\000\014\138\000\000\000\000\014r\000\000\014\130\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014b\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\014\146\000\000\001!\014j\000\000\000\000\001)\001)\000\000\001)\014\194\000\000\000\000\001!\000\000\001)\000\000\000\000\000\000\014\138\000\000\000\000\014r\000\000\014\130\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\014\154\000\000\000\000\001!\000\000\000\000\014\146\014z\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\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\001!\001!\000\000\001!\014\162\001!\000\000\000\000\000\000\000\000\000\000\001\166\000\000\014\154\001\170\000\000\001)\001\174\000\000\000\000\014z\000\000\000\000\000\000\000\000\000\000\008\157\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\162\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\000\000\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\018\130\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\002\014\000\000\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\002\030\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\002\014\000\000\000\000\000\000\000\000\001\198\0076\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\002\030\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\002\014\000\000\000\000\000\000\000\000\001\198\002\n\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\002\030\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\006\030\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\004E\000\n\000\000\004E\000\000\000\000\004E\000\000\000\000\000\000\002\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\018\004E\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\004E\004E\002\022\004E\000\000\000\000\000\000\000\000\002\026\000\000\004E\000\000\004E\000\000\000\000\000\000\000\000\002\030\000\000\000\000\004E\004E\000\000\002\"\004E\004E\004E\004\245\004E\004E\004\245\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\000\000\004\245\000\000\000\000\004E\000\000\000\000\004E\004\245\004\245\000\000\000\000\000\000\000\000\000\000\004\245\004E\000\000\000\000\000\000\000\000\004\245\004\245\021*\000\000\004\245\000\000\000\000\004\245\000\000\000\000\004\245\000\000\000\000\004\245\021.\004\245\004\245\004E\000\000\000\000\000\000\000\000\000\000\004E\0212\000\000\0216\000\000\000\000\000\000\000\000\000\000\004E\000\000\021:\000\000\004\245\000\000\004E\021>\000\000\000\000\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\000\000\000\000\000\000\004\245\000\000\000\000\000\000\000\000\000\000\000\000\022\162\000\000\000\000\000\000\000\000\021R\000\000\000\000\000\000\000\000\000\000\000\000\004\245\004\245\000\000\000\000\005\017\004\245\000\000\004\245\000\000\000\000\005\233\000\000\000\000\005\233\000\194\004\245\n\177\005\233\021V\005\233\004\245\021Z\000\000\004\245\005\233\005\233\000\000\000\000\000\000\000\000\000\000\004\245\000\000\000\000\021^\004\245\004\245\000\000\000\000\021b\000\n\021f\000\000\021j\021n\000\000\021r\005\233\000\000\000\000\005\233\001\002\021v\005\233\005\233\021z\005\233\005\233\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021~\000\000\000\000\005\233\021\130\021\134\n\177\004\030\000\000\000\000\000\000\000\000\000Z\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\000\000\000\000\000\000\004\242\000\000\000\000\000\000\005\233\000Z\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\005\233\000\000\005\233\000\000\000\000\005\233\005\233\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\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\000\000\000\000\005\233\005\233\000\000\005\233\005\233\001\166\005\233\005\233\001\186\000\000\000\000\001\190\005\233\005\233\000\000\000\000\000\000\005\233\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\194\001\214\005\233\001\210\000\000\005\233\005\233\000\000\000\000\005\233\001\218\000\000\001\222\000\000\005\233\005\233\000\000\000\000\000\000\005\233\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\001\166\000\000\000\000\001\186\000\000\000\000\001\190\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\001\178\000\000\000\000\001\182\005\138\000\000\000\000\000\000\000\000\001\194\007\030\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\005\142\000\000\000\000\005j\001\230\000\000\005\146\005n\001\238\001\242\000\000\005r\005v\000\000\005z\005\150\000\000\000\000\000\000\000\000\005\233\002\"\000\000\005\233\003F\000\000\005\233\005\233\000\000\005\233\003\138\005~\000\000\005\233\005\233\005\233\005\130\000\000\000\000\000\n\005\233\005\233\000\000\005\233\003\202\000\000\000\000\005\233\005\138\005\233\000\000\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\005\233\000\000\005\233\005\142\000\000\000\000\005\233\000\000\000\000\005\146\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\005\150\000\000\005\233\000\000\005\233\000\000\002\"\000Z\007f\000\000\005\233\000\000\000\000\000Z\000\000\000\000\005\233\000\000\005\233\000\000\000\000\000\000\005\233\005\233\005\233\000\000\000\000\000Z\005\233\005\233\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\000\005\233\000\000\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\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\005\233\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\001\166\005\233\005\233\001\186\005\233\005\233\001\190\005\233\005\233\000\000\000\000\000\000\005\233\005\233\005\233\005\233\000\000\000\000\005\233\005\233\000\000\001\178\005\233\0149\001\182\000\000\0149\005\233\005\233\000\000\001\194\005\134\005\233\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\0149\000\000\000\000\000\000\005j\001\230\000\000\005\170\005n\001\238\001\242\000\157\005r\005v\0149\005z\000\000\000\000\0149\000\000\0149\0149\000\000\000\000\005\178\000\000\000\000\005\190\000\000\000\000\0149\000\000\005~\0149\000\157\0149\000\000\005\130\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\005\138\000\000\000\000\000\000\000\000\000\157\000\157\0149\001\166\000\000\000\000\n\166\000\000\000\000\n\170\000\157\000\000\000\000\011\250\000\000\012\n\000\000\005\142\000\000\000\000\000\000\000\000\005\202\005\146\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\150\n\174\n\186\000\000\000\157\000\000\002\"\000\000\000\000\0149\0149\001\218\0149\001\222\005\206\000\000\0149\000\000\000\000\000\000\000\000\n\206\001\230\000\000\005\214\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\000\000\0149\000\000\000\000\000\149\000\000\000\000\0149\000\000\000\000\000\157\0149\0149\000\000\000\000\n\226\n\230\012\002\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\149\000\000\n\170\000\157\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\001\178\000\157\000\157\000\149\000\149\000\000\000\000\000\000\000\000\n\174\n\238\n\246\000\000\000\149\000\000\000\000\011\250\n\250\000\149\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\001\238\001\242\000\000\n\214\n\218\000\149\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\n\166\000\000\000\000\n\170\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\001\178\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\149\n\174\011\006\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\246\000\000\000\149\n\206\001\230\000\000\n\250\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\n\254\000\000\000\149\000\149\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013v\000\000\000\000\013z\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\001\178\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\013~\014\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\246\000\000\000\000\013\150\001\230\000\000\n\250\013\154\001\238\001\242\000\000\013\158\013\162\000\000\013\166\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013v\000\000\000\000\013z\n\226\013\170\000\000\000\000\000\000\000\000\013\174\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\013\182\000\000\000\000\000\000\000\000\013~\013\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\013\186\000\000\000\000\013\150\001\230\000\000\013\190\013\154\001\238\001\242\000\000\013\158\013\162\000\000\013\166\013\194\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013v\000\000\000\000\013z\n\226\013\170\000\000\000\000\000\000\000\000\013\174\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\013\182\000\000\000\000\000\000\000\000\013~\013\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\013\186\008\149\000\000\013\150\001\230\000\000\013\190\013\154\001\238\001\242\000\000\013\158\013\162\008\149\013\166\013\194\000\000\000\000\000\000\000\000\000\000\002\"\000\000\008\149\000\000\008\149\000\000\000\000\000\000\000\000\n\226\013\170\000\000\008\149\000\000\000\000\013\174\000\000\008\149\000\n\023\170\008\149\000\000\000\000\000\000\008\149\021\254\000\000\013\182\000\000\000\000\008\149\021.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\0216\000\000\000\000\008\149\000\000\000\000\013\186\000\000\021:\000\000\000\000\000\000\013\190\021>\000\000\000\000\021F\000\000\000\000\000\000\021J\013\194\000\000\000\000\000\000\000\000\021N\002\"\008\149\000\000\000\000\008\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021R\023\202\008\149\000\000\000\000\000\000\000\000\008\149\008\149\008\149\000\000\008\149\008\149\000\000\008\149\000\000\000\000\000\000\000\000\000\000\008\149\000\000\000\000\008\149\000\000\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\149\000\000\000\000\021^\008\149\008\149\000\000\000\000\021b\000\n\021f\000\000\021j\021n\008\001\021r\000\000\000\000\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\008\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\001\000\000\008\001\021~\000\000\000\000\000\000\021\130\021\134\000\000\008\001\000\000\000\000\000\000\000\000\008\001\000\000\022\134\008\001\000\000\000\000\000\000\008\001\000\000\000\000\000\000\000\000\000\000\008\001\021.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\0216\000\000\000\000\008\001\023\202\000\000\000\000\000\000\021:\000\000\000\000\000\000\000\000\021>\000\000\000\000\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\000\000\008\001\000\000\000\000\008\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021R\000\000\008\001\000\000\000\000\000\000\000\000\008\001\008\001\008\001\000\000\008\001\008\001\000\000\008\001\000\000\000\000\000\000\000\000\000\000\008\001\000\000\000\000\008\001\000\000\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\001\000\000\000\000\021^\008\001\008\001\000\000\000\000\021b\000\n\021f\000\000\021j\021n\022\158\021r\000\000\000\000\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\021.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\0216\021~\000\000\000\000\000\000\021\130\021\134\000\000\021:\000\000\000\000\000\000\000\000\021>\000\000\021*\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\021.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\0216\000\000\000\000\021R\000\000\000\000\000\000\000\000\021:\000\000\000\000\000\000\000\000\021>\000\000\000\000\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\000\000\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023J\000\000\021^\000\000\000\000\000\000\000\000\021b\000\n\021f\000\000\021j\021n\000\000\021r\000\000\000\000\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021~\000\000\000\000\021^\021\130\021\134\000\000\000\000\021b\000\n\021f\000\000\021j\021n\021*\021r\000\000\000\000\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\021.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\0216\021~\000\000\000\000\000\000\021\130\021\134\000\000\021:\000\000\000\000\000\000\000\000\021>\000\000\021*\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\021.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\0216\000\000\000\000\024\150\000\000\000\000\000\000\000\000\021:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\000\000\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021R\000\000\021^\000\000\000\000\000\000\000\000\021b\000\n\021f\000\000\021j\021n\000\000\021r\000\000\000\000\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021~\000\000\000\000\021^\021\130\021\134\000\000\000\000\021b\024\182\021f\000\000\021j\021n\000\000\021r\000\000\000\000\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\000\000\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\000\000\000\000\021\130\021\134\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\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\001F\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000R\000V\000f\000\170\001N\000\174\000\000\000\178\000\246\000\000\000\254\001F\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\001^\001N\000\000\000\000\000\000\000\000\001j\000\000\000\000\000\000\001F\000\000\000\000\000\000\001b\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\000\000\001N\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\000\000\000\000\000\000\000\000\000\000\001^\000\000\000\000\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\n\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\001n\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\000\000\000\000\006Z\000\000\000\000\001n\000\000\001F\012\137\000\n\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\000\000\000\002\025\001N\006\178\006\186\000\000\000\000\000\000\000\000\004Z\0029\000\000\000\000\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\000\000\003]\000\000\000\000\0021\000\000\000\000\001b\000\000\000\000\006\138\026:\004V\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\237\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\006\146\000\000\000\000\002\025\000\000\000\000\000\000\006r\006Z\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\026>\000\000\000\000\006b\000\000\000\000\002\025\000\237\000\000\000\237\000\237\000\213\000\000\001^\000\213\000\000\006\194\006\154\000\000\006\130\000\000\003U\006j\000\000\006z\000\000\000\000\001b\000\000\000\000\000\000\026:\004V\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\138\000\000\000\000\006b\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\000\205\000\000\000\000\000\205\000\000\000\000\000\213\000\000\000\000\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\000\006\146\000\000\000\000\000\237\026F\000\000\000\213\006r\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\205\000\000\000\205\000\205\000\209\000\000\000\000\000\209\000\000\000\000\000\237\000\000\000\205\000\000\000\000\006j\000\000\000\205\000\000\000\000\000\237\006\154\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\006r\000\205\000\000\000\000\000\209\000\000\000\000\000\000\000\209\000\000\000\209\000\209\000\000\000\000\000\225\000\000\000\000\000\225\000\213\000\000\000\209\000\000\000\000\006j\000\000\000\209\000\000\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\205\000\000\000\000\000\205\000\000\000\000\000\209\006r\000\000\000\000\000\000\006b\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\217\000\000\000\000\000\217\000\000\000\000\000\205\000\000\000\225\000\000\000\000\006j\000\000\006z\000\000\000\000\000\205\000\205\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\209\000\000\000\000\000\209\000\000\000\000\000\000\006r\006\138\000\000\000\000\006b\000\000\000\000\000\000\000\217\000\000\000\217\000\217\000\000\000\000\000\221\000\000\000\000\000\221\000\209\000\000\000\217\000\000\000\000\006j\000\000\006z\000\000\000\000\000\209\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\217\006r\000\000\000\000\000\000\006b\000\000\000\000\000\000\000\221\000\000\000\221\000\221\000\229\000\000\000\000\000\229\000\000\000\000\000\225\000\000\000\221\000\000\000\000\006j\000\000\006z\000\000\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\006r\006\138\000\000\000\000\006b\000\000\000\000\000\000\000\229\000\000\000\229\000\229\000\000\000\000\006R\000\000\000\000\000\245\000\217\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\000\006\138\006r\000\000\000\000\000\000\006b\000\000\000\000\000\000\000\245\000\000\000\245\006\186\006R\000\000\000\000\000\233\000\000\000\000\000\221\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\006\146\000\000\000\000\000\229\000\000\000\000\000\000\006r\006\138\000\000\000\000\006b\000\000\000\000\000\000\000\233\000\000\000\233\000\233\000\000\000\000\006R\000\000\000\000\000\241\000\229\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\006\146\000\000\000\000\000\245\000\000\000\000\006\138\006r\000\000\000\000\000\000\006b\000\000\000\000\000\000\000\241\000\000\000\241\006\186\000\153\000\000\000\000\000\000\000\000\000\000\000\245\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\006\194\006\154\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\006\146\000\000\000\000\000\233\000\000\000\169\000\000\006r\006\138\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\161\000\000\000\000\000\233\000\000\000\153\011\234\000\000\011\250\000\000\000\153\000\000\000\000\000\233\006\154\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\000\011\234\000\000\006\146\000\169\000\169\000\241\000\000\000\000\000\153\006r\000\000\000\000\000\000\000\169\011\242\000\000\011\250\000\000\012\n\000\000\000\161\000\161\000\000\000\000\000\000\000\000\000\000\000\241\000\165\000\000\000\161\000\000\000\000\011\250\000\000\012\n\000\000\000\241\006\154\012\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\173\011\234\000\000\000\000\012\002\000\000\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\153\011\226\000\000\000\000\000\165\000\165\011\234\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\165\000\153\000\153\011\250\012\002\012\n\011\242\000\000\000\000\000\000\011\234\000\000\000\173\000\173\000\161\000\000\000\000\000\169\011\226\000\000\000\000\012\002\012\018\000\000\011\242\011\250\012\026\012\n\000\000\000\000\000\189\012:\000\169\000\169\000\161\000\000\000\000\000\000\000\000\000\000\012\018\011\234\000\000\011\250\000\000\012\n\000\000\000\000\012\026\000\161\000\161\000\000\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\000\000\000\177\000\177\000\000\000\000\000\165\012\026\000\000\000\000\000\000\000\000\012\018\012\002\011\226\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\165\000\000\012\"\000\000\000\000\000\000\000\000\000\000\000\000\012\002\000\000\011\234\012\026\000\000\000\000\000\165\000\165\000\000\000\000\000\000\012\"\000\000\000\173\000\000\000\000\011\242\000\000\012\002\000\000\000\000\000\000\000\185\012:\000\000\000\000\000\000\000\000\000\173\000\173\000\000\000\189\012\018\000\000\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\012\"\000\000\000\000\000\000\012B\012*\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\026\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\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, "\001d\000\237\000\000\000\000\000\236\000\237\000\000\000\000\000F\000\000\000\000\000\000\001\t\000\000\000\000\000\000\001d\000\000\000u\030\002\000\000\019\220\019\220\000\000\000\000>\004\019\220\000\000\027\204\019\220\000\000\000\000\019\220\000\000\019\220\000\000\000K\000h\019\220\000\000\019\220\000\000\000\000\000\000\019\220\000\000\019\220\000\000>\186\019\220\000\000S\012\019\220\000\000\000\000\019\220\000\000\019\220\000\000\000\154\001\016\019\220\000\000\019\220\000\000\019\220\000\000\019\220\000\000S&\019\220\000\000\000\000\019\220\000\000\019\220\000\000\000k\004x\004x\000\000\000r\001\170\000k\000\000\000f\001\"\000\000\000\000\000\000\000\000\000\000\000\000\001\220\000\000\000\000\001\212\005\186\000\000\002n\001\188\004x\000\000\002\170\007&\000\000\000\000\000\000\001\206\019\220\000\000S\012\004x\001\230\019\220\000\000\000\000\019\220\000\000\000\000\019\220\000\000\019\220\000\000\002\022\002\\\019\220\000\000\030\002S$J\244\000\000\000\000T\156\002\232:\232\001\220J\244\000\000\000\000\002,\019\220\000\000J\244\000\000\000k\0005J\210\000\000\000\000N\180On\000\000Tz\000\000O\236?4\026\160\026\160Tz?4\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000PD?4\000\000\000\000PDPDPD\000\000PD\000\000?4PD\000\000\000\000\000\000\031\216\000k\000\000\021R\026\160?4\000\000 \236?4(\150?4(\174?4\000\000\000\000\000\000\000\000\000\000\000\0001\026?4\000\0002\028?4)\196?4*&?4\000\000?4\000\000?4+(?4+\138?4,\140?4,\238?4-\240?4.R?4\003(?4\000\000\000\000\000\000\000\000\000\000?42~?43\128?43\226?44\228?4/T?4/\182?40\184?45F?46H?4\000\000?46\170?47\172?48\014?4\000\000?49\016?49r?4\000\000\000\000?4\000\000\003D\000\000\000\000\000k\000\000\000\000\000\000\003Z\000\000\003\168\000\000\000y?4\000\000\000y\000\000\000\000\002,\030\002\000\000\019 \019\220\000\000\000z\019\220\000\000UH\019\220\000\000\000\000\019\220\000\000\019\220\000\000\004\016\004\164\019\220\000\000\019\220\000\000\019\220\000\000\019\220\000\000\006 \019\220\000\000UT\019\220\000\000\000\000\019\220\000\000\019\220\000\000\004\146\004\200\019\220\000\000\019\220\000\000\019\220\000\000\019\220\000\000Up\019\220\000\000\000\000\019\220\000\000\019\220\000\000\002\000\004x\004\168\019\220\000\000S&\004x\005N\019\220\000\000\000\000\019\220\000\000\019\220\000\000\019\220\000\000\005\192\006>\019\220\000\000UTJ\244\006<\019\220\000\000[ZVj\000\000\001\"\007\\\000k\006\178\007\168W&W&\000\000\000\000\000\170[\138W&\0014W\224\000\000\000\000\000\000\004\184\007\180\000\018\007\228W&\000\000\000\000\007\"\000\000\0078\b\bW&\007D\000\000\000\000\000\000\003FX\016\000\000\000\000\000\000\007L\b4\000\000\b@\000\000\021\130\002\220J\244\007Z\019\220\000\000X(J\244\007~\019\220\000\000\000\000\000k\bn\000\000\000\000\000\000\002,\000\000\000\000\026\160\007\152\000\000\007\154Tz\000\000\000\000\000\000\000\000\000\000\000\000PD\000\000\000\000PD\000\000\000\000PD\000\000Tz\000\000\000\000K~\000k\000\000\021R\021R\000\000\004\186\025\144\021R$\000?4\000\000?4\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%V?4=\214?4\007\200?4\000\000?4`d?4aP?4a\192?4b\018?4bR?4b\210?4\000\000?4c\018?4cd?4c\212?4\000\000?4d&?4df\004\198\022\188\000\000\000\000\005\144\024&\000\000\000\000\000\000\000\000\007\160\000\000?4\007\160\000\000\000\000\000k\000\000\000\000\000\000\000\000\007\178\000\000\000\000\000\000\000\000\000\000\000\000\007\182\000\000\000\000\000\000\007\182\000\000\000\174P\194\bt?4\bB\000\000\000\000Tz\000\174\000\000\007\200\000\000\007\204?4\000\000\026\160\007\206\000\000\000\000\b\170\000\000\026\160\007\222\000\000\000\000\026\160\007\224\000\000\000\000\007\222\000\000\000\000\0005\000\000\b\208\000\000X@J\244\007\230\019\220\000\000\000\000\bp\000\000\007\242\019\220\000\000\000\000\002.\030\002\000\000\030\002\000\000\007\228\000\000\002.\000\000\017\134'\148\019\182\000\000\0066\019\182\000\000\019\182\019\182\000\000\000\000\019\182\000\000\019\182\000\000\b.\b\\\019\182\000\000\019\182\000\000\019\182\000\000\019\182\000\000\006\220\019\182\000\000\019\198\019\182\000\000\000\000\019\182\000\000\019\182\000\000\b2\b`\019\182\000\000\019\182\000\000\019\182\000\000\019\182\000\000L&\019\182\000\000\000\000\019\182\000\000\019\182\000\000\004\002\004x\b\n\019\182\000\000\019\214\004x\b\014\019\182\000\000\000\000\019\182\000\000\019\182\000\000\019\182\000\000\bD\br\019\182\000\000\030\002\b\"\000\000\019\220J\244\b\"\019\182\000\000\000\000\000k\000\000\001F\000k\000\000\000\000\000\000\t\022\000\000\004>J\244\b,\019\182\000\000L&J\244\b8\019\182\000\000\000\000\022\236\019\182\000\000\007\150\019\182\000\000LP\019\182\000\000\000\000\019\182\000\000\019\182\000\000\bh\b\150\019\182\000\000\019\182\000\000\019\182\000\000\019\182\000\000\bR\019\182\000\000L\158\019\182\000\000\000\000\019\182\000\000\019\182\000\000\bp\b\158\019\182\000\000\019\182\000\000\019\182\000\000\019\182\000\000L\198\019\182\000\000\000\000\019\182\000\000\019\182\000\000\005\178\004x\bF\019\182\000\000L\158\004x\bH\019\182\000\000\000\000\019\182\000\000\019\182\000\000\019\182\000\000\bz\b\168\019\182\000\000L\214J\244\bP\019\182\000\000\000\000\006bJ\244\bR\019\182\000\000L\228J\244\b\\\019\182\000\000\000\000\000\000\000\000\000\000\000\000\t6?4\bv\030\b\b\246\000\000\t@?4\b\132\tL:\232\000\000\000\000\000\000!\164\000k\000\000\000\172?4:\206\000\000Q\026\026\160\b\144\000\000\000\000?4\b\148\000\000\026\160\b\148\000\000\b\154[\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000PD\000\000\000\000PD\000\000\000\000PD\000\000[\170\000\000\000\000`\204\000k\000\000\021R\b\158\000\000?4\b\164\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\000\000\000?4\002@?4\b\168\000\000\000\000:\206:\206\"b\003\138\th?4\000\000\t0\000\000\000\000\000k\000\000#\132\000\000\b\230:\206\000\000\b\226:\206\000\000\000\174\000\000\000\000d\230?4e&?4e<?4e\162?4f\018?4f(?4f~?4f\234?4\000\000?4g<?4g\162?4g\184?4\000\000?4h4?4hV\003\144;v\000\000\004\220<\138:\206\000\000\004\230<\000\000\000\000\000\000\000\b\184\000\000\000\000\b\186\000\000\t\168\000\000\000k\000\000\000\172\t\172\000\000\001\152\t|\000k\b\204\t\150W&\b\214\005\024\000\000?4\t\190\000\000\003z\004(\t\192W&\b\254\t\244\000\000\000\216?4\t\246\000\000\t\248\000\000\021\130\000k\002\220?4\t\250\000\000\t\252\000\000\000k\002\230?4\n\000\000\000\n\002\000\000\000\t\tH\007L\000\000Q\152\026\160\t \000\000\000\000?4\000\000\n\b\000\000\001t\t\222?4\t\166\000\000\t\230?4\t\172\000\000\000\198\000\000\007L\007L\026\160\t0\000\000\t:\\\002\\\002\000\000\000\000\000\000\000\000\000\000\000\000PD\000\000\000\000PD\000\000\000\000PD\000\000\\\002\000\000\000\000'\148\000k\000\000\021R\t<\000\000?4\t>\000\000\000\000\000k\000\000\000\000\000\000\000\000\000\000=*?4\000\000?4\000\000\tF\000\000\000y\000\000\000\000\000\000\000\000\000\000?\230?4@H?4\tp?4\000\000?4AJ?4A\172?4B\174?4C\016?4D\018?4Dt?4\000\000?4Ev?4E\216?4F\218?4\000\000?4G<?4H>\000\000\001t\000\000\001t\000\000\017\134\007L\007L\000\000\000\000\000\000\000\000\000\000\000\000\n\022?4\tR\030\b\030\224\000k\n:\000\000\n\028J\210\nBJ\210\nF?4\tb\030\b\030\b\006b\006b\005\206\002\202\006b\000\000\000\000\005\218\007\016\000\000\005\228\b\152\000\000\000\000\000\000\000\000\000\000\tf\000\000\000\000\nN\000\000\nP\000\000\000\000\n\140\n4?4\tt\n^\000\000\nB\021R\t~\030\b\000\000\000\000\t\170\000\000\000.\000\000\005\214\000\000\000\000\001t\000\000\n\000\000\000\r$\000Q\000\000\r$\000\000\000\000#\132\000\000\0018\000\000\000\000\n8\000\000\r$\000\000\nL\021R\t\138\nx\000\000\001\168\000\000\nH\000k\t\150\nlW&\t\168\006T\000\000?4\n\154\000\000\n|W&\t\184\n\166\000\000\002\248?4\n\168\000\000\n\170\000\000\021\130\000k\003\000?4\n\172\000\000\n\174\000\000\000\000\000\000\n8\000\000\000\000\000.\000\000\007L\000\000\003\022\000\000\000\000\003`\030\224\000\000\003`\000\000\000\000\t\204\000\000\003\144\000\003\030\b\000\000\004`\000Q\004`\000\000\000.\000\000\007L\000\000\007L\000\000\000\000\000\000\t\198\000\000\000\000\t\208\000\000\005\184\005\214\000M\004`\000\000\000\000\000\000\002\014\000\000\007L\000\000\005\184\000\000\000\000\005\180\b\184\017\134\000\000\018D\000\000\b\194\017\134\000\000\000\000\b\194\000\000\000\000\t\206\000\000\000\000\t\216\000\000\006P\007L\000\000\006P\000\000\000\000\nV\000\000\000.\000\000\007L\000\000\000\000\000\000\018\240M\184\000\000\n\200\000\000\018\240\000\000\n\208\000\000\n\210\000\000!\164\000k\006\142\000\000?4\n\216\000\000\001\204\n\172\000k\t\250\n\194W&\t\254\007\014\000\000?4\n\230\000\000\007\016\000\000?4\n\232\000\000\021\130\000k\007&\000\000?4\n\234\000\000\006Z\018\240\000\000#\132\007L\000\000?4\n\236\000\000\000\000\000\000\005F\000\000\n\206\021R\n\n\n\244\000\000\007*\000\000\n\196\000k\n\020\n\220W&\n\024\007Z\000\000?4\011\004\000\000\007f\000\000?4\011\b\000\000\021\130\000k\007\128\000\000?4\011\n\000\000\006Z\000\000\000\000\n*\000\000\005F\007*\n\170\000\000\000\000\000\000\n\172\000\000\000\016\000\198\000\000\017\134\011\006\000\000\000\000?4\n`\007L\000\000\n2\000\000\000\t\000\000:\232\000\000\000\000\002>\017\134\000\000\017\134\000\000\n\"\000\000\002>\000\000?4\003\180?4\000\000?4\000\000\n$\000\000\003\180\000\000?4\003\180\n(\000\000\030\b\004&\030\b\000\000\030\b\000\000\n,\000\000\004&\000\000?4\003\180\n2\000\000:\232\004\222:\232\000\000:\232\000\000\n4\000\000\004\222\000\000?4\003\180\nV\000\000\000\000\029\\\000\000\000\000\n\220H\178\000\000\000\000\000\000\000\000\000\000\n\176\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\002\222H\178\000\000\002\240\004\238\000\000\n\178\000\237\000\000\000\000\000\000\000\149\004\238\000\000\000\000\000\000\000\000\011\016\000\000\000\000\000\000\000\000\"b$\250\000\000\\\182\000\000H\178\000\000\006@H\178\000\000\003^\005,\005,\000\000\0066\005,\000\000\n\138\000\000\000\000\000\000\000\000\011\022\000\000&L\000\000'\148H\178\000\000\000{H\178\000\000\011\028\000\000H\178\011\030\000\000^\142I\160\011&\000\000\011(\000\000^\250R^I\160\000\000\000\000\n\162H\178\0110\000\000\0114\000\000\0116\000\000\030\002\000\000\006\194\030\002\000\000\n\176\019\182\000\000\0032H\178\000\000\006\244H\178\000\000\003r\011\184\000\000\011\186\000\000H\178H\178\n\182\000\000\000\000\000\000\000\000\000\000\000\000\011D\000\000_\200H\178\011H\000\000\011J\000\000H\178\011L\000\000H\178\n\242\000\237\000\000\000\000\007\012H\178\000\000\003r\000\000\011P\000\000H\178\011R\000\000H\178\011T\000\000N\140\019\182\000\000\019\182\000\000I\160I\160\n\206H\178\011Z\000\000\011\\\000\000\019\182\000\000]\014\000\000\000\000\007\022H\178\000\000\004>\006B\005,\n\212\000\000\000\000\005 \000>\000\000\000\000\000\000\006\210\000>\000\000\n\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\178\000\000\007^H\178\000\000\000\003\007h\000\237\n\216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011d\000\000\011f\000\000H\178\011h\000\000`\026H\178\011n\000\000\011p\000\000H\178\011r\000\000\028\n\011\028\031\216\019\198]\220\n\242\000\000H\178\011|\000\000\011\128\000\000\011R\028\nH\178\011\140\000\000H\178\011\142\000\000\011\144\000\000H\178\011\152\000\000\000\237\011\n\000\000\000\000\029\\\000\000\000\000\002\144\011\252\000\000\000\000\000\235\000\000\000\000\000\000?4\000\000\000\000\000\000\002\234\000\000\004\030\000\000\000\000\000\000\004`&\242&\242&\242\000\000\000\226\000\226\000\226\000\226\000\000\000\000\000\000\000\000\000\000\000\000\001t\017\134\011\252\014\154\000Q\000\000\000\000\0018\000\000\n8\000\000:\206\011&\000\000\001t\017\134\011,\016\016\000\000\001t\014\154\000\000\000\000\000\000J\244\014\230\000\000\000\000\000\000\011z\003\016\011\250Y\182Y\182\000\000\006v^\134Y\182\006\220Y\230\000\000\000\000\005\202\011\234\000k\000\000\007\006Z\160\000\000\000\000\000\000\000\000\000\000\0118\011\248\007L\0116\000\000\0018\000\000\n8\000\000\n\132\005\014\000\000\000\000\011\228\000\000\000\000\002\144\000\000\005R\000\000\000\000\000\000?4\000\000\002\234\000\000\005\198\000\000\000\000\000\000\005\214\000\000\011\174\002\218\011\174\000\000\007L\011\174\000\000\002\218\000\000\007L\000\000\007L\000\000\007L\000\000\n\132\000\000\000\000\000\000\000\000\000\000\007L\000\000\002\218\000\000\007L\000\000\rp\000\000\000\000\b\194\011j\000\237\005 \012\012\001X\000\000\001X\0124\000\000\0126\000\000\012<\000\000\000\000\001l\001X\006l\001X\000\000\000\000\002\n\004\022\011<\000\000\011F\000\000\011\134\000\237\004\022\011N\000\000\003\180\012R\000\000\004\022\007\226\012f\005\162\012f\000\000\000\000\004\250\000\237\000\000\000\229\000\000\000\000\003\218\000\000\011V\000\000\000\000\000\000\011\152\000\237\004\022\011^\000\000\000\000\003\180\004\022\007\226\004\250\000\229\003\218\011`\000\000\004\022\007\226\004\250\000\229\003\218\011b\000\000\005\144\000\164\011~\000\237\011x\b2\b0\011\162\000\237\000\000\011\164\000\237\000\000\012\002\000\000\011\136\b.\011\130\b2\012\b\000\000\011\134\b2\012\014\000\000\000\000\b2\000\000\012\016\000\000"), (16, "\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\000\n\rm\rm\rm\rm\rm\rm\rm\rm\rm\rm\030\178\001:\004~\015\210\rm\015\210\005-\030\182\006\157\rQ\n\218\rm\017^\rm\017^\025V\025^\rm\rm\026V\rm\001B\r\017\rm\005\157\0007\000;\002N\rm\rm\rm\000N\t\134\022\182\022\222\022\238\023\022\023&\023N\rm\027\191\027\195\rm\rm\005-\027\199\014!\004\174\rm\rm\004\182\rm\004\198\rm\000\n\026\194\000&\018v\rm\004\206\rm\rm\rm\rm\rm\001J\015\210\024\018\rm\rm\rm\rQ\rm\rm\rm\017^\000*\rm\rm\rm\rm\rm\t\245\001B\024\178\rm\rm\018\134\006\245\018\134\004\214\r\017\000\150\031.\012\225\012\146\rm\rm\rm\006\157\012\150\rm\rm\rm\rm\028\n\rm\012\154\rm\014!\005\157\rm\012\158\028\014\rm\rm\000\n\014!\014!\006\157\012\241\015\250\014!\006\157\004\230\019\190\rm\r\t\r\t\rm\026r\007\029\015\162\rm\rm\rm\rm\005\t\000\n\rm\r\182\rm\012\241\022f\t\245\rm\rm\rm\006\165\rm\018\134\rm\rm\022N\rm\015\254\rm\rm\0066\000\154\rm\rm\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\001Z\007%\007%\007%\007%\007%\007%\007%\007%\007%\007%\000\006\000\"\000\n\018v\007%\015\214\015\230\015\246\005\234\005\t\rI\007%\015\210\007%\030\018\004\189\005\t\007%\007%\000\242\007%\017^\004\189\007%\012\234\006\181\020\186\b\166\007%\r\246\007%\001^\001B\020\190\r\t\030\022\001b\020\194\005i\007%\001f\030:\030\026\006\014\014\234\r\t\015N\tA\007%\007%\007\029\r\t\r\t\007%\007%\014!\000\246\001j\007%\018\234\007%\007%\007%\007%\007%\000\n\014\234\015\002\007%\007%\007%\022:\007%\007%\007%\018\238\000\022\007%\007%\007%\007%\007%\001N\r\t\004\145\007%\007%\002\146\r\t\r\t\001\150\015.\002\158\021\014\000.\002\146\018\134\007%\007%\015.\002\158\007%\007%\007%\007%\002&\007%\030\"\007%\001B\018v\007%\006\026\002\146\007%\007%\t1\015.\002\158\015\210\030:\n\226\tf\005v\000\n\001B\014!\014!\017^\007%\022\150\014!\000\n\007%\007%\007%\007%\001z\005\157\007%\030*\007%\000\n\001B\030J\007%\007%\007%\006\189\006\189\000\n\007%\007%\004\150\007%\030B\007%\007%\000\n\007E\007%\007%\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\000\n\007E\007E\007E\007E\007E\007E\007E\007E\007E\007E\b\241\004\145\tn\007E\007E\001\134\007E\004\145\004\145\001\182\022\158\007E\b\221\007E\027\174\007E\018\134\007E\007E\004\145\007E\001\202\001\246\007E\007E\018v\012\241\007E\007E\007E\007E\012\241\007E\007E\015\210\001\250\007E\005\157\017\230\007E\012\241\r\190\007E\017^\012\241\004\145\006\154\030B\007E\007E\007E\007E\006\237\007E\002\030\018\234\0026\001B\007E\027\174\007E\007E\007E\007E\007E\r\202\001B\006\197\007E\007E\007E\018\238\007E\007E\007E\006\221\r9\007E\007E\007E\007E\007E\001\146\025V\025^\012M\007E\r\222\002\146\b\237\000\n\002\146\002\154\002\158\007E\015.\002\158\007E\007E\000\n\007E\007E\007E\007E\007E\005\213\007E\019\142\007E\007E\005I\007E\001\162\024f\007E\007E\018v\015n\018\134\002m\019\154\005\185\015\138\025f\005\213\000\n\007E\023\242\000\n\007E\022\190\0192\b\213\007E\007E\019R\007E\014\234\023\230\007E\007U\007E\014\234\t\217\004~\007E\025>\012M\n\025\n\025\t\253\014\234\007E\n\025\007E\014\234\007E\007E\003\162\004\141\007E\007E\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\023v\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\022\246\023z\026V\006n\012\162\005\209\nb\002\157\004R\005\213\022\198\012\178\023~\001\234\023\130\007U\004n\002R\012\186\007\021\015\170\005\181\023\134\015\174\005\209\t\253\001B\005I\001\242\005\213\015\194\023\146\030~\005I\005I\023\150\n\254\004\197\026j\002b\014\162\023\154\028.\006\245\004\197\005I\005I\b\249\017r\016\006\028Z\028f\030\190\017v\019\202\004v\001B\023\158\002\134\000\n\002\138\005y\002\006\018~\017~\t\237\001>\022\254\016\030\002\146\017\130\005I\016\"\r\214\002\158\006\213\004\141\016&\016*\012\206\012\210\016.\004\141\004\141\023\162\001B\017\134\023\166\004\218\000\n\0065\023\246\023.\006.\004\141\030\n\005\209\r>\0162\023\250\023\170\017\138\017\142\0166\017\146\023\174\000\n\023\178\017\166\023\182\023\186\005U\023\190\029/\017\178\016>\005\209\001B\000\n\023\194\004\141\0293\023\198\027\231\027\235\015\030\028z\t\237\027\239\017\210\023\138\0296\006\229\017\214\018\"\005y\012\214\023\202\001F\016B\004\222\018&\023\206\023\210\024\006\016J\005y\005y\021\154\026n\000\n\005y\018.\005.\016N\024j\007M\007M\0052\0236\002\214\007M\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\004~\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\005~\003\229\007V\007=\012\162\003\229\b\181\026r\b\030\007=\007=\012\178\b\165\001\234\031*\000\n\018\234\002R\012\186\014\174\015\170\030\166\005\002\015\174\014\190\005\n\t\t\005\026\001\242\015\"\015\194\002}\018\238\t\154\005\"\011\254\t\162\006\205\t\178\002b\001>\030\n\015\210\028\218\004\150\t\186\020\014\007=\017r\016\006\028Z\017^\002\146\017v\020\018\001B\015.\002\158\002\134\001B\002\138\005\137\002\006\018~\017~\005*\004\141\001B\016\030\002\146\017\130\000\n\016\"\r\214\002\158\006\245\t\194\016&\016*\012\206\012\210\016.\023\138\005\146\004\137\018\130\017\134\012\217\000\n\000\n\029O\029S\000\n\012\217\012\217\029W\019\n\r>\0162\005:\000\n\017\138\017\142\0166\017\146\012\217\000\n\026Z\017\166\b.\t\210\005U\001F\002M\017\178\016>\t\238\005\186\030\150\t\246\004\137\n\006\020\142\012j\017\218\020\250\018\134\021n\n\014\017\210\006\237\012\217\006\253\017\214\018\"\rA\012\214\b\225\003\229\016B\017\226\018&\003\229\001B\b\209\016J\017\246\005\137\029o\029s\b\193\018\002\018.\029w\016N\002]\007]\007]\005\190\n\022\002\214\007]\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\n\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\019\014\004\137\021*\021>\012\162\024v\n&\004\137\004\137\017\222\024Z\012\178\r\001\001\234\021Z\005\210\021\182\002R\012\186\004\137\015\170\007\005\0116\015\174\017\218\011>\007\r\011N\001\242\020\254\015\194\004\229\021\186\021~\011V\001>\004\137\028\190\r)\002b\021\214\t%\015\210\001B\004\150\004\137\021\234\030B\016\002\016\006\r1\017^\002\146\017v\001B\r\025\015.\002\158\002\134\022\006\002\138\005\165\002\006\017z\017~\011^\005\238\026\198\016\030\002\146\017\130\005\246\016\"\r\214\002\158\025&\000\n\016&\016*\012\206\012\210\016.\012\233\026\130\030\142\014)\017\134\000\n\028\202\000\n\012\249\r!\t\021\021.\021B\005\250\017\222\r>\0162\011n\025J\017\138\017\142\0166\017\146\021^\000\n\001F\017\166\028\234\0062\005U\025\206\002\141\017\178\016>\011\138\026J\b\197\011\146\000\n\011\162\031B\031j\021\130\006:\018\134\006J\011\170\017\210\006\237\021\218\002q\017\214\018\"\005\165\012\214\021\238\006R\016B\031>\018&\031N\006V\006^\016J\005\165\005\165\006\130\006\134\022\n\005\165\018.\026\182\016N\006\142\n!\n!\006\162\011\178\002\214\n!\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\006\182\001&\006\202\001.\012\154\0016\001\214\001\222\001\226\012\158\006\234\006\242\0075\007\170\bF\012\162\bR\011\194\0075\0075\005I\031\147\012\178\br\001\234\b\142\b\158\b\174\002R\012\186\0075\015\170\b\182\b\206\015\174\bm\b\214\b\230\029\254\001\242\bu\015\194\b\242\000\n\017\218\b\254\t\014\t\026\015\210\bm\002b\t.\t>\015\210\bu\tN\0075\017^\tV\016\002\016\006\t{\017^\001B\017v\t\198\t\202\n\026\n\030\002\134\nj\002\138\n~\002\006\017z\017~\n\166\n\170\n\186\016\030\002\146\017\130\n\202\016\"\r\214\002\158\n\246\011\006\016&\016*\012\206\012\210\016.\011\026\011b\011f\000\n\017\134\011\182\011\186\012\006\012\026\bm\012B\012F\012Z\012r\bu\r>\0162\030f\012\134\017\138\017\142\0166\017\146\017\222\000\n\012\166\017\166\030z\012\174\012\182\012\190\005I\017\178\016>\030\210\012\198\030~\005I\005I\018\134\012\202\r\002\r\018\r\030\018\134\002a\r&\017\210\r\134\005I\005I\017\214\018\"\r\146\012\214\r\198\r\226\016B\r\238\018&\014\n\014\022\bm\016J\014\210\014\222\014\230\bu\014\250\015\006\018.\015\014\016N\015\018\bm\005I\015\026\015*\002\214\bu\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\015:\001&\015B\001.\012\154\0016\001\214\001\222\001\226\012\158\015F\015V\015^\015v\015~\012\162\015\146\015\154\015\166\015\186\015\206\015\218\012\178\015\226\001\234\015\234\015\242\016\014\002R\012\186\012\146\015\170\016\022\016v\015\174\012\150\016\130\016\186\016\234\001\242\028\n\015\194\012\154\017\150\017\158\017\174\017\182\012\158\028\014\017\190\002b\017\198\017\206\015\210\018\030\018*\0182\018>\018B\016\002\016\006\018J\017^\018N\017v\018V\018^\018n\018\146\002\134\018\214\002\138\018\222\002\006\017z\017~\018\226\018\242\018\250\016\030\002\146\017\130\018\234\016\"\r\214\002\158\018\254\019\006\016&\016*\012\206\012\210\016.\019\022\019\030\019&\014)\017\134\018\238\019*\019:\019B\019Z\019b\019\178\019\250\020\006\020z\r>\0162\020\134\020\166\017\138\017\142\0166\017\146\020\210\000\n\002\146\017\166\020\226\020\234\015.\002\158\021\006\017\178\016>\021\018\021\026\021\030\021&\0216\021J\021f\021\138\021\162\021\170\018\134\021\174\021\190\017\210\021\198\021\202\021\210\017\214\018\"\021\226\012\214\021\246\022\018\016B\022&\018&\0226\022F\000\n\016J\022^\022n\022z\005i\022\171\022\211\018.\022\235\016N\023\011\014)\014)\023#\023C\002\214\014)\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\023[\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\023r\023\142\023\254\024+\012\162\024\130\024\151\b5\b5\024\191\024\203\012\178\b5\001\234\024\219\024\227\024\254\002R\012\186\025\007\015\170\025\015\025\023\015\174\0252\025Z\025b\025r\001\242\025\143\015\194\025\159\025\167\025\179\025\190\025\227\025\239\025\251\026\030\002b\026'\026/\026b\026\142\026\206\026\239\026\247\027\003\017r\016\006\027\019\027\027\027'\017v\029\134\0272\027B\027O\002\134\027W\002\138\027^\002\006\018~\017~\027k\027w\027\127\016\030\002\146\017\130\027\139\016\"\r\214\002\158\027\151\027\178\016&\016*\012\206\012\210\016.\028:\028b\028r\028\166\017\134\028\174\028\222\029\006\029\n\029\018\029;\030\002\030\014\030\030\030&\r>\0162\030.\030[\017\138\017\142\0166\017\146\030c\000\n\030j\017\166\030w\030\130\005U\030\146\030\199\017\178\016>\030\214\030\227\031\007\031#\0312\031:\031F\031R\031_\031f\031n\031w\031~\017\210\031\135\031\155\000\000\017\214\018\"\000\000\012\214\000\000\000\000\016B\000\000\018&\000\000\000\000\000\000\016J\000\000\000\000\000\000\000\000\000\000\000\000\018.\000\000\016N\000\000\n\005\n\005\000\000\000\000\002\214\n\005\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\000\000\000\000\000\000\000\000\012\162\000\000\000\000\000\000\000\000\000\000\000\000\012\178\000\000\001\234\000\000\000\000\000\000\002R\012\186\012\146\015\170\000\000\000\000\015\174\012\150\000\000\000\000\000\000\001\242\028\n\015\194\012\154\000\000\000\000\000\000\000\000\012\158\028\014\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017r\016\006\000\000\000\000\000\000\017v\018\154\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\018~\017~\000\000\000\000\000\000\016\030\002\146\017\130\018\234\016\"\r\214\002\158\000\000\000\000\016&\016*\012\206\012\210\016.\000\000\000\000\000\000\014\005\017\134\018\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\002\146\017\166\000\000\000\000\015.\002\158\000\000\017\178\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\017\210\000\000\000\000\000\000\017\214\018\"\000\000\012\214\000\000\000\000\016B\000\000\018&\000\000\000\000\000\n\016J\000\000\000\000\000\000\005i\000\000\000\000\018.\000\000\016N\000\000\014\005\014\005\000\000\000\000\002\214\014\005\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\000\000\000\000\000\000\000\000\012\162\000\000\000\000\nQ\nQ\000\000\000\000\012\178\nQ\001\234\000\000\000\000\000\000\002R\012\186\012\146\015\170\000\000\000\000\015\174\012\150\000\000\000\000\000\000\001\242\028\n\015\194\012\154\000\000\000\000\000\000\000\000\012\158\028\014\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017r\016\006\000\000\000\000\000\000\017v\028>\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\018~\017~\000\000\000\000\000\000\016\030\002\146\017\130\000\000\016\"\r\214\002\158\000\000\000\000\016&\016*\012\206\012\210\016.\000\000\000\000\000\000\000\000\017\134\015\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\002\146\017\166\000\000\000\000\015.\002\158\000\000\017\178\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\017\210\000\000\000\000\000\000\017\214\018\"\000\000\012\214\000\000\000\000\016B\000\000\018&\000\000\000\000\000\n\016J\000\000\000\000\000\000\005i\000\000\000\000\018.\000\000\016N\000\000\014Q\014Q\000\000\000\000\002\214\014Q\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\000\000\000\000\000\000\000\000\012\162\000\000\000\000\000\000\000\000\000\000\000\000\012\178\000\000\001\234\000\000\000\000\000\000\002R\012\186\000\000\015\170\000\000\000\000\015\174\000\000\000\000\000\000\000\000\001\242\000\000\015\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017r\016\006\000\000\000\000\000\000\017v\028>\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\018~\017~\000\000\000\000\000\000\016\030\002\146\017\130\000\000\016\"\r\214\002\158\000\000\000\000\016&\016*\012\206\012\210\016.\000\000\000\000\000\000\000\000\017\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\000\000\017\166\000\000\000\000\000\000\000\000\000\000\017\178\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\017\210\000\000\000\000\000\000\017\214\018\"\000\000\012\214\000\000\000\000\016B\000\000\018&\000\000\000\000\000\000\016J\000\000\000\000\000\000\000\000\000\000\000\000\018.\000\000\016N\000\000\014M\014M\000\000\000\000\002\214\014M\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\000\000\000\000\000\000\000\000\012\162\000\000\000\000\000\000\000\000\000\000\000\000\012\178\000\000\001\234\000\000\000\000\000\000\002R\012\186\000\000\015\170\000\000\000\000\015\174\000\000\000\000\000\000\000\000\001\242\000\000\015\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017r\016\006\000\000\000\000\000\000\017v\020F\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\018~\017~\000\000\000\000\000\000\016\030\002\146\017\130\000\000\016\"\r\214\002\158\000\000\000\000\016&\016*\012\206\012\210\016.\000\000\000\000\000\000\000\000\017\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\000\000\017\166\000\000\000\000\000\000\000\000\000\000\017\178\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bm\000\000\000\000\000\000\018v\017\210\000\000\000\000\000\000\017\214\018\"\000\000\012\214\015\210\bm\016B\000\000\018&\000\000\000\000\000\000\016J\017^\000\000\000\000\000\000\000\000\000\000\018.\000\000\016N\000\000\000R\000V\000f\000\170\002\214\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\004\162\004\170\000\170\000\000\000\174\000\000\004\238\004\246\004\254\005B\bm\005J\005R\001\234\005b\000\000\005j\002R\005r\005\158\015\170\005\166\000\000\015\174\000\000\000\000\000\000\000\000\001\242\000\000\020\198\000\000\000\000\000\000\000\000\000\000\000\000\005\174\000\000\002b\018\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\020\214\016\006\000\000\000\000\005\182\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\bm\000\000\000\000\000\000\000\000\016\030\002\146\000\000\000\000\016\"\002\154\002\158\bm\000\000\016&\016*\012\206\020\218\016.\000\000\000\000\000\000\000\000\005\198\t\166\006\149\000\000\000\000\000\000\000\000\000\000\000\000\t\250\006\149\r>\0162\006\149\006\149\000\000\000\000\0166\006\149\000\000\000\n\006\149\006\149\006\149\000\000\006\149\000\000\006\149\000\000\016>\006\149\006\149\000\000\006\149\000\000\006\149\011\209\011\209\000\000\000\000\011\209\006\149\000\000\006\149\006\149\000\000\006\149\000\000\006\149\006\149\012\214\006\149\006\149\016B\006\149\020\222\006\149\006\149\000\000\016J\006\149\006\149\006\149\006\149\006\149\006\149\020\230\006\149\016N\000\000\006\149\000Z\000\000\006\149\002\214\006\149\011\209\000\000\006\149\000Z\000\000\006\149\nv\006\149\006\149\n\194\006\149\000Z\000\000\006\149\000Z\006\149\000\000\006\149\006\149\000\000\000\000\006\149\000\000\000\000\006\149\006\149\000\000\011\209\000\000\006\149\006\149\000\000\006\149\000\000\000\000\000\000\000\000\006\149\000\000\000\000\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\000\000\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\000\000\000\000\000\000\006\149\000\000\006\149\006\149\000\000\000\000\006\149\006\149\006\149\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\011\209\006\149\000\000\000\000\006\149\000\000\006\149\006\149\000\000\006\149\006\149\006\149\000\000\000\000\006\149\006\149\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\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\001\214\001\222\001\226\000\000\000\000\004\162\004\170\000\170\000\000\000\174\000\000\004\238\004\246\004\254\005B\000\000\005J\005R\001\234\005b\000\000\005j\002R\005r\005\158\002j\005\166\000\000\002n\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\174\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002\254\006\226\000\000\002~\005\182\000\000\007J\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006\246\002\146\000\000\000\000\006\250\002\154\002\158\000\000\007N\006\254\007\002\000\000\000\000\007\006\000\000\000\000\000\000\000\000\005\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\n\000\000\000\000\000\000\000\000\007\014\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\022\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\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\000\000\007\"\000\000\000\000\004\221\000\000\000\000\000\000\000\000\000\000\007&\000\000\000R\000V\000f\000\170\002\214\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\001\214\001\222\001\226\000\000\000\000\011*\0112\000\170\000\000\000\174\000\000\011v\011~\011\134\011\202\000\000\011\210\011\218\001\234\011\234\000\000\011\242\002R\011\250\012&\002j\012.\000\000\002n\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0126\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002\254\006\226\000\000\002~\012>\000\000\007J\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006\246\002\146\000\000\000\000\006\250\002\154\002\158\000\000\007N\006\254\007\002\000\000\000\000\007\006\000\000\000\000\000\000\000\000\012N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\n\000\000\000\000\000\000\000\000\007\014\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\022\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\000\000\007\"\000\000\000\000\b\169\000\000\000\000\000\000\000\000\000\000\007&\000\000\000R\000V\000f\000\170\002\214\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\001\214\001\222\001\226\000\000\000\000\000\000\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\234\000\000\000\000\000\000\002R\000\000\000\000\002j\000\000\000\000\002n\000\000\000\000\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\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002\254\006\226\000\000\002~\000\000\000\000\007J\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006\246\002\146\000\000\000\000\006\250\002\154\002\158\000\000\007N\006\254\007\002\000\000\000\000\007\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\007\n\000\000\000\000\000\000\000\000\007\014\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\022\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\000\000\007\"\000\000\000\000\002Q\000\000\000\000\000\000\000\000\000\000\007&\000\000\000R\000V\000f\000\170\002\214\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\001\214\001\222\001\226\000\000\000\000\000\000\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\234\000\000\000\000\000\000\002R\000\000\000\000\002j\000\000\000\000\002n\000\000\000\000\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\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002\254\006\226\000\000\002~\000\000\000\000\007Z\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\006\246\002\146\000\000\000\000\006\250\002\154\002\158\000\000\007N\006\254\007\002\000\000\000\000\007\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\007\n\000\000\000\000\000\000\000\000\007\014\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\007\022\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\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\007\026\000\000\000\000\000\000\000\000\000\000\007\"\000\000\000\000\b\185\001\234\000\000\000\000\000\000\002R\007&\000\000\002V\000\000\000\000\002Z\002\214\000\000\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\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002z\002v\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\002\006\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\000\000\002\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\000\000\000\000\000\000\002\174\000\000\000\000\000\000\000\000\002\178\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\190\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\000\000\000v\002\194\000\000\006\149\000\000\006\149\000\000\002\206\000\000\000\000\006\149\006\149\000\000\000\000\000\000\000\000\002\222\000\000\000R\t\142\t\150\000\170\002\214\000\174\000\000\t\218\t\226\t\234\n.\000\000\n6\n>\023v\nN\000\000\nV\000\000\n^\n\138\001\222\n\146\006\149\000\000\000\000\023z\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023~\n\154\023\130\000\000\000\000\000\000\006\149\000\000\000\000\000\000\023\134\000\000\000\000\000\000\000\000\000Z\027.\000\000\006\149\023\146\000\000\000\000\000\000\023\150\000\000\000\000\006\149\000\000\000\000\023\154\006\149\006\149\000\000\000\000\000\000\000\000\n\178\000\000\000\000\000\000\000\000\025\026\006\149\000\000\000\000\023\158\026:\000\000\000\000\000\000\n\190\000\000\000\000\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\023\162\000\000\000\000\023\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\023\170\000\000\000\000\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\006\149\000\000\000\000\006\149\006\149\000\000\023\194\006\149\000\000\023\198\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\000\000\000\000\023\202\000\000\000\000\000\000\000\000\023\206\023\210\001\133\001\133\001\133\001\133\000\000\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\023f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\001\133\001\133\000\000\000\000\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\000\001\133\000\000\000\000\000\000\001\133\000\000\000\000\023j\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\001\133\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\001\214\001\222\001\226\000\000\000\000\000\000\001\133\000\000\000\000\001\133\000\000\000\000\012\162\000\000\000\000\000\000\000\000\000\000\001\234\012\178\000\000\000\000\001\133\000\000\000\000\002R\012\186\001\133\015\170\001\133\000\000\015\174\001\133\001\242\023n\000\000\000\000\000\000\015\194\001\133\000\000\001\133\000\000\000\000\001\133\000\000\000\000\002b\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\017\162\016\006\000\000\001\133\001\133\017v\000\000\000\000\001\133\001\133\002\134\002\006\002\138\000\000\000\000\000\000\017~\000\000\000\000\024.\016\030\002\146\017\130\000\000\016\"\r\214\002\158\000\000\000\000\016&\016*\000\000\000\000\016.\000\000\000\000\000\000\000\000\017\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\000\000\017\166\000\000\000\000\000\000\012\162\000\000\017\178\016>\000\000\000\000\000\000\012\178\000\000\000\000\000\000\000\000\000\000\002R\012\186\000\000\015\170\017\210\000\000\015\174\000\000\017\214\018\"\000\000\000\000\000\000\015\194\016B\000\000\018&\000\000\000\000\000\000\016J\000\000\002b\000\000\000\000\000\000\000\000\018.\000\000\016N\000\000\016\026\016\006\000\000\000\000\002\214\017v\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\017~\000\000\000\000\000\000\016\030\002\146\017\130\000\000\016\"\r\214\002\158\000\000\000\000\016&\016*\000\000\000\000\016.\000\000\000\000\000\000\000\000\017\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r>\0162\000\000\000\000\017\138\017\142\0166\017\146\000\000\000\n\000\000\017\166\000\000\000\000\000\000\000\000\023v\017\178\016>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\241\023z\000\000\015\241\000\000\017\210\000\000\000\000\000\000\017\214\018\"\000\000\023~\000\000\023\130\016B\000\000\018&\000\000\000\000\000\000\016J\023\134\000\000\015\241\015\241\000\000\000\000\018.\015\241\016N\023\146\002\242\015\241\000\000\023\150\002\214\000\000\000\000\015\241\000\000\023\154\015\241\015\241\000\000\015\241\015\241\000\000\000\000\002\250\000\000\015\241\003\014\000\000\000\000\015\241\000\000\023\158\015\241\000\000\015\241\015\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\241\023\162\015\241\000\000\023\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\241\000\000\000\000\000\000\023\170\000\000\000\000\004V\000\000\023\174\0276\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\000\000\000\000\000\000\000\000\023\194\000\000\000\000\023\198\015\241\015\241\000\000\015\241\015\241\004Z\000\000\015\241\000\000\000\000\000\000\000\000\000\000\000\000\023\202\015\129\004b\000\000\015\129\023\206\023\210\015\241\000\000\000\000\015\241\015\241\015\241\015\241\015\241\000\000\000\000\000\000\015\241\015\241\015\241\000\000\015\241\015\241\015\241\015\129\015\129\000\000\000\000\000\000\015\129\000\000\000\000\002\242\015\129\000\000\000\000\000\000\000\000\000\000\015\129\000\000\000\000\015\129\015\129\000\000\015\129\015\129\000\000\000\000\002\250\000\000\015\129\003\014\000\000\000\000\015\129\000\000\000\000\015\129\000\000\015\129\015\129\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&\015\129\001.\015\129\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\015\129\000\000\000\000\000\000\000\000\000\000\000\000\004V\000\000\001\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\001\242\000\000\000\000\015\129\015\129\000\000\015\129\015\129\004Z\000\000\015\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004b\002\002\000\000\000\000\000\000\015\129\000\000\000\000\015\129\015\129\015\129\015\129\015\129\000\000\000\000\002\006\015\129\015\129\015\129\000\000\015\129\015\129\015\129\011\205\011\205\011\205\011\205\000\000\011\205\000\000\011\205\011\205\011\205\011\205\000\000\011\205\011\205\000\000\011\205\000\000\011\205\000\000\011\205\011\205\011\205\011\205\000\000\000\000\005\185\000\000\000\000\005\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\011\205\011\205\011\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\205\000\000\005\185\005\185\000\000\000\000\011\205\005\185\000\000\024>\005\185\005\185\000\000\024F\000\000\000\000\000\000\005\185\000\000\011\205\005\185\005\185\000\000\005\185\005\185\000\000\011\205\005\185\000\000\005\185\005\185\011\205\000\000\005\185\000\000\000\000\005\185\000\000\005\185\005\185\011\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\185\011\205\005\185\000\000\011\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\185\000\000\000\000\000\000\011\205\000\000\000\000\005\185\000\000\011\205\000\000\011\205\000\000\000\000\011\205\000\000\000\000\000\000\000\000\000\000\000\000\011\205\000\000\011\205\000\000\000\000\011\205\005\185\005\185\000\000\005\185\005\213\005\185\000\000\005\185\000\000\000\000\000\000\000\000\000\000\000\000\011\205\011\205\005\185\000\000\000\000\024\154\011\205\005\185\005\181\000\000\005\185\005\181\005\185\000\000\005\185\000\000\000\000\000\000\005\185\005\185\005\185\000\000\005\185\005\185\005\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\181\005\181\000\000\000\000\000\000\005\181\000\000\000\000\005\181\005\181\000\000\000\000\000\000\000\000\000\000\005\181\000\000\000\000\005\181\005\181\000\000\005\181\005\181\000\000\000\000\005\181\000\000\005\181\005\181\000\000\000\000\005\181\000\000\000\000\005\181\000\000\005\181\005\181\001\225\000\000\000\000\001\225\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\005\181\000\000\005\181\001\225\001\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\181\000\000\000\000\000\000\000\000\001\225\000\000\005\181\000\000\001\225\000\n\001\225\001\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\000\000\001\225\000\000\001\225\005\181\005\181\000\000\005\181\005\209\005\181\000\000\005\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\181\000\000\000\000\000\000\000\000\005\181\001\225\000\000\005\181\000\000\005\181\000\000\005\181\000\000\000\000\000\000\005\181\005\181\005\181\000\000\005\181\005\181\005\181\011\189\011\189\011\189\011\189\000\000\011\189\000\000\011\189\011\189\011\189\011\189\000\000\011\189\011\189\000\000\011\189\000\000\011\189\000\000\011\189\011\189\011\189\011\189\001\225\007b\000\000\001\225\000\000\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\000\000\011\189\011\189\011\189\000\000\000\000\000\000\000\000\001\225\000\000\000\000\011\189\001\225\001\225\000\000\000\000\000\000\011\189\000\000\007j\000\000\000\000\000\000\001\225\001\225\000\000\000\000\000\000\000\000\000\000\011\189\000\000\000\000\000\000\000\000\007\154\000\000\011\189\007\162\000\000\000\000\000\000\011\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\189\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\178\007\186\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\189\007\194\000\000\011\189\000\000\0025\000\000\007\202\007\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\189\007\218\000\000\000\000\007\226\011\189\007\234\011\189\000\000\000\000\011\189\000\000\000\000\000\000\000\000\000\000\000\000\011\189\000\000\011\189\000\000\000\000\011\189\000\000\000\000\000\000\000\000\000\000\000\000\007\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\189\011\189\000\000\000\000\000\000\024B\011\189\011\193\011\193\011\193\011\193\000\000\011\193\000\000\011\193\011\193\011\193\011\193\000\000\011\193\011\193\000\000\011\193\000\000\011\193\000\000\011\193\011\193\011\193\011\193\000\000\000\000\007\250\000\000\000\000\0025\000\000\000\000\000\000\b\002\000\000\000\000\000\000\000\000\011\193\011\193\011\193\000\000\000\000\000\000\000\000\000\000\000\000\0025\011\193\000\000\000\000\0025\0025\000\000\011\193\000\000\000\000\024\158\000\000\000\000\000\000\000\000\b\n\b\018\000\000\000\000\000\000\011\193\000\000\000\000\000\000\000\000\000\000\000\000\011\193\000\000\000\000\000\000\000\000\011\193\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\011\193\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\000\000\011\193\000\000\000\000\011\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\011\193\000\000\000\000\000\000\000\000\011\193\000\000\011\193\000\000\000\000\011\193\001\242\000\000\000\000\000\000\000\000\000\000\011\193\000\000\011\193\000\000\000\000\011\193\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\000\000\011\193\011\193\000R\t\142\t\150\000\170\011\193\000\174\002\006\t\218\t\226\t\234\n.\000\000\n6\n>\000\000\nN\000\000\nV\000\000\n^\n\138\001\222\n\146\000\000\000\000\015\213\000\000\000\000\015\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\166\n\154\024\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\206\000\000\015\213\015\213\000\000\000\000\n\162\015\213\005U\000\000\016f\015\213\000\000\000\000\000\000\000\000\000\000\015\213\000\000\024\230\015\213\015\213\000\000\015\213\015\213\000\000\n\178\016n\000\000\015\213\016z\025\026\000\000\015\213\000\000\000\000\015\213\000\000\015\213\015\213\n\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\000\000\000\000\000\015\213\025:\015\213\000\000\025\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\213\000\000\000\000\000\000\025\170\000\000\000\000\016\134\000\000\025\182\000\000\t\213\000\000\000\000\025\230\000\000\000\000\000\000\000\000\000\000\000\000\025\242\000\000\025\254\000\000\000\000\026\250\015\213\015\213\000\000\015\213\000\000\016\138\001\209\015\213\000\000\001\209\000\000\000\000\000\000\000\000\027\006\027\030\016\146\000\000\001\209\000\000\027*\001\209\000\000\000\000\015\213\000\000\015\213\000\000\000\000\000\000\001\209\001\209\015\213\015\213\015\213\001\209\015\213\015\213\015\213\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\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\003\022\000\000\001\209\001\209\000\000\000\000\001\209\000\000\000\000\000\000\000\000\001\209\003\030\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\001Y\000\000\000\000\001Y\004F\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\000\000\001Y\001Y\000\000\000\000\000\000\001Y\000\000\000\000\000\000\001Y\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001Y\001Y\000\000\001Y\001Y\000\000\000\000\001M\000\000\001Y\001M\000\000\000\000\001Y\000\000\000\000\003Z\000\000\003j\001Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\001M\000\000\000\000\000\000\001M\000\000\000\000\000\000\001M\001Y\000\000\001Y\000\000\000\000\001M\000\000\000\000\001M\001M\000\000\001M\001M\001Y\000\000\000\000\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\003Z\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\000\000\001Y\000\000\000\000\001Y\001Y\000\000\000\000\003b\000\000\001M\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Y\001M\000\000\001Y\001Y\001Y\001Y\001Y\000\000\000\000\000\000\000\000\001Y\001Y\000\000\001Y\001Y\001Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\000\000\001M\001M\000\000\001Q\003b\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\001M\000\000\000\000\001M\001M\001M\001M\001M\000\000\001Q\001Q\000\000\001M\001M\001Q\001M\001M\001M\001Q\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\001Q\001Q\000\000\000\000\001U\000\000\001Q\001U\000\000\000\000\001Q\000\000\000\000\003Z\000\000\001Q\001Q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001U\001U\000\000\000\000\000\000\001U\000\000\000\000\000\000\001U\001Q\000\000\001Q\000\000\000\000\003R\000\000\000\000\001U\001U\000\000\001U\001U\001Q\000\000\000\000\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\003Z\000\000\003j\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\001Q\000\000\000\000\001Q\001Q\000\000\000\000\003b\000\000\001U\000\000\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\001U\000\000\001Q\001Q\001Q\001Q\001Q\000\000\000\000\000\000\000\000\001Q\001Q\000\000\001Q\001Q\001Q\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\001U\001U\000\000\001e\003b\000\000\001e\000\000\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\001U\001U\001U\001U\001U\000\000\003J\003r\000\000\001U\001U\001e\001U\001U\001U\001e\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001e\001e\000\000\001e\001e\000\000\000\000\001]\000\000\001e\001]\000\000\000\000\001e\000\000\000\000\003Z\000\000\003j\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\003\130\000\000\001e\000\000\000\000\003R\000\000\000\000\001]\001]\000\000\001]\001]\001e\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\003Z\000\000\003j\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\001e\000\000\000\000\001e\001e\000\000\000\000\003b\000\000\001]\000\000\001]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001e\001]\000\000\001e\001e\001e\001e\001e\000\000\000\000\000\000\000\000\001e\001e\000\000\001e\001e\001e\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\003b\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\003J\003r\000\000\001]\001]\001a\001]\001]\001]\001a\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001a\001a\000\000\001a\001a\000\000\000\000\001i\000\000\001a\001i\000\000\000\000\001a\000\000\000\000\003Z\000\000\003j\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\001i\000\000\000\000\000\000\001i\003\130\000\000\001a\000\000\000\000\003R\000\000\000\000\001i\001i\000\000\001i\001i\001a\000\000\000\000\000\000\001i\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\000\000\000\000\001a\001a\000\000\000\000\003b\000\000\003\130\000\000\001i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001a\001i\000\000\001a\001a\001a\001a\001a\000\000\000\000\000\000\000\000\001a\001a\000\000\001a\001a\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\001i\001i\000\000\001q\003b\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\001i\000\000\000\000\001i\001i\001i\001i\001i\000\000\003J\003r\000\000\001i\001i\001q\001i\001i\001i\001q\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001q\001q\000\000\001q\001q\000\000\000\000\003\218\000\000\001q\001m\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\001m\000\000\000\000\000\000\001m\003\130\000\000\001q\000\000\000\000\003R\000\000\000\000\001m\001m\000\000\001m\001m\001q\000\000\000\000\000\000\001m\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\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\003\138\000\000\000\000\001q\001q\000\000\000\000\003b\000\000\003\130\000\000\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001q\001m\000\000\001q\001q\001q\001q\001q\000\000\000\000\000\000\000\000\001q\001q\000\000\001q\003\146\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\001m\001m\000\000\003\218\003b\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\001m\000\000\000\000\001m\001m\001m\001m\001m\000\000\003J\003r\000\000\001m\001m\001u\001m\003\146\001m\001u\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001u\001u\000\000\001u\003\226\000\000\000\000\003>\000\000\001u\003\154\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\186\003\194\000\000\000\000\000\000\002-\000\000\000\000\000\000\002-\003\130\000\000\001u\000\000\000\000\003\202\000\000\000\000\002-\002-\000\000\003\210\003\242\001u\000\000\000\000\000\000\002-\000\000\000\000\000\000\003\250\000\000\000\000\004\002\000\000\004\n\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\138\000\000\000\000\001u\001u\000\000\000\000\003b\000\000\004\018\000\000\002-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001u\002-\000\000\001u\001u\001u\001u\001u\000\000\000\000\000\000\000\000\001u\001u\000\000\001u\003\146\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\026\000\000\000\000\002-\002-\000\000\000\129\004\"\000\000\000\129\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-\000\000\000\000\003J\003r\000\000\002-\002-\000\129\004*\0042\002-\000\129\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000i\000\000\000\129\000i\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000i\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\003\130\000\000\000\129\000\000\000\000\003R\000\000\000\000\000i\000i\000\000\000i\000i\000\129\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\003Z\000\000\003j\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\003\138\000\000\000\000\000\129\000\129\000\000\000\000\003b\000\000\000i\000\000\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000i\000\000\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\000\000\000\129\000\129\000\000\000\129\003\146\000\129\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\000e\003b\000\000\000e\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\000\000\000\000\000e\000e\000\000\000i\000i\000e\000i\000i\000i\000e\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000]\000\000\000e\000]\000\000\000\000\000e\000\000\000\000\003Z\000\000\003j\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]\000e\000\000\000e\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000e\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\003Z\000\000\000]\000]\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\003b\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\000e\000e\000e\000e\000\000\000\000\000\000\000\000\000\000\000e\000e\000\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\003\218\003b\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000]\000]\000\000\000\000\003J\003r\000\000\000]\000]\000\137\000]\000]\000]\000\137\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\137\000\137\000\000\000\137\003\226\000\000\000\000\003\218\000\000\000\137\000}\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\000}\000\000\000\000\000\000\000}\003\130\000\000\000\137\000\000\000\000\003R\000\000\000\000\000}\000}\000\000\000}\000}\000\137\000\000\000\000\000\000\000}\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\000}\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\138\000\000\000\000\000\137\000\137\000\000\000\000\003b\000\000\003\130\000\000\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\137\000}\000\000\000\137\000\137\000\137\000\137\000\000\000\000\000\000\000\000\000\000\000\137\000\137\000\000\003\234\003\146\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\000}\000}\000\000\000u\003b\000\000\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\000\003J\003r\000\000\000}\000}\000u\000}\003\146\000}\000u\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000a\000\000\000u\000a\000\000\000\000\000u\000\000\000\000\003Z\000\000\003j\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\003\130\000\000\000u\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000a\000a\000u\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\003Z\000\000\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\000u\000\000\000\000\000u\000u\000\000\000\000\003b\000\000\000a\000\000\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000a\000\000\000u\000u\000u\000u\000\000\000\000\000\000\000\000\000\000\000u\000u\000\000\000u\000u\000u\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\000m\003b\000\000\000m\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\000\000\000\000\003J\003r\000\000\000a\000a\000m\000a\000a\000a\000m\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000q\000\000\000m\000q\000\000\000\000\000m\000\000\000\000\003Z\000\000\003j\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000m\000\000\000m\000\000\000\000\003R\000\000\000\000\000q\000q\000\000\000q\000q\000m\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\003Z\000\000\003j\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\000m\000\000\000\000\000m\000m\000\000\000\000\003b\000\000\003\130\000\000\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000q\000\000\000m\000m\000m\000m\000\000\000\000\000\000\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\000q\000\000\000\000\000q\000q\000\000\003\218\003b\000\000\000\133\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\000\000\000\000\003J\003r\000\000\000q\000q\000\133\000q\000q\000q\000\133\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\133\000\133\000\000\000\133\003\226\000\000\000\000\000y\000\000\000\133\000y\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\003\130\000\000\000\133\000\000\000\000\003R\000\000\000\000\000y\000y\000\000\000y\000y\000\133\000\000\000\000\000\000\000y\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\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\003\138\000\000\000\000\000\133\000\133\000\000\000\000\003b\000\000\003\130\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000y\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000\000\000\133\000\133\000\000\000\133\003\146\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\000y\000y\000\000\000\000\003b\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000y\000y\000\000\000y\000y\000y\000R\000V\000f\000\170\t\138\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\000\000\001.\012\154\0016\001\214\001\222\001\226\012\158\000\000\000\000\000\000\000\000\000\000\002R\000\000\000\000\012\242\000\000\000\000\012\246\000\000\000\000\001\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\002b\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\r\n\r\022\000\000\000\000\r\182\r\206\r\210\000\000\000\000\000\000\002\134\000\000\002\138\002\002\000\000\000\000\000\000\000\000\000\000\000\000\r*\002\146\000\000\000\000\r.\r\214\002\158\002\006\000\000\r2\r6\000\000\000\000\r:\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\012\206\012\210\000\000\000\000\000\000\r>\rB\000\000\000\000\002R\000\000\rF\012\242\000\000\000\n\012\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\rN\000\000\000\000\000\000\000\n\000\000\000\000\000\000\002b\006\181\000\000\r\218\000\000\r\246\000\000\000\000\000\000\r\n\r\022\000\000\000\000\r\182\r\206\r\210\rR\000\000\000\000\002\134\000\000\002\138\rZ\000\000\000\000\006\173\012\214\000\000\004\237\r*\002\146\r^\000\000\r.\r\214\002\158\006\173\002\214\r2\r6\000\000\006\173\r:\000\000\000\000\000\000\000\000\002R\000\000\000\000\012\242\000\000\000\000\012\246\000\000\000\000\000\000\000\000\r>\rB\000\000\000\000\000\000\000\000\rF\000\000\000\000\000\n\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\rN\000\000\r\n\r\022\000\000\000\000\r\182\r\206\r\210\006\181\000\000\r\218\002\134\r\246\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r*\002\146\rR\000\000\r.\r\214\002\158\000\000\rZ\r2\r6\000\000\000\000\r:\b\253\000\000\000\000\r^\002R\000\000\000\000\012\242\000\000\002\214\012\246\000\000\000\000\000\000\000\000\r>\rB\000\000\000\000\000\000\000\000\rF\000\000\000\000\000\n\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\rN\000\000\r\n\r\022\000\000\000\000\r\182\r\206\014\178\006\181\000\000\r\218\002\134\r\246\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r*\002\146\rR\000\000\r.\r\214\002\158\000\000\rZ\r2\r6\000\000\001\233\r:\002\129\001\233\000\000\r^\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\000\000\000\000\000\000\r>\rB\000\000\000\000\000\000\000\000\rF\001\233\001\233\000\n\000\000\000\000\001\233\000\000\000\000\000\000\001\233\000\000\rN\000\000\000\000\000\000\001\233\000\000\000\000\001\233\001\233\006\181\001\233\001\233\000\000\r\246\000\000\000\000\001\233\000\000\000\000\000\000\001\233\000\000\000\000\001\233\rR\001\233\001\233\000\000\000\000\000\000\rZ\000\000\000\000\000\000\000\000\000\000\t\r\000\000\000\000\r^\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\001\233\000\000\001\233\000\249\000\000\000\000\000\249\003\213\000\000\000\000\000\000\000j\003\213\001\233\000r\000\000\000\130\003\213\000\000\003\213\000\000\000\000\000\000\000\138\003\213\003\213\000\000\003J\003r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\016\166\003R\001\233\000\000\000\000\000\249\001\233\000\249\000\249\000\000\000\000\000\000\000\000\000\146\003\213\000\000\000\000\003z\003\213\000\000\003Z\000\000\003j\001\233\000\000\001\233\000\000\000\000\000\000\000\000\000\000\016\174\001\233\001\233\003\213\001\233\001\233\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\130\003\213\000\162\000\000\000\000\000\000\000\000\000\000\000\000\003\213\000\000\000\000\003\209\003\213\003\213\000\000\000\198\003\209\000\000\000\206\000\000\000\222\003\209\000\000\003\209\003\213\000\000\000\000\000\230\003\209\003\209\000\000\000\000\000\000\000\000\000\000\003\213\000\000\000\000\000\000\003\138\000\000\000\000\000\249\000\000\000\000\003\213\003b\000\000\000\000\000\000\003\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\238\003\209\000\249\000\000\000\000\003\209\000\249\000\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\249\003\146\000\000\000\000\003\209\000\000\000\000\000\000\003\213\000\000\000\000\003\213\003\213\000\000\000\000\003\213\003\209\000\254\000\000\000\000\003\213\003\213\000\000\000\000\003\209\003\213\000\000\000\000\003\209\003\209\000\000\000\000\000\000\002R\000\000\000\000\002V\000\000\000\000\002Z\003\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\198\000\000\003\209\000\000\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\003\209\000\000\000\000\002r\002v\003\209\002~\000\000\012\238\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\r\230\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\000\000\002\170\000\000\003\209\000\000\000\000\003\209\003\209\000\000\016\218\003\209\000\000\016\226\000\000\000\000\003\209\003\209\000\000\002\174\000\000\003\209\000\000\000\000\002\178\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\016\242\016\250\002\186\000\000\000\000\002=\000\000\000\000\000\000\002=\000\000\000\000\000\000\002\190\t\229\017\002\000\000\000\000\002=\002=\000\000\017\n\017\018\000\000\000\000\0015\002\194\002=\0015\000\000\000\000\017\026\002\206\000\000\017\"\t\229\017*\002=\000\000\000\000\000\000\002\222\000\000\000\000\000\000\000\000\000\000\002\214\000\000\003J\003r\000\000\000\000\000\000\0015\000\000\000\000\000\000\0015\0172\000\000\002=\000\000\000\000\003R\000\000\000\000\0015\0015\000\000\0015\0015\002=\000\000\000\000\000\000\0015\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\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\017:\000\000\000\000\002=\000\000\000\000\000\000\017B\000\000\003\130\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0015\000\000\002=\000\000\002=\000\000\000\000\000\000\000\000\000\000\000\000\002=\002=\000\000\017J\017R\002=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\0015\000\000\000\000\001\029\003b\000\000\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\0015\000\000\0015\000\000\000\000\000\000\001\029\001\029\000\000\0015\0015\001\029\0015\003\146\0015\001\029\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\001\025\000\000\001\029\001\025\000\000\000\000\001\029\000\000\000\000\003Z\000\000\003j\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\001\029\000\000\001\029\000\000\000\000\003R\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\029\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\003Z\000\000\003j\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\001\029\000\000\000\000\001\029\000\000\000\000\000\000\003b\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\001\017\003b\000\000\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\001\025\000\000\001\025\000\000\000\000\000\000\001\017\001\017\000\000\001\025\001\025\001\017\001\025\001\025\001\025\001\017\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\003\218\000\000\001\017\001=\000\000\000\000\001\017\000\000\000\000\003Z\000\000\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\001\017\000\000\001\017\000\000\000\000\003R\000\000\000\000\001=\001=\000\000\001=\003\226\001\017\000\000\000\000\000\000\001=\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\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\001\017\000\000\000\000\001\017\000\000\000\000\000\000\003b\000\000\003\130\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\001\017\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\001\017\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\001=\000\000\000\000\003\218\003b\000\000\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\001=\000\000\001=\000\000\000\000\000\000\003J\003r\000\000\001=\001=\0011\003\234\003\146\001=\0011\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\0011\0011\000\000\0011\0011\000\000\000\000\001)\000\000\0011\001)\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\003\130\000\000\0011\000\000\000\000\003R\000\000\000\000\001)\001)\000\000\001)\001)\0011\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\003Z\000\000\003j\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\003\138\000\000\000\000\0011\000\000\000\000\000\000\003b\000\000\003\130\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\0011\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\0011\0011\000\000\0011\003\146\0011\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\001\021\003b\000\000\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\001)\000\000\001)\000\000\000\000\000\000\001\021\001\021\000\000\001)\001)\001\021\001)\001)\001)\001\021\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\001!\000\000\001\021\001!\000\000\000\000\001\021\000\000\000\000\003Z\000\000\001\021\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\001\021\000\000\001\021\000\000\000\000\003R\000\000\000\000\001!\001!\000\000\001!\001!\001\021\000\000\000\000\000\000\001!\000\000\000\000\000\000\001!\000\000\000\000\003Z\000\000\003j\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\001\021\000\000\000\000\001\021\000\000\000\000\000\000\003b\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\001\021\001\021\001\021\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\001%\003b\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!\000\000\001!\000\000\000\000\000\000\003J\003r\000\000\001!\001!\001%\001!\001!\001!\001%\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\003\218\000\000\001%\0019\000\000\000\000\001%\000\000\000\000\003Z\000\000\003j\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\0019\000\000\000\000\000\000\0019\003\130\000\000\001%\000\000\000\000\003R\000\000\000\000\0019\0019\000\000\0019\003\226\001%\000\000\000\000\000\000\0019\000\000\000\000\000\000\003z\000\000\000\000\003Z\000\000\003j\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\001%\000\000\000\000\001%\000\000\000\000\000\000\003b\000\000\003\130\000\000\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0019\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\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\003\138\000\000\000\000\0019\000\000\000\000\001-\003b\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\0019\000\000\0019\000\000\000\000\000\000\003J\003r\000\000\0019\0019\001-\0019\003\146\0019\001-\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\001-\001-\000\000\001-\001-\023v\000\000\000\000\000\000\001-\000\000\000\000\000\000\003z\000\000\000\000\003Z\023z\003j\001-\000\000\000\000\000\000\000\000\025\186\000\000\000\000\000\000\023~\000\000\023\130\012%\012%\000\000\000\000\000\000\000\000\000\000\023\134\000\000\000\000\003\130\000\000\001-\023\138\000\000\000\000\023\146\000\000\000\000\000\000\023\150\000\000\000\000\001-\000\000\000\000\023\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025j\000\000\012%\000\000\023\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\001-\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012%\000\000\023\162\000\000\000\000\023\166\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\001-\001-\023\170\001-\001-\001-\000\000\023\174\000\n\023\178\023v\023\182\023\186\000\000\023\190\000\000\000\000\000\000\000\000\000\000\000\000\023\194\023z\000\000\023\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023~\000\000\023\130\000\000\000\000\000\000\023\202\011\249\000\000\000\000\023\134\023\206\023\210\012%\000\000\000\000\023\138\000\000\000\000\023\146\000\000\000\000\000\000\023\150\000\000\000\000\000\000\000\000\000\000\023\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\022\000\000\000\000\011\249\000\000\023\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\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\249\000\000\023\162\000\000\000\000\023\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\242\000\000\023\170\000\000\000\000\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\000\000\000\000\000\000\000\000\023\194\000\000\000\000\023\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\202\000\000\000\000\000\000\000\000\023\206\023\210\011\249\000R\000V\000f\000\170\000\000\000\174\012\146\000\178\000\186\000\194\001\006\012\150\001\014\001\022\000\000\001&\027\246\001.\012\154\0016\001\214\001\222\001\226\012\158\027\250\002R\000\000\000\000\002V\000\000\000\000\002Z\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\t\229\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\001\242\000\000\000\000\002r\002v\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\002\002\000\000\000\000\002\142\002\146\000\000\002\014\002\150\002\154\002\158\000\000\000\000\002\162\002\166\002\006\000\000\002\170\000\000\000\000\000\000\000\000\015\185\000\000\000\000\015\185\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\002\174\000\000\000\000\000\000\000\000\002\178\000\000\000\000\000\n\000\000\000\000\000\000\015\185\015\185\000\000\000\000\000\000\002\186\000\000\000\000\007>\000\000\000\000\000\000\000\000\000\n\000\000\015\185\002\190\000\000\005U\015\185\000\000\015\185\015\185\000\000\000\000\007F\000\000\000\000\bJ\002\194\000\000\015\185\000\000\002\022\015\185\002\206\015\185\000\000\000\000\000\000\t\229\000\000\000\000\000\000\002\222\000\000\000\000\000\000\nB\006\149\002\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\205\015\185\000\000\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011B\006\149\000\000\006\149\000\000\006\149\000\000\000\000\000\000\000\000\bV\000\000\000\000\006\149\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\006\149\000\000\006\149\000\000\006\149\000\000\000\000\000\000\015\185\015\185\006\149\015\185\006\149\bZ\000\000\015\185\000\000\011\150\006\149\000\000\000\000\006\149\011\018\000\000\bb\006\149\006\149\000Z\000\000\015\185\006\149\006\149\000\000\015\185\015\185\000\000\000\000\011\222\006\149\000\000\015\185\006\149\006\149\006\149\015\185\015\185\006\149\006\149\000Z\000\000\006\149\006\149\006\149\006\149\000\000\000\000\006\149\006\149\006\149\000\000\006\149\006\149\000\000\006\149\006\149\006\149\000\000\000\000\000\000\006\149\006\149\006\149\000\000\000\000\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\012\018\000\000\006\149\006\149\006\149\000Z\006\149\000\000\006\149\006\149\006\149\000\000\000\000\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\000\000\000\000\006\149\006\149\000Z\000\000\006\149\012R\006\149\006\149\006\149\006\149\000Z\006\149\012~\000\000\006\149\000\000\006\149\000Z\000\000\000\000\000\000\006\149\006\149\000\000\006\149\000\000\000\000\006\149\006\149\006\149\006\149\006\149\000\000\006\149\006\149\000\000\006\149\000\000\000\000\006\149\000\000\000\000\000\000\006\149\006\149\000\000\006\149\000\000\000\000\006\149\006\149\006\149\006\149\006\149\006\149\000\000\006\149\006\149\006\149\006\149\000\000\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\006\149\000\000\006\149\000\000\000\000\006\149\000\000\000\000\000\000\006\149\000\000\000\000\006\149\002R\000\000\000\000\002V\006\149\006\149\002Z\006\149\000\000\000\000\000\000\000\000\006\149\006\149\006\149\000\000\020\202\000\000\000\000\006\149\006\149\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002r\002v\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\000\000\002\170\000\000\000\000\026\002\000\000\026\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\026\018\000\000\000\000\002\174\000\000\0262\000\000\000\000\002\178\000\000\000\000\000\n\023z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\186\000\000\000\000\023~\000\000\023\130\000\000\000\000\000\000\000\000\000\000\002\190\000\000\023\134\000\000\000\000\000\000\000\000\000\000\023\138\000\000\000\000\023\146\000\000\002\194\000\000\023\150\000\000\002R\000\000\002\206\002V\023\154\000\000\002^\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\023\158\026:\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\000\000\002r\t\006\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\023\162\000\000\000\000\023\166\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\023\170\002\170\000\000\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\000\000\000\000\000\000\002\174\023\194\000\000\000\000\023\198\002\198\000\000\000\000\000\n\000\000\000\000\000\000\002R\000\000\000\000\002V\000\000\002\186\002^\023\202\000\000\000\000\000\000\000\000\023\206\023\210\000\000\000\000\002\190\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\000\000\002\202\000\000\002r\b\246\000\000\002~\002\206\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002\210\000\000\000\000\000\000\000\000\000\000\002\214\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\002R\002\170\000\000\002V\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\002\174\000\000\000\000\000\000\002b\002\198\000\000\002f\000\n\000\000\000\000\000\000\000\000\002r\b\222\000\000\002~\002\186\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002R\000\000\002\190\002V\000\000\000\000\002^\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\002\202\002\162\002\166\000\000\000\000\002\170\002\206\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\002\210\002r\002\182\000\000\002~\000\000\002\214\002\174\000\000\000\000\000\000\002\134\002\198\002\138\000\000\000\n\000\000\000\000\000\000\000\000\000\000\002\142\002\146\b\170\002\186\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\004\181\002\170\002\190\004\181\000\000\000\000\004\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\202\000\000\000\000\002\174\000\000\000\000\002\206\004\181\002\198\000\000\004\181\000\n\000\000\000\000\000\000\002\210\004\181\004\181\000\000\004\181\002\186\002\214\000\000\000\000\000\000\000\000\004\181\000\000\004\181\002R\000\000\002\190\002V\000\000\000\000\002^\004\181\004\181\000\000\000\000\004\181\004\181\004\181\000\000\002\202\004\181\004\181\000\000\000\000\004\181\002\206\002b\000\000\000\000\002f\000\000\000\000\000\000\000\000\002\210\002r\012\250\000\000\002~\000\000\002\214\004\181\000\000\000\000\000\000\002\134\004\181\002\138\000\000\004\181\000\000\000\000\000\000\000\000\000\000\002\142\002\146\000\000\004\181\002\150\002\154\002\158\000\000\000\000\002\162\002\166\000\000\002R\002\170\000\000\002V\000\000\000\000\002^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\181\000\000\000\000\002\174\000\000\000\000\004\181\002b\002\198\000\000\002f\000\n\000\000\000\000\000\000\004\181\002r\015\178\000\000\002~\002\186\004\181\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\002\190\000\000\000\000\000\000\000\000\002\142\002\146\000\000\000\000\002\150\002\154\002\158\000\000\002\202\002\162\002\166\000\000\000\000\002\170\002\206\000\000\000\000\000\000\000\000\000\000\023v\000\000\000\000\002\210\000\000\000\000\000\000\000\000\000\000\002\214\002\174\000\000\023z\000\000\000\000\002\198\000\000\000\000\000\n\000\000\000\000\000\000\000\000\023~\000\000\023\130\000\000\002\186\000\000\000\000\000\000\000\000\000\000\023\134\000\000\000\000\000\000\000\000\002\190\023\138\000\000\000\000\023\146\000\000\000\000\000\000\023\150\000\000\000\000\000\000\000\000\002\202\023\154\000\000\000\000\000\000\000\000\002\206\000\000\000\000\000\000\000\000\000\000\024\238\000\000\000\000\002\210\000\000\023\158\000\000\000\000\000\000\002\214\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\000\000\000\210\000\000\000\000\006\149\000\000\006\149\006\149\011\249\000\000\023\162\006\149\006\149\023\166\001\026\000\000\006\149\006\149\006\149\006\149\000\000\000\000\000\000\006\149\006\149\006\149\023\170\000\000\000\000\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\000\000\006\149\000\000\000\000\023\194\006\149\000\000\023\198\000\000\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\006\149\006\149\000\000\000\000\006\149\023\202\000\000\000\000\001\194\000\000\023\206\023\210\011\249\000Z\000\000\000\000\006\149\006\149\000\000\000\000\002\n\005\138\000\000\000\000\006\149\000Z\000Z\000\000\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\006\149\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\006\149\006\149\000\000\006\149\000\000\000\000\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\006\149\006\149\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\000\000\006\149\006\149\006\149\000\000\006\149\006\149\000\000\000\000\000\000\006\149\006\149\006\149\000\000\000\000\006\149\006\149\004\205\004\205\004\205\004\205\000\000\004\205\000\000\004\205\004\205\004\205\004\205\000\000\004\205\004\205\000\000\004\205\000\000\004\205\000\000\004\205\004\205\004\205\004\205\000\000\000\000\002R\000\000\000\000\002j\000\000\000\000\002n\002\026\000\000\000\000\000\000\000\000\000\000\004\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002b\000\000\000\000\002f\000\000\000\000\004\205\000\000\000\000\002\130\006\226\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\000\000\000\000\000\000\000\000\004\205\000\000\000\000\006\246\002\146\000\000\004\205\006\250\002\154\002\158\000\000\000\000\006\254\007\002\004\205\000\000\007\006\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\004\186\004\205\000\000\006\149\006\149\006\149\005\014\007\n\000\000\006\149\006\149\006\149\007\014\006\149\000\000\000\n\006\149\006\149\006\149\000\000\005V\000\000\000\000\006\149\007\022\006\149\000\000\000\000\000\000\000\000\006\149\006\149\004\205\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\006\149\000\000\006\149\007\026\000\000\000\000\006\149\000\000\000\000\007\"\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\007&\000\000\006\149\000\000\006\149\000\000\002\214\000Z\005\202\000\000\006\149\000\000\000\000\000Z\004\205\000\000\006\149\000\000\006\149\000\000\000\000\000\000\006\149\006\149\006\149\000\000\000\000\000Z\006\149\006\149\006\149\000\000\000\000\000\000\006\149\000\000\000\000\000\000\006\149\000\000\006\149\000\000\006\149\006\149\000\000\006\149\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\006\149\006\149\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\006\149\000\178\000\186\000\194\001\006\006\149\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\006\149\000\000\000\000\006\149\006\149\000\000\006\149\006\149\000\000\006\149\006\149\000\000\006\149\006\149\001\234\000\000\000\000\006\149\006\149\006\149\006\149\000\000\000\000\006\149\006\149\000\000\000\000\006\149\000\000\001\242\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\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\000\000\002\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\002\018\000\178\000\186\000\194\001\006\000\000\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\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\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\001\242\000\000\000\000\000\000\002\022\000\000\000\000\000\000\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\000\000\005\254\000\000\000\000\002\181\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\006\002\006\006\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\001\214\001\222\001\226\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\001\234\001&\000\000\001.\006\149\0016\001\214\001\222\001\226\006\149\000\000\000\000\000\000\000\000\006\149\001\242\006\149\000\000\000\000\000\000\006\n\006\149\006\149\000\000\001\234\000\000\006\149\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\002\002\000\000\000\000\000\000\001\242\000\000\005\254\004\253\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\006\149\006\002\006\006\000\000\006\149\000\000\000\000\002\002\000\000\000\000\000\000\000\000\006\149\005\254\000\000\000\000\006\149\000\000\000\000\000\000\006\149\002\006\000\000\000\000\006\174\006\002\006\006\000\000\000\000\000Z\000\000\000\000\006\149\000\000\000\000\000\000\t6\000\000\000\000\000\000\006\149\000Z\000\000\000\000\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\n\000\000\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\006\149\000\000\000\000\006\149\t5\000\000\006\n\000\000\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\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\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\149\000\000\000\000\006\149\006\149\000\000\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\000\000\006\149\006\149\006\149\000\000\006\149\000\000\000\000\000\000\000\000\006\149\006\149\000\000\000\000\000\000\006\149\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\001\214\001\222\001\226\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\001\234\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\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\001\242\000\000\028\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\028\182\006\006\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\028\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\028\182\006\006\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\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\028\186\000\000\000\000\000\000\001\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\001\242\000\000\000\000\004\245\000\000\028\186\000\000\000\000\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\000\000\028\178\t\025\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\028\182\006\006\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\001\214\001\222\001\226\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\001\234\001&\000\000\001.\000\000\0016\001\214\001\222\001\226\000\000\000\000\000\000\000\000\000\000\000\000\001\242\000\000\000\000\000\000\000\000\028\186\000\000\000\000\000\000\001\234\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\001\242\000\000\002\014\002\145\000\000\002R\000\000\000\000\012\242\000\000\002\006\012\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\002\018\000\000\000\000\006\018\002b\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\r\n\r\022\006\002\006\006\000\000\000\000\000\000\000\000\000\000\000\000\002\134\000\000\002\138\002R\000\000\000\000\015\170\000\000\000\n\015\174\r*\002\146\000\000\000\000\r.\002\154\002\158\000\000\000\000\r2\r6\000\000\000\000\r:\000\000\002b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\026\016\006\000\000\000\000\000\000\r>\rB\000\000\000\000\000\000\002\134\rF\002\138\000\000\000\n\000\000\000\000\000\000\000\000\002\173\016\030\002\146\000\000\rN\016\"\002\154\002\158\000\000\000\000\016&\016*\t\221\000\000\016.\000\000\000\000\000\000\000\000\000\000\000\000\tE\000\000\000\000\t\221\000\000\000\000\000\000\rR\000\000\r>\0162\000\000\000\000\rZ\t\221\0166\t\221\000\000\000\n\000\000\000\000\000\000\r^\000\000\t\221\000\000\000\000\016>\002\214\000\000\t\221\000\000\000\000\t\221\000\000\b\157\000\000\t\221\024J\000\000\000\000\000\000\000\000\t\221\000\000\000\000\000\000\b\157\000\000\000\000\000\000\016B\000\000\000\000\000\000\000\000\000\000\016J\b\157\t\221\b\157\000\000\000\000\000\000\000\000\000\000\016N\000\000\b\157\000\000\000\000\000\000\002\214\000\000\b\157\000\000\000\000\b\157\000\000\000\000\000\000\b\157\000\000\000\000\000\000\000\000\t\221\b\157\000\000\t\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\221\b\157\026:\000\000\000\000\t\221\t\221\t\221\000\000\t\221\t\221\000\000\t\221\000\000\000\000\000\000\000\000\000\000\000\000\t\221\000\000\000\000\t\221\000\000\000\000\000\000\000\000\000\000\b\157\000\000\000\000\b\157\000\000\000\000\000\000\000\000\007e\t\221\000\000\000\000\000\000\000\000\t\221\t\221\b\157\000\000\000\000\000\000\007e\b\157\b\157\b\157\000\000\b\157\b\157\000\000\b\157\000\000\000\000\007e\000\000\007e\000\000\b\157\000\000\000\000\b\157\000\000\000\000\007e\000\000\000\000\000\000\000\000\000\000\007e\000\000\000\000\007e\000\000\000\000\b\157\007e\000\000\000\000\000\000\b\157\b\157\007e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027>\000\000\000\000\000\000\000\000\007e\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&\000\000\001.\024\210\0016\001\214\001\222\001\226\000\000\007e\000\000\000\000\007e\000\000\000\000\023z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\007e\023~\000\000\023\130\000\000\007e\007e\007e\000\000\007e\007e\023\134\007e\001\242\000\000\000\000\000\000\023\138\000\000\007e\023\146\000\000\007e\000\000\023\150\000\000\000\000\000\000\000\000\000\000\023\154\000\000\024\234\002\002\000\000\000\000\000\000\007e\000\000\028\194\000\000\000\000\007e\007e\023z\000\000\023\158\002\006\000\000\000\000\000\000\028\182\006\006\000\000\000\000\023~\000\000\023\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\134\000\000\000\000\000\000\000\000\000\000\023\138\000\000\023\162\023\146\000\000\023\166\000\000\023\150\000\000\000\000\000\000\000\000\000\000\023\154\000\000\000\000\000\000\000\000\023\170\000\000\000\000\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\023\158\023\190\000\000\000\000\000\000\000\000\000\000\000\000\023\194\000\000\000\000\023\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\202\023\162\000\000\000\000\023\166\023\206\023\210\t)\000\000\023v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\170\000\000\000\000\000\000\023z\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\023~\000\000\023\130\000\000\023\194\000\000\000\000\023\198\000\000\000\000\023\134\000\000\000\000\000\000\000\000\000\000\023\138\000\000\023v\023\146\000\000\000\000\023\202\023\150\000\000\000\000\000\000\023\206\023\210\023\154\023z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023~\000\000\023\130\000\000\025\150\000\000\000\000\000\000\000\000\000\000\023\134\000\000\000\000\000\000\000\000\000\000\023\138\000\000\000\000\023\146\000\000\000\000\000\000\023\150\000\000\000\225\000\000\000\000\000\225\023\154\000\000\023\162\000\000\000\000\023\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\027\n\000\000\023\170\000\000\000\225\000\225\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\000\000\000\000\000\000\000\000\003R\000\000\023\194\000\000\000\225\023\198\000\225\000\225\023\162\000\000\000\000\023\166\000\000\015\157\000\000\000\000\000\225\000\000\000\000\003Z\023\202\003j\000\000\000\000\023\170\023\206\023\210\000\000\000\000\023\174\000\n\023\178\000\000\023\182\023\186\000\000\023\190\015\157\015\157\000\000\000\000\000\000\000\000\023\194\000\225\rv\023\198\000\000\000\000\000\000\000\000\000\000\015\157\000\000\000\000\000\000\000\000\000\000\015\157\015\157\000\000\023\202\r~\000\000\000\000\r\138\023\206\023\210\015\157\000\000\000\000\015\157\000\000\015\157\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\000\015\157\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\221\000\225\000\000\000\000\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\r\150\000\000\003R\000\000\000\225\000\225\000\221\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\213\015\157\003Z\000\213\003j\000\000\r\154\000\000\015\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\162\000\000\000\000\000\000\000\000\015\157\000\000\000\213\000\213\000\000\000\221\000\000\015\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\157\015\157\000\213\000\000\003\218\000\000\000\213\001\001\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\003Z\000\000\000\213\000\000\000\000\000\000\000\000\003J\003r\000\221\000\000\000\000\000\221\000\000\000\000\003\218\003b\000\000\000\245\000\000\000\000\000\000\003R\000\000\000\000\000\213\001\001\000\000\001\001\003\226\000\221\000\000\000\000\000\000\000\221\000\221\000\000\000\000\003z\003J\003r\003Z\000\000\003j\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\000\000\245\000\000\000\245\000\245\000\000\000\000\000\000\000\213\003\130\000\000\000\213\000\000\003z\000\000\003b\003Z\000\000\003j\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\003\130\000\000\000\000\000\213\000\213\003J\003r\000\000\003\138\000\000\000\000\001\001\000\000\000\217\000\000\003b\000\217\000\000\000\000\000\000\003R\000\000\000\000\000\000\000\237\000\000\000\237\000\237\000\000\001\001\000\000\000\000\000\000\001\001\001\001\000\000\000\237\000\217\000\217\003Z\003\138\003j\000\000\000\245\003\234\003\146\000\000\003b\000\000\000\000\000\000\000\000\000\217\000\000\000\229\000\000\000\217\000\229\000\217\000\217\000\000\000\245\000\000\000\000\003\130\000\245\000\245\000\000\000\217\000\000\000\000\003Z\000\000\000\217\000\000\000\000\000\245\003\146\003J\003r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\217\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\229\000\233\003b\003Z\000\233\003j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\237\000\237\000\000\000\000\000\000\003J\003r\000\217\000\229\000\000\000\217\000\237\000\237\000\000\003b\000\000\000\000\000\000\000\000\000\000\003R\000\000\003\218\000\000\000\233\000\253\000\233\000\233\000\217\000\000\000\000\000\000\000\217\000\217\000\000\000\000\000\233\000\000\000\000\003Z\000\000\003j\000\000\000\217\000\217\000\000\003J\003r\000\229\000\000\000\000\000\229\000\000\000\000\000\241\003b\000\000\000\241\000\000\000\000\000\000\003R\000\000\000\000\003\130\000\253\000\000\000\253\003\226\000\229\000\000\000\000\000\000\000\229\000\229\000\000\000\000\003z\003J\003r\003Z\000\000\003j\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003R\000\000\000\000\000\000\000\241\000\000\000\241\000\241\000\000\000\000\000\000\000\233\003\130\000\000\000\233\000\000\003z\000\000\003b\003Z\000\000\003j\000\000\000\000\000\000\014.\000\000\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\000\000\233\000\233\000\000\000\000\000\000\000\000\000\000\000\000\003\130\000\000\000\000\000\233\000\233\0146\014>\000\000\003\138\000\000\000\000\000\253\000\000\000\189\000\000\003b\000\000\000\000\000\000\000\000\014F\000\000\000\000\000\000\000\165\000\000\014N\014V\000\000\000\253\000\000\000\000\000\000\000\253\000\253\000\000\014^\003J\003r\014f\003\138\014n\000\000\000\241\000\253\003\146\000\000\003b\000\165\000\165\000\000\000\000\003R\000\000\000\000\000\000\000\000\000\000\000\189\000\189\000\000\000\241\000\000\003R\014v\000\241\000\241\000\000\003z\000\165\000\165\003Z\000\000\003j\000\000\000\161\000\241\000\241\000\000\000\165\000\000\000\000\003Z\000\000\003j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\130\000\000\000\000\000\161\000\161\000\000\000\000\000\000\014~\000\000\000\000\000\165\000\000\000\000\000\000\014\134\000\000\000\000\003R\000\000\000\000\000\000\000\000\000\000\000\161\000\161\000\000\000\000\000\000\006\029\000\000\000\000\000\000\000\000\000\161\000\153\006\029\003Z\000\000\003j\003\138\000\000\000\000\000\000\014\142\014\150\003\218\003b\000\000\000\000\000\000\000\165\000\000\000\000\000\000\000\000\000\000\000\000\003b\000\153\000\153\000\189\000\161\000\000\000\000\000\000\000\000\000\000\000\189\000\000\003J\003r\000\165\000\000\000\153\000\000\000\189\003\146\000\000\000\165\000\153\000\153\000\000\000\000\000\000\003R\000\000\000\165\000\165\003\218\000\153\000\197\003\226\003Z\000\000\000\153\000\000\000\000\000\000\000\000\000\000\003z\000\161\000\000\003Z\000\000\003j\000\000\000\000\003b\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\161\000\000\000\000\000\000\000\000\003R\003\130\000\161\000\000\000\000\000\000\000\185\000\185\000\000\000\000\000\161\000\161\000\000\000\000\000\000\000\177\003z\000\000\000\000\003Z\000\000\003j\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\003b\000\000\003J\003r\003\138\000\000\000\000\003\130\000\000\000\000\000\000\003b\000\000\000\000\000\153\000\000\000\000\003R\000\000\000\157\000\000\000\153\000\000\000\177\000\177\000\197\000\000\000\000\000\000\000\153\000\153\000\000\000\197\000\177\000\000\000\000\003Z\000\000\003j\000\000\003\234\003\146\000\000\000\157\000\157\000\000\000\000\003\138\000\000\000\000\000\000\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\157\000\000\000\000\003\130\000\000\000\000\000\157\000\157\000\000\000\000\000\185\000\000\000\169\000\000\000\000\000\000\000\157\000\185\000\000\003Z\000\000\000\157\000\000\000\173\000\000\000\185\003\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003J\003r\000\000\000\000\000\000\000\000\000\000\000\177\000\157\000\000\000\000\003J\003r\000\000\003b\003R\000\000\000\000\000\000\000\000\000\000\000\169\000\169\000\000\000\000\000\000\003R\000\000\000\177\000\000\000\000\000\169\000\173\000\173\003Z\000\177\003j\000\000\000\000\000\000\000\000\000\000\000\173\000\177\000\177\003Z\000\000\003j\000\157\003\218\000\000\000\000\000\000\000\000\000\000\003b\000\000\000\000\000\000\000\169\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\157\003\130\000\000\000\000\003J\003r\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\157\000\000\000\000\003R\000\000\003J\003r\000\000\000\000\000\193\003\226\000\000\000\000\000\000\000\169\000\000\000\000\000\000\000\000\003z\003R\003b\003Z\000\000\003j\000\173\000\181\000\181\000\000\000\000\000\000\000\000\003b\000\000\000\000\000\169\003z\000\000\000\000\003Z\000\000\003j\000\169\000\000\000\000\000\000\000\173\003\130\000\000\000\000\000\169\000\169\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\173\000\000\003\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\003\138\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\000\000\000\000\000\000\003\138\000\000\000\000\000\000\000\193\000\000\000\000\003b\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\003\146\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\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\018\001\018\001\018\001\017\001\017\001\017\001\017\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\012\001\012\001\012\001\012\001\011\001\n\001\n\001\n\001\t\001\t\001\t\001\008\001\008\001\008\001\007\001\007\001\007\001\006\001\005\001\004\001\003\001\003\001\002\001\002\001\001\001\001\001\000\001\000\000\255\000\255\000\254\000\253\000\253\000\252\000\252\000\251\000\251\000\251\000\251\000\250\000\250\000\250\000\249\000\248\000\247\000\246\000\245\000\244\000\243\000\242\000\241\000\240\000\239\000\238\000\237\000\236\000\235\000\235\000\234\000\234\000\233\000\233\000\232\000\232\000\231\000\231\000\231\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\229\000\228\000\228\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\222\000\222\000\222\000\222\000\221\000\221\000\221\000\221\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\219\000\218\000\218\000\217\000\217\000\217\000\216\000\216\000\215\000\215\000\215\000\214\000\214\000\213\000\213\000\213\000\212\000\211\000\210\000\210\000\209\000\209\000\208\000\208\000\207\000\207\000\206\000\206\000\205\000\204\000\203\000\203\000\202\000\202\000\201\000\201\000\201\000\200\000\199\000\198\000\198\000\197\000\196\000\196\000\196\000\196\000\196\000\195\000\195\000\195\000\195\000\194\000\194\000\194\000\194\000\193\000\193\000\193\000\193\000\192\000\191\000\191\000\190\000\190\000\190\000\189\000\188\000\188\000\188\000\188\000\187\000\186\000\186\000\185\000\185\000\184\000\184\000\183\000\183\000\183\000\183\000\182\000\182\000\181\000\181\000\181\000\181\000\181\000\180\000\180\000\180\000\180\000\179\000\179\000\179\000\179\000\179\000\178\000\177\000\177\000\177\000\177\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\169\000\169\000\169\000\169\000\169\000\169\000\168\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\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\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000{\000{\000{\000z\000z\000z\000y\000y\000y\000y\000x\000w\000v\000u\000t\000s\000r\000r\000q\000q\000q\000p\000p\000o\000o\000o\000n\000n\000m\000l\000l\000l\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000c\000c\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000\\\000\\\000[\000[\000[\000[\000[\000Z\000Z\000Y\000Y\000Y\000Y\000X\000W\000V\000V\000V\000U\000U\000U\000T\000T\000T\000T\000T\000T\000S\000S\000S\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\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000J\000J\000I\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000G\000G\000G\000F\000E\000D\000C\000C\000B\000B\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:\0009\0009\0008\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\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\029\001\029\001\029\001\028\001\028\001\028\001\028\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\027\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\026\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\025\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\024\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\023\001\022\001\022\001\022\001\022\001\021\001\020\001\020\001\020\001\019\001\019\001\019\001\018\001\018\001\018\001\017\001\017\001\017\001\016\001\015\001\014\001\r\001\r\001\012\001\012\001\011\001\011\001\n\001\n\001\t\001\t\001\b\001\007\001\006\001\005\001\004\001\003\001\002\001\001\001\000\000\255\000\254\000\253\000\252\000\251\000\250\000\249\000\249\000\248\000\248\000\247\000\247\000\246\000\246\000\245\000\245\000\245\000\245\000\244\000\244\000\244\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\240\000\240\000\240\000\240\000\239\000\239\000\239\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\238\000\237\000\236\000\236\000\236\000\236\000\235\000\235\000\234\000\233\000\232\000\232\000\232\000\232\000\231\000\231\000\231\000\231\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\229\000\228\000\228\000\227\000\227\000\227\000\226\000\226\000\225\000\225\000\225\000\224\000\223\000\222\000\222\000\221\000\220\000\220\000\219\000\219\000\218\000\218\000\217\000\217\000\216\000\215\000\214\000\214\000\213\000\213\000\212\000\212\000\211\000\211\000\210\000\210\000\209\000\208\000\208\000\207\000\207\000\207\000\207\000\207\000\206\000\206\000\206\000\205\000\204\000\203\000\203\000\203\000\203\000\202\000\202\000\201\000\200\000\200\000\200\000\200\000\200\000\199\000\199\000\199\000\199\000\198\000\198\000\198\000\198\000\197\000\197\000\197\000\197\000\196\000\195\000\195\000\194\000\194\000\194\000\193\000\192\000\192\000\192\000\192\000\191\000\190\000\190\000\189\000\189\000\188\000\188\000\187\000\187\000\187\000\187\000\186\000\186\000\185\000\185\000\185\000\185\000\185\000\185\000\184\000\184\000\184\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\174\000\174\000\174\000\174\000\174\000\174\000\173\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\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\144\000\143\000\143\000\142\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\141\000\140\000\139\000\138\000\137\000\136\000\135\000\134\000\133\000\132\000\131\000\131\000\131\000\130\000\130\000\130\000\129\000\129\000\129\000\129\000\128\000\127\000~\000}\000|\000{\000z\000z\000y\000y\000y\000x\000x\000w\000w\000w\000v\000v\000u\000t\000t\000t\000s\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\000l\000l\000l\000l\000l\000k\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000d\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000]\000]\000]\000\\\000\\\000[\000[\000[\000[\000Z\000Y\000X\000X\000X\000W\000W\000W\000V\000V\000V\000V\000V\000V\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\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\000M\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000K\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000J\000I\000I\000I\000H\000G\000F\000E\000E\000D\000D\000C\000B\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:\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\031\000\030\000\029\000\029\000\029\000\029\000\028\000\028\000\028\000\027\000\027\000\026\000\026\000\026\000\025\000\025\000\025\000\024\000\024\000\024\000\024\000\024\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\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, "\000J\000\n\000\000\000\000\000\000\000S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\235\001H\000\000\000\151\000\139\000\000\000\000\000\000\000m\000\000\000\030\000\146\000\000\000\000\001\024\000\000\001\160\000\000\000\000\000\000\001\214\000\000\002T\000\000\000\000\000\000\000\000\002\210\000\000\002\218\002\248\000\000\000\000\003n\000\000\004\022\000\000\000\000\000\000\004>\000\000\004\150\000\000\005\n\000\000\005\024\005\186\000\000\000\000\005\194\000\000\006\190\000\000\000w\000\000\000\000\006\246\000\000\007\020\000\000\000\000\0072\000\000\007:\000\000\000\000\000\000\007N\000\000\000\130\007v\000\196\000\000\000\000\000\000\006.\0001\003\204\000\000\000\000\008\218\000\000\024\008\000\000\000n\000\134\t\130\000\000\000\000\011\142\000\000\007|\000\000\001\164\n\172\017\154\012\206\017\154\013\244\022\144\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012x\012\206\000\000\000\000\015.\000\000\023\204\000\000\000T\000\000\000\000\000\000\000\000\001F\000\000!R\000\000\000\000\000\132\000\000\001\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\006^\000\000\006\172\000\000\006\232\000\000\008\182\000\000\015\244\000\000\029$\000\000\"\166\000\000%\156\000\000&2\000\000*\140\000\000\023F\000\000\000\000\000\000\000\000\000\000)\164\000\000/N\000\0007\154\000\000\001\234\000\000\000\000\020\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\204\t\018\000\000\000\000\t^\000\000\tj\t\146\000\000\000\000\t\218\000\000\t\230\000\000\000\000\000\000\t\238\000\000\n\008\000\000\000\000\n\n\000\000\n\020\n0\000\000\000\000\n:\000\000\nB\000\000\000\000\000\000\nF\000\000\nP\000\000\nT\000\000\nV\nt\000\000\000\000\nv\000\000\nz\000\000\001\218\n|\000\000\n~\000\000\n\130\000\000\n\136\000\000\000\000\000\000\n\144\000\000\n\164\012,\000\000\n\170\000\000\000\238\026h\000\000\002\190\000\000\003\198\000\000\000\000\001\250\000\000\000\000\001?\005R\000\000\000\000\000\000\000\000\003B\000\000\003\254\000\000\004b\000\000\008\n\000\000\000\000\000\000\000\000\000\000\000\000\t\166\000\000\000\000\000\000\000\000\001\007\000\000\000\000\000\000\000\000\000\000\000\000\000\204\005 \014\130\000\000\n\178\000\000\n\192\015\030\000\000\n\202\000\000\000\000\004\008\000\000\000\000\000\000\000\000\000\000\026\156\000\0001\150\000\000\000\000\000\000\005V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\000\000\000\000\000\000\000\000\000\000\000\000\011<\022\144\000\000\016\016\000\000\019\236\000J\000\000\000\000\000\000\005\232\000\000!\184\000\000\000\0001\230\000\000\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\025\216\000\000\026\228\000\000\000\000\000\000\000\000\000\128\000\000\000\0002:\000\000\000\000\000\000\015N\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000&\000\000\003\026\000\000\005B\000\000\007\018\000\000\t\214\000\000\012$\000\000\014\216\000\000\015z\000\000\018\006\000\000\0182\000\000*\144\000\000\003R\000\000\018\192\000\000\019R\000\000\021j\000\000\000\000\000\000\000\000\000\000\000~2\202\000\000\001(\000\000\000\000\002\026\002n\000\000\002d\000\000\000\000\000\000\n\144\000\000\000\000\000\000'\224\000\000\000\000\000\000\000\000\000\000(\182\000\000\000\000\000\000\000\000\000\000\000\000\001\202\000\000\000\000\000\000\n\204\016\184\000\000\n\208\000\000\000\000\000\000\000\000\000\000\n\220\000\000\000\000\001\t\004\250\000\000\005\206\000\000\000\000\000\000\002R\000\000\012f\002\248\n\226\000\000\000\000\n\228\000\000\n\238\n\246\000\000\000\000\011\000\000\000\011\004\000\000\000\000\000\000\011\020\000\000\011\022\000\000\000\000\011\024\000\000\011\030\011*\000\000\000\000\011.\000\000\0114\000\000\000\000\000\000\011@\000\000\011L\000\000\011P\000\000\011T\011Z\000\000\000\000\011^\000\000\011b\000\000\006\244\011p\000\000\011~\000\000\011\134\000\000\011\144\000\000\000\000\000\000\011\148\000\000\003b\000\000\000\000\011\152\016\196\000\000\011\154\000\000\000\000\000\030\000\000\000\000\0002\000\000\000\000\000\000\000\000\000\000\007\144\018\168\000\000\011\158\000\000\011\170\019\002\000\000\011\176\000\000\000\000\012\190\011\190\000\000\000\000\011\194\000\000\011\198\011\212\000\000\000\000\011\226\000\000\011\228\000\000\000\000\000\000\011\236\000\000\011\248\000\000\000\000\012\002\000\000\012\006\012\008\000\000\000\000\012\014\000\000\012\016\000\000\000\000\000\000\012\018\000\000\012\020\000\000\012\030\000\000\012.\0120\000\000\000\000\0122\000\000\012:\000\000\007\154\012<\000\000\012>\000\000\012@\000\000\012D\000\000\000\000\000\000\012F\000\000\012V\024\130\000\000\012Z\000\000\000\000\007\156\024\198\000\000\012\\\000\000\012j\024\230\000\000\012n\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\232\000\000$\184\000\0003\012\000\000\000\000\006\158\000\000\000\000\007\164\005^\000\000\000\000*\192\004H\000\000\003\184\020D\000\000\000\000(\248\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0124(\248\000\000\013\136\000\000\028\236\028n)f\000\000&\206\000\000\000\000\000\000\008\000\000\000\"^\000\000\000\0003\"\000\000\000\000\000\000\008\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003p\000\0003\184\000\000\000\000\000\000\"@\008\142\000\000\000\000\000\000*\230\000\000\000\000\000\000\000\000\008\176\000\000\000\000\000\000\021~\000\000\000\000\029\184\000\000\001\220\000\000\000\000\000\000\005\"\000\000\017\018\000\000\020\222\000\000\027\234\000\000\029\006\000\000&\226\000\000(j\000\000(\210\000\000-\224\000\000/\170\000\0000H\000\0001h\000\0003R\000\000\000\000\000\000\n~\000\000\018\248\030L\000\000+N\013\218+\176\000\000\000\000+\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\004$\000\000\000\000\000\000\000\000\005\242\000\000\005\132\000\000\000\000\011X\000\000\000\000\000\000,,\000\000\000\000\000\000\000\000\000\000\0176\000\000\000\000\000\000\000\000,\162\000\000\000\000\000\000\000\000\003\248\012p\000\000,\186\000\000\000\000\000\000\000\000\013\012\000\000-\006\000\000\000\000\000\000\000\000\003\154\000\000\006\202\000\000\012\208\004\018)\128\000\000\000\000\000\000\005\234\000\000\000\000\000\000\000\000\000\000\000\000\015\182)\128\000\000\017\\\000\000\025\134\n\222\000\000\000\000\000\000\008\204\000\000\"\244\000\000\000\0003\198\000\000\000\000\000\000\008\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\142\000\0007\150\000\000\000\000\000\000\003\142\000\000\000\000\000\000\000\000\000\000\000\000\021\020\000\000\023\226\000\000\027\200\000\000#\138\000\000)H\000\0002\030\000\0007J\000\0007\196\000\0007\206\000\0008(\000\000-R\000\000\002\238\000\00082\000\0008H\000\0008v\000\000)\254\000\000\000\000\000\0004\000\000\000\000\000\000\000\000^\000\0004\210\000\000\000\000\000\0004\214\000\000\000\000\000\030\000\000\025\150\000!\001X\000\000\002N\000\000\013$\001\228\007n\000\000\000\000\000\000\000\000\000\000\000\000\000\0005$\000\000%\160\0006\008\254\000\000\000\000\000\000-X\000\000-\172\000\000-\208\000\000%\186&L\001.\004R\t\002\000\000\000\000\000\000\0056\000\000\000\000\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\0005l\000\000\000\000\000\000\000\000#v\000\000&f\000\000\000\000\000\000\000\000\000\000\000\000\013\196\000\000\000\000\002\220\000\000\000\000\000\000\025\202\005\016\000\000\026\130\000\000\000\000\013\012\000\000\006\228\000\000\000\000\014p\000\000\027j\000\000\000\000#\154\000\000\000\000\000\000\n\136\000\000\000\000\005\180\000\000\000\000\023\014\000\000\000\000\000\000-\248\000\000\000\000\000\000\024<\000\000\000\000\000\000\000\000.\232\000\000\000\000\000\000\000\000\004~\014 \000\000.\236\000\000\000\000\000\000\000\000\000\000\000\000\015\016\000\000\000\000\007\152\000\000\016\024\000\000\n\136\000\000\000\000\004:\004\198\000\000\006 \000\000\000\000\000\000\000\000\003\142\000\000&\152\000\000\028\004\004\168\028\176\000\000\004\180\000\000\016R\000\000\016\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\030\029J\005:\029\246\000\000\000\000\000\000\006x\000\000\017\240\000\000\008\142\000\000\000\000\026X\007\160\030\144\000\000\007\220\000\000\018\144\031<\000\000\000\000\019<\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\224\008,\000\000\008\230\000\000\000\000\000\000\000\000\008l\000\000\019\220\000\000\000\000\000\000\00745\180\000\000\000\000\000\000 \188\000\000\000\000\000\000\000\000\007\224\006P\000\000\000\000/\016\000\000\000\000\000\127\000\000\006\138\000\000\000\000\025`\000\000\000\000\000\000/\018\000\000\000\000\000\000\000\000/v\000\000\000\000\008j\006\166\000\000\000\000/\154\000\000\000\000\008\250$\004\000\000\007,\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\000\000\000\000\000\000\001\144\000\000\000\000\007b\000\000\000\000\029\210\000\000\000\000\000\0000\170\000\000\000\000\000\000\000\0001\014\000\000\000\000\t\196\007\246\000\000\000\00014\000\000\000\000\t\002\000\000\000\000\000\000\000\000\003\142\005\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\228\000\000\020\154\000\000\000\000\000\0005\194\000\000\008\208\000\000\000\000\000\000\006\136\000\000\019\254\000\000\000\000\004\134\021:\000\000\021\230\000\000\000\000\000\000\006P\000\0005\246\007\1325\252\000\0006\134\000\000\000\000\000\000\007\224\000\0006\172\008\018\000\000\000\000'<\008\226'V\000\000(,\000\000\000\000\000\000\t:\000\0006\224\t^\000\000\000\000\013Z\tb\019N\000\000\020\208\000\000\000\000\000\000\td\000\0007\130\tz\000\000\000\000\000\000\000\026\000\000\000\000\000\000\002\154\000\000\000\000\000\000\000\000\000\000\000\000\008\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\172\000\000\000\000\005f\000\000\000\000\0138\000\000\000\000\000\000\000\000\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0138\000\000\000\000\013\018\000\000\013.\000\000\000\000\004r\000\000\007\158\012\198\001V\000\000\000\000\003\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\198\001\138\000\000\000\000\000@\000\000\000\000\000\000\017\238\000\000\000\000\021\224\022\002\000\000\000\000\000\000\000\000\023\002\025>\000\135\000\000\000\000\000\000\028\142\000\000\000\000\000\000\000\000\000\000\000\000\002\132\000\000\000\000\000\206\000\000\000\000\012\146\000\000\000\000\022\252\000\000\000\000\t\244\000\000\000g\000\000\000\000\000\000\000\000\008\020 R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\158 \136\000\000\000\000\000\000\000\000 \142\000\000\000\000\025\222\000\000\013V\000\000\000\000\000\000\027\210\000\000\003\026\000\000\000\000\000\000\031\134\000\000\000\000\016\226!\148\019\134\000\000\"~\000\000\000\000\000\000\000\000\013\022\000\000\000\000\000\000\000Y\000\000\000\028\012\224\004\030\000\000\000\000\000\000\007\166\004\012\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\t$\000\000\000\000\002\218\000\000\000\029\013`\007\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\023L\000\000\000\000\031\236#\134\000\000\000\000\000\000\000\000\005>\000\000\008\186\011\148\000\000\025\198\000\000\000\000\000\000\000\000\000\000\000\002\028\028\000\000\000\000\030\000\000\000\000\000\000\000\000\000\030\168\000\000 4\000\000\000\000\000\000\000\000\tF\000\000\000\000\000\000\003\210\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\0001B\000\000\000\000\000\000\003\132\000\000\000\000\000\000\000\000\000\000\000\004\001\172\003:\004\220\000\000\005\242\tv\t\134\t\152\000\000\000\000\000\000\000\000\000\000\000\000\005\138\022\134\000\000 \004\t\184\000\000\000\000\n\028\000\000\023\130\000\000*T\000\000\000\000\005\224\024\"\000\000 8\000\000\006\148 \240\000\000\000\000\000\000\tB\005\242\000\000\000\000\000\000\000\000\006b\000\000\007\148\000\000\006\204\t\022\000\000\000\000\000\000\003B\000\000\003\254\000\000\008\198\000\000\000\000\012\130\000\000\000\000\000\000\000\000\tz\000\000\000\000\n\250\000\000\024\206\000\000\026\252\013*\000\000\000\000\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\000\000\0001\\\000\000\006\168\000\000\000\000\000\000\000\000\000\000\000\252\000\000\n2\005\188\011\026\000\000\002\144\011\198\000\000\n`\000\000\002\180\000\000\003\132\000\000\004\140\000\000\026\252\000\000\000\000\000\000\000\000\000\000\005,\000\000\n\204\000\000\006 \000\000\026\252\013\142\000\000\003\008\000\000\013x\012f\000\000\t\188\000\000\n\028\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n^\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\013\148\012|\000\000\000\000\012\162\000\000\000\000\012\136\t\220\013\208\000\000\013\214\000\000\000\000\005\192\002@\000\000\012\186\000\000\000\000\012\242\000\000\000\000\000\000\000\000\000\000\000\000\013\194\012\172\000\000\000\000\000\000\012\208\012\180\n&\t\000\012\212\013\012\000\000\000\000\012\204\n:\n\014\012\232\013$\000\000\000\000\000H\013\248\000\000\014\014\000\000\0144\000\000\000\000\014\022\000\000\000\000\000\000\014\024\000\000\000\000\000\000\000\000\014\026\000\000\014<\000\000\000\000\014D\000\000\000\000\014L\000\000"), (16, "\003r\003\137\001.\005\248\005\171\005t\005u\001g\000\007\001h\003@\005\204\005\205\000\018\000J\000J\000_\006\025\003r\003\137\002\164\004`\004H\006/\001\234\006\132\005\246\005\249\005t\005u\0010\006\133\000\005\002=\000_\001g\0026\001h\006\134\000\017\004\025\005\206\001\236\003r\003\137\006\n\0026\006\015\006\026\000J\006\027\005\207\005E\001g\000\004\001h\002:\004\026\000\138\003t\003\203\003\204\000\139\003u\000\140\004T\0028\001i\005v\004\253\006\016\001j\006\019\005t\005u\004\026\005\172\003t\000\005\006\028\005\155\003u\000\138\000\138\006\176\006\177\000\149\000\139\0029\006\029\000\025\005v\000\140\001/\007=\001i\000\024\000_\0029\001j\002\238\001w\003t\005\153\005t\005u\003u\0067\006\011\007>\000\140\000\028\004\143\001i\003\142\000\140\001\181\001j\006\012\006\013\000\141\001/\000h\006\136\000\142\003A\000K\003\240\000J\001w\000_\000a\001\225\000e\0017\000_\005v\006:\006\181\000\140\000\140\006\137\003r\003\137\000\141\000\141\005z\001w\000\142\000\142\004\003\000_\000\151\004Z\001\013\006\190\005\184\003\142\000_\003\242\003\130\001\217\006\134\006\191\004\025\004\008\004\188\005v\004\003\004\t\004\027\000g\003\131\004\145\004n\001B\000\151\000\151\003\130\001x\000 \005{\001\186\004\008\004\\\003\203\003\204\004\t\004\027\006\138\003\131\005\003\000g\004\003\000\013\006X\000_\001\181\006\139\004\026\004\013\003t\006\164\003\130\004I\003u\004h\001x\004\008\001\140\006\210\004#\004\t\001\188\004\127\003\131\004@\003\146\004\013\000\016\000\017\005\137\004\030\006\166\000J\001x\001g\004\\\001\203\004#\000\152\001\212\006\168\002H\004@\003\146\000J\000\138\000\031\003\147\000h\000\149\006=\004\013\003\148\005\152\000_\001}\003\149\000\008\006b\002;\000\153\003\150\000\152\000\152\001\143\003\147\003r\003\137\003\146\000\138\003\148\006\211\004\254\000\149\003\149\001\186\005\153\005t\005u\003\150\001\141\003@\000_\001\145\000\153\000\153\002\164\004`\004H\005|\003\147\000\140\001\215\000_\001i\003\148\005\000\001\150\001j\003\149\004\003\001y\000\140\001\189\003\150\000\203\001\187\000\141\001Q\000\154\003\130\000\142\001\012\000\"\005\138\004\008\003\203\003\204\000J\004\t\004\027\006\212\003\131\004\026\003\206\003t\000\140\001\141\001w\003u\006\139\000\141\000\155\000\155\006\214\000\142\001\015\000\194\0016\000\151\005v\005\182\001\213\000\203\003\240\007\006\000\157\000\159\006P\006Q\004\013\000_\003r\003\137\004\030\006\216\000\144\001\015\001E\0016\001\"\004#\000_\000\151\006\218\006U\004@\003\146\000_\000\005\003r\003\137\006\134\006\196\004H\001\027\003\243\003\244\003\246\004o\003\142\000$\001\181\005\181\005e\006/\000_\003\203\003\204\003\147\006\134\006\196\004H\000h\003\148\002=\0045\001\192\003\149\003r\003s\001\214\001\229\003\150\000\203\002\246\001x\005f\000(\004\026\0024\003t\005i\005t\005u\003u\004\003\000\152\006m\006\018\002=\001g\006X\001h\005\141\006\207\003\130\004\026\001\194\003t\000\251\004\008\000J\003u\001\192\004\t\004\027\004\231\003\131\000\153\004q\000\152\006\016\006\201\006\019\005t\005u\003\205\005\156\001g\004\\\001h\006d\000_\000\203\007\021\000\140\006b\003t\002\245\0065\001\237\003u\000\153\000\154\001\193\004\013\005\204\005\205\007\022\004I\000*\004h\000_\003r\003\137\005v\004#\000\140\001\236\004\127\001i\004@\003\146\001%\001j\0011\000\155\000\154\001\028\000_\001\029\000\156\000\203\006\134\006\196\004H\005\228\000J\006?\002\193\000\157\004\003\002\219\001\213\003\147\000\140\005\207\005v\001i\003\148\000\155\003\130\001j\003\149\001w\000\193\004\008\004\017\003\150\004\003\004\t\004\027\006\202\003\131\000\157\000_\000a\000b\000e\003\130\004\026\006\139\003t\000/\004\008\004\011\003u\0003\004\t\004\027\006\202\003\131\001w\000h\003r\003\137\006\203\0017\001\191\006\139\000\203\004\013\0002\004\011\005\140\004I\000\140\006\204\003\130\005\182\002\198\000\203\004#\000J\002\199\006\206\000g\004@\003\146\004\013\003\131\002\193\002,\004I\002\197\006\204\006\002\005\185\005w\006Z\004#\001\186\006[\006\206\005\137\004@\003\146\0014\003M\003/\003\147\000J\001x\007\030\002H\003\148\000J\006_\006\003\003\149\000_\000\140\006\006\003t\003\150\003r\003\137\003u\003\147\001-\000J\0005\003\145\003\148\0017\003\174\006l\003\149\005\133\002H\001x\000_\003\150\004\003\006\003\006\134\006\196\004H\002\238\006K\006L\005\011\002\198\003\130\003r\003\137\002\199\003\147\004\008\005\138\004b\005\131\004\t\004\027\006\202\003\131\004b\005\134\005t\005u\006d\003\150\000\203\006\139\006X\004A\004V\004\011\003\142\002\212\001\145\000_\004\026\004W\003t\006b\001\172\001\"\003u\005\138\001\189\002\213\000\203\004\013\001\152\000h\000_\004I\006\205\006\204\002\193\004\022\001\027\002\197\004#\003r\003\137\006\206\001\145\004@\003\146\002\238\004\023\003t\004Y\0007\001g\003u\001h\001\012\006/\000_\001\148\001(\003\130\006\134\006\196\004H\000h\006\004\002=\005v\003\147\004t\002\239\000;\003\131\003\148\003\237\001\018\000_\003\149\000h\001\015\006\015\0016\003\150\005\013\003\144\003\203\003\204\002\212\003&\003*\003\020\006\004\000J\000\140\005p\005\023\002\242\002\198\004\026\002\213\003t\002\199\002\166\006\016\003u\006\019\005t\005u\001C\000\140\005q\004\003\001i\005\025\006\213\000=\001j\003\146\003\023\000J\005|\003\130\0030\000J\002\245\003\238\004\008\006\007\003\203\003\204\004\t\004\027\006\202\003\131\006\193\005\252\003r\003s\000_\003\147\004\003\006\139\000J\001\026\003\148\004\011\001w\001%\003\149\001&\003\130\004j\001\028\003\150\001\029\004\008\000\203\004e\001\027\004\t\006g\004\013\003\131\003r\003\137\004I\000J\006\204\002\247\005v\0060\005\002\004#\000?\004\011\006\206\002\166\004@\003\146\000_\000C\006c\002\248\006\134\006\196\004H\000_\006\208\003\239\001\223\004\013\004\003\000J\000\140\000\138\003t\002\212\003@\000\139\003u\003\147\003\130\000J\003@\001<\003\148\004\008\003\146\002\213\003\149\004\t\004\027\006\202\003\131\003\150\006d\006o\000\203\003\203\003\204\004\026\006\139\003t\004v\001x\004\011\003u\000g\004t\003\147\001\231\001O\000\203\000\138\003\148\000h\006\217\000\139\003\149\003\238\007\007\004\013\000_\003\150\000J\004I\002\164\006\204\003r\003\137\001\192\000\140\004#\000\140\000h\006\206\000\141\004@\003\146\006}\000\142\000B\004W\000\138\000_\000E\002H\000\139\002\164\004`\004H\004\029\001\028\000J\001\029\0063\000\203\002\247\000h\002\167\003\147\001\194\004\023\003T\001g\003\148\001h\000J\000\151\003\149\000\140\002\250\001\145\004X\003\150\000\141\003\130\0031\0036\000\142\006\184\003r\003\137\006\185\001l\004\026\001\154\003t\003\131\000h\007\014\003u\003A\004\003\001u\000h\000\004\000_\0045\006k\000\140\004\169\004,\003\130\005\026\000\141\000J\000\151\004\008\000\142\003r\003\137\004\t\004\027\006\202\003\131\001\233\001g\000\203\001~\000\005\000\140\005\025\006\139\001i\004\250\000_\004\011\001j\006\130\002\164\004`\004H\003F\000J\006\189\000h\000\151\004\203\004\231\003t\004N\005\014\004\013\003u\000_\000\152\004I\006\141\006\204\003[\003J\004\023\000_\004#\003\136\004\129\006\206\001w\004@\003\146\000J\004y\004\209\001\015\000h\0016\004\026\000\153\003t\005\000\000G\004|\003u\000\140\006\152\004\027\001i\004\003\000h\004\171\001j\003\147\000_\000J\000\152\004\129\003\148\003\130\000J\000J\003\149\006X\004\008\002\165\006\003\003\150\004\t\004\027\000L\003\131\005\006\004n\004~\000_\003r\003\137\000\153\001\131\004\179\005\015\001w\004\011\006\155\000N\000\152\000\155\004#\002\031\005\144\004(\000_\004@\004\195\004\170\002\164\004`\004H\004\013\000Q\000\161\004\139\004I\000S\004h\000J\001x\000\153\005\013\004#\000J\003\130\004(\000W\004@\003\146\000h\004\154\005\203\005t\005u\004\210\0017\003\131\002\193\000\155\005\145\002\197\004\023\005!\004\003\004\132\004\026\001\228\003t\004\211\006\153\003\147\003u\000\163\003\130\001\"\003\148\000h\000\138\004\008\003\149\005#\000\139\004\t\004\027\003\150\003\131\004l\004n\000\155\001\027\003r\003\137\001x\004\204\006\022\004\213\004\194\004\011\004\218\002B\004\236\003\146\000\165\001\204\002x\002\143\000_\001\145\005$\006\t\002\164\004`\004H\004\013\002\238\005v\001\134\004I\002\198\004h\004\222\001\156\002\199\003\147\004#\000J\005#\004(\003\148\004@\003\146\000J\003\149\005'\000\140\005c\005d\003\150\001\144\000\141\006\158\000_\006\159\000\142\006\148\000J\006\149\004\026\000\203\003t\000h\005#\003\147\003u\0033\002\201\003L\003\148\004\003\004|\001\145\003\149\006\015\000_\000J\001\146\003\150\006b\003\130\001\147\000J\000\151\000J\004\008\001\148\003r\003\137\004\t\004\027\000\138\003\131\004\147\004n\000\147\004\176\006\016\004\193\006\019\005t\005u\004}\000_\004\011\006g\004\238\002\164\004`\004H\001$\004\148\002\239\006g\004\148\001\028\002\165\001\029\006G\000\203\004\013\006\147\006g\004\243\004I\000_\004h\004\243\006s\002\212\003\019\004#\003\020\001g\004(\001h\004@\003\146\002\242\004\023\0017\002\213\004\150\006\154\004\026\004\149\003t\005/\000\140\002\210\003u\007\026\004\003\000\141\004\245\002\237\000d\000\142\004\244\003\147\003\023\000\152\003\130\005v\003\148\0051\002\245\004\008\003\149\003w\001\210\004\t\004\027\003\150\003\131\005\n\004n\005\193\006v\003r\003\137\004\237\005s\000\153\000\205\000\151\004\011\006\235\003\128\004\023\000\140\0052\001\"\001i\003\221\000_\003\236\001j\005q\006\134\005\191\004\025\004\013\005\194\005t\005u\004I\001\027\004h\0051\002\247\0055\006I\004#\005=\005@\004(\002\193\004@\003\146\002\197\007\014\000\208\006\193\002\248\005C\000\138\001w\000\212\005#\000\139\000\155\005?\005?\006\153\006\235\004\026\004\003\003t\006c\000\138\003\147\003u\005#\000\147\000\167\003\148\003\130\000\211\006\148\003\149\006\149\004\008\000\203\006\209\003\150\004\t\004\027\002\166\003\131\006\162\004n\007\004\000\152\006j\003r\003s\005v\006\235\006\030\006\235\004\011\006i\006\135\002\238\003L\006\199\006\193\002\198\003@\000\182\006h\002\199\000\140\000\214\000\153\007!\004\013\000\141\006\165\000\216\004I\000\142\004h\000\220\003r\003\137\000\140\004#\007\025\004\023\004(\000\141\004@\003\146\001x\000\142\000\222\000\225\007 \000\183\000_\001g\000\229\001|\006\134\001%\004\025\001+\006\242\000\151\001\028\000\140\001\029\003t\000\203\003\147\000\228\003u\004\003\006\215\003\148\000\231\000\155\000\151\003\149\000\233\000\184\000\237\003\130\003\150\000\185\000_\000\239\004\008\000\241\000\245\000\157\004\t\004\027\006\195\003\131\004\026\000\138\003t\001\198\007\014\001\209\003u\006\139\002\239\000\244\000\247\006\198\000\249\000\252\000\254\006\236\001\000\000\140\006\194\001\002\001i\001\145\007\015\001\006\001j\002\212\003\022\004\013\003\020\003r\003\137\004\030\006\200\001F\002\242\001\158\001\011\002\213\004#\000h\001;\006\206\0045\004@\003\146\000_\000\152\001A\006\238\006\134\006\240\004\025\001@\001\222\001w\001\221\003\023\001\"\000\140\007\015\000\152\001\227\002\245\000\141\001\241\001\244\003\147\000\142\000\153\007\015\001\248\003\148\001\027\003\130\001\247\003\149\001g\001\183\001h\001\250\003\150\001\252\000\153\004:\002\193\003\131\004\026\002\218\003t\002\000\002\002\002\005\003u\004\003\002\t\000\151\000_\000a\001\t\000e\002\008\004>\002\011\003\130\006\197\002\013\002\247\000\183\004\008\003r\003\137\002\017\004\t\004\027\006\195\003\131\001\197\002\019\000\138\002\021\002\248\002\025\001V\006\139\002\024\000_\002\027\006\198\002\029\002\164\000\155\004\025\001x\000\140\000\184\002 \001i\000g\000\185\000_\001j\000\140\002\"\004\013\000\157\002\198\002$\004\030\006\200\002\199\002\166\002&\003\132\002*\004#\0023\0022\006\206\002A\004@\003\146\000\138\003r\003\184\002G\000\147\004\026\002F\003t\002\138\001w\000J\003u\000\152\002J\000\140\002M\000_\002Q\004\003\000\141\001%\003\147\0039\000\142\002P\001\028\003\148\001\029\003\130\000\203\003\149\002S\002U\004\008\000\153\003\150\002Y\004\t\004\027\006\195\003\131\005\018\002[\003r\003\137\004\142\006\155\002^\006\139\002b\002a\000\151\006\198\002d\002f\002j\002l\000\140\000\140\000_\003t\002n\000\141\002\164\003u\004\025\000\142\002\166\004\013\002r\002q\002t\004\030\006\200\005\130\002v\002y\002{\002}\004#\002\127\002\131\006\206\002\212\004@\003\146\000_\001x\000J\002\137\002\164\002\136\002\142\002\193\000\151\002\213\002\217\005\131\004\003\002\148\004\026\002\147\003t\005\134\005t\005u\003u\003\147\003\130\001\012\005n\005\150\003\148\004\008\005\129\005\143\003\149\004\t\004\027\005\187\003\131\003\150\000h\003r\003\137\005\222\005\244\003T\005\254\000\152\006\024\004\018\004\131\001\015\002\193\0016\004\140\002\197\006\174\000_\004\142\006\220\006\224\002\164\004\020\004\025\006\243\001g\004\013\001~\000\140\000\153\004\030\004\133\002\198\001\145\006\247\006\248\002\199\004#\006\253\003\130\004(\006\254\004@\003\146\003N\005v\007\003\001\160\006\157\007\002\000\152\003\131\006\148\007\n\006\149\007\012\000\203\007\018\004\026\007\019\003t\007\023\003R\007\024\003u\003\147\007\027\001T\007\028\002\238\003\148\004\003\000\153\002\198\003\149\007\031\007\"\002\199\000h\003\150\007#\003\130\000\140\002\166\0075\001i\004\008\003r\003\137\001j\004\t\004\027\001\195\003\131\000\203\007)\004 \000\183\0074\007.\0072\007:\0079\000_\000J\004\131\007<\002\164\004!\004H\007?\000\000\000_\000a\0019\000e\001\131\000\000\004\027\001w\000\155\004\013\003U\000\000\000\184\004\030\004\133\000\000\000\185\000\000\000\000\002\212\004#\000\000\000\157\004(\000\000\004@\003\146\001g\003Y\001h\000\000\002\213\004\026\000\000\003t\005\146\000\000\000\000\003u\004\003\0058\000g\000\000\002\239\000\000\000\000\000\000\004#\003\147\003\130\004(\000\000\004@\003\148\004\008\003r\003\137\003\149\004\t\004\027\002\212\003\131\003\150\003\030\004K\000\000\000\000\000\000\000\000\002\242\000\138\000_\002\213\004M\001S\002\164\004!\004H\000_\000a\001>\000e\000\000\000\000\000\140\001x\001g\001i\001~\004\013\000\000\001j\000\000\004\030\004O\000\000\001\132\002\245\000\000\000\000\004#\000\000\000\000\004Q\000h\004@\003\146\000\000\001g\001\134\001h\000\000\004\026\000\000\003t\000\000\000\000\000\000\003u\000g\000\000\001w\000\000\000\000\000\000\004\003\000\000\000\140\003\147\000\000\000\000\001\144\000\141\003\148\003!\003\130\000\142\003\149\003r\003\135\004\008\002\247\003\150\000\140\004\t\004\027\001i\003\131\004B\000\000\001j\000\000\000\000\001\145\000\000\002\248\000\000\000\000\001\146\004\011\000\000\000\000\001\147\000\000\000\151\000\140\004F\001\148\001i\000\138\000\000\000\000\001j\000\139\001\012\004\013\000\000\000\000\000\000\004I\001w\004J\000\000\001g\000\000\001{\004#\003r\003\137\004(\000\000\004@\003\146\000\000\000\000\000\140\004P\003t\001\015\001x\0016\003u\001w\000_\000\000\004\003\000\000\002\164\004!\004H\000\000\000\000\000\000\000\000\003\147\003\130\003r\003\137\000\000\003\148\004\008\000\000\000\000\003\149\004\t\004\027\000\140\003\131\003\150\000\000\000\000\000\141\000_\000\000\000\000\000\142\002\164\004`\004H\004\011\000\140\000\000\000\152\001i\004\026\000\000\003t\001j\000\000\000\000\003u\000\000\001\012\000\000\000\000\004\013\000\000\000\000\001x\004I\000\000\004J\000\000\000\151\000\153\000\000\004#\001\145\000\000\004(\000\000\004@\003\146\004\026\000\000\003t\001\015\001w\0016\003u\001x\001\162\001\142\000_\000a\001\219\000e\000\000\000\000\000_\000a\0020\000e\000\000\003\147\000\000\000\000\000\000\003\130\003\148\000\000\003r\003\137\003\149\001\144\000\000\000\000\000\000\003\150\000\000\003\131\000\000\002\193\000\000\000\000\002\197\000\000\000_\000\000\005\245\000\000\002\164\004`\004H\000g\000\000\001\145\000\000\000\000\000\000\000g\001\146\000\000\000\000\000\000\001\147\000\000\004\003\000\000\000\000\001\148\000\152\005\246\005\249\005t\005u\000_\003\130\001\145\003r\003\134\000\000\004\008\000\000\000\000\001x\004\t\004\027\004\026\003\131\003t\000\000\001\164\000\153\003u\000\000\004\003\000\000\000\000\000\140\000\000\004\011\000\000\002\198\000\000\000\000\003\130\002\199\006\014\000\000\000\138\004\008\000\000\000\000\000\147\004\t\004\027\004\013\003\131\000\000\004g\004I\000\000\004J\000\000\000\000\000_\000\000\004#\000\000\004\011\004(\000\000\004@\003\146\000\000\000\140\005v\003t\000\000\000\000\000\155\003u\001\"\000\000\000\000\004\013\000\000\000\000\000\000\004I\000\000\004h\003r\003\137\000\169\003\147\004#\001\027\000\000\004(\003\148\004@\003\146\001g\003\149\001h\000\140\000\000\000_\003\150\000\000\000\141\002\164\004`\004H\000\142\000\000\000\000\000\000\000\000\004\003\000\000\000\000\005\152\003\147\001g\001\012\001h\000\000\003\148\003\130\000\000\001\012\003\149\000\000\004\008\000\000\000\000\003\150\004\t\004\027\002\212\003\131\000\151\004i\000\000\005\153\005t\005u\004\026\001\015\003t\0016\002\213\004\011\003u\001\015\000\000\0016\000\000\000\140\000\000\000\000\001i\001\179\001\181\000\000\001j\000\000\000\000\004\013\000\000\003r\003\137\004I\000\000\004h\000\000\003\130\000\000\000\000\004#\000\140\006 \004(\001i\004@\003\146\000_\001j\003\131\000\000\002\164\004\134\004H\000\000\001g\001w\001h\000\000\000_\000a\002?\000e\000\000\000\000\001%\000\000\003C\003\147\005v\001\028\000\000\001\029\003\148\000\203\000\000\000\000\003\149\001w\000\000\000\152\002\247\003\150\002\193\000\000\000\000\002\197\000\000\004\026\000\000\003t\000\000\000\000\000\000\003u\002\252\000\000\001\183\000\000\000\000\000g\004\003\000\153\000\000\000_\000a\002D\000e\000\000\000\000\000\000\003\130\000\140\000\000\000\000\001i\004\008\003r\003\137\001j\004\t\004\027\001\189\003\131\000\203\004{\004\136\000\183\001g\000\000\001h\000\000\000\000\000_\001x\004\011\000\000\002\164\004\134\004H\002\238\000\000\000_\000\000\002\198\000g\002\164\000\000\002\199\001w\000\155\004\013\000\000\000\000\000\184\004I\001x\004h\000\185\000\000\000\000\000\000\004#\000\000\000\157\004(\000\000\004@\003\146\000\000\000\000\000\000\000\000\000\000\004\026\000\000\003t\005\159\000\000\000\000\003u\004\003\000\000\003T\000\000\000\140\000\000\000\000\001i\000\000\003\147\003\130\001j\000\000\000\000\003\148\004\008\003r\003\137\003\149\004\t\004\027\001\145\003\131\003\150\001g\004\156\001z\000\000\005\171\005t\005u\004\138\000_\000\000\004\011\001\166\002\164\004!\004H\000\000\000\000\001w\000\000\001\145\000\000\002\239\001x\000\138\000\000\000_\004\013\000\149\001\012\002\164\004I\000\000\004\137\001\168\000\000\000\000\000\000\004#\002\212\000\000\004(\003\025\004@\003\146\000\138\000\000\000\000\002\242\000\147\004\026\002\213\003t\001\015\000\000\0016\003u\000\000\000\140\000\000\000\000\001i\000\000\004\003\000\000\001j\003\147\003T\000\000\005v\003\027\003\148\000\000\003\130\001\012\003\149\002\245\005\237\004\008\000\000\003\150\000\140\004\t\004\027\000\000\003\131\000\141\000\000\003r\003\137\000\142\001\145\004\027\000\000\000\000\001w\001x\004\011\001\015\000\000\0016\000\000\000\140\000\000\000_\001\174\000\000\000\141\002\164\000\000\004\025\000\142\000\000\004\013\003$\000\000\000\000\004I\000\151\004\137\002\247\000\000\002\193\000\000\004#\002\197\005:\004(\000\000\004@\003\146\000_\000\000\004#\002\248\002\164\004(\000\000\004@\000\151\000\000\000\000\000\000\004\003\000\000\004\026\000\000\003t\000\000\003r\003s\003u\003\147\003\130\005\016\000\000\000\000\003\148\004\008\000\000\002\173\003\149\004\t\004\027\001\145\003\131\003\150\000\000\003r\003\137\000\000\000\000\003T\001x\000\000\000\000\000\000\004\011\001\176\000\140\004\027\005\004\000\000\002\198\000_\004\142\000\000\002\199\002\164\000\000\004\025\000\000\001g\004\013\001h\000\000\000\152\004I\000\000\004J\000\000\000\000\002\193\000\000\004#\002\197\000\140\004(\003t\004@\003\146\000\000\003u\000\000\005\015\000\000\000\000\000\152\000\153\000\000\000\000\004#\000\000\000\000\004(\004\026\004@\003t\000\000\000\000\000\000\003u\003\147\000\000\001\183\000\000\000\000\003\148\004\003\000\153\000\000\003\149\000\000\000\154\000\000\000\000\003\150\000\000\003\130\000\140\000\000\000\000\001i\004\008\003r\003\137\001j\004\t\004\027\002\238\003\131\005\020\000\000\002\198\000\183\004\142\000\155\002\199\000\000\000\000\000_\000\196\004\131\000\000\002\164\000\000\004\025\000\000\000\000\000\000\000\157\000\000\002\212\005\152\000\000\004\027\001w\000\155\004\013\000\000\000\000\000\184\004\030\004\133\002\213\000\185\000\000\000\000\000\000\004#\005\152\000\157\004(\000\000\004@\003\146\005\153\005t\005u\003\130\000\000\004\026\000\000\003t\000\000\000\000\000\000\003u\004\003\005<\000\000\003\131\000\000\005\153\005t\005u\004#\003\147\003\130\004(\000\000\004@\003\148\004\008\003r\003\137\003\149\004\t\004\027\000\138\003\131\003\150\000\000\000\147\000\000\002\239\000\000\005\022\000\000\000\000\000_\004\142\004\131\000\000\002\164\000_\004\025\000\000\000\000\000\000\000\000\000\000\002\212\002\247\001x\002\241\000\000\000\000\004\013\000\000\005v\002\242\004\030\004\133\002\213\000\000\000\000\002\254\000\000\004#\005h\000\000\004(\000\000\004@\003\146\000\000\005v\003\147\000\000\000\000\004\026\000\000\003t\000\000\000\000\000\140\003u\000\000\002\245\000\000\000\141\003\152\005f\004\003\000\142\000\000\003\147\005i\005t\005u\000\000\003\148\000\000\003\130\000\000\003\149\000\000\000_\004\008\000\000\003\150\005\190\004\t\004\027\000\000\003\131\006p\005\152\000\000\000\138\004\142\001\145\000\151\000\139\000\000\000\000\000\000\004\131\000\000\000\000\000\000\000\000\002\247\000\000\005\191\001\178\000\000\005\194\005t\005u\005\153\005t\005u\004\013\000\000\000\000\002\248\004\030\004\133\003r\003\137\000\000\006\015\000\000\004#\000\000\000\000\004(\006x\004@\003\146\005v\000\000\000\000\000\000\000_\000\000\005\165\000\000\002\164\004!\004H\000\000\004\003\001\"\006\016\000\140\006\019\005t\005u\000\000\000\141\003\147\003\130\005\163\000\142\000\138\003\148\004\008\001\027\001R\003\149\004\t\004\027\000\000\003\131\003\150\003r\003s\000\000\000\152\005v\000\000\000\000\005v\000\000\004\026\004\131\003t\000\000\000\000\000\000\003u\000\151\000\000\000\000\000\000\001W\000\000\000\000\000\000\000\000\000\153\004\013\000\000\000\000\000\000\004\030\004\133\003r\003\137\000\000\000_\000f\004#\000e\000\000\004(\000\000\004@\003\146\005v\001Y\000\140\000\203\000_\000\000\000\183\000\141\002\164\000\000\004\025\000\142\000\000\000\140\000\000\003t\000\000\000_\000\000\003u\000\000\003\147\000\000\000\000\000\000\000\000\003\148\000\000\000\000\000\155\003\149\000\000\000g\000\184\000\000\003\150\000\000\000\185\000\000\000\151\000\000\000\000\000\000\000\157\000\000\004\026\000\000\003t\000\000\000\000\000\152\003u\000_\000a\002\134\000e\000\000\001%\004\003\004/\000\000\000\000\001\028\000\000\001\029\005\208\000\203\000\000\003\130\000\000\000\000\005\178\000\153\004\008\003r\003\137\000\000\004\t\004\027\000\000\003\131\006~\000\000\006\167\001\"\004\142\000_\000a\002\140\000e\000_\000\000\004\011\000g\002\164\004!\004H\000\181\000\000\001\027\000\000\000\000\000_\000a\002\145\000e\006#\000\000\004\013\000\000\000\000\000\000\004I\000\000\004J\000\000\003\130\000\152\000\000\004#\000\155\000\000\004(\000\000\004@\003\146\000\000\000g\003\131\000\000\000\000\004\026\000\000\003t\000\157\000\000\000\000\003u\004\003\000\153\000\000\000\000\000\000\000g\000\000\000\000\000\000\003\147\003\130\000\000\000\000\000\000\003\148\004\008\000\000\000\000\003\149\004\t\004\027\000\000\003\131\003\150\005\152\000_\000\000\001\012\003r\003\133\000\000\000\000\000\000\000\000\004\131\004\151\003r\003\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\153\005t\005u\004\013\001\015\000_\0016\004\030\004\133\002\164\003\147\004H\000\000\000\000\004#\003r\003\137\004(\000\000\004@\003\146\000\000\000\138\001%\003\154\0047\000\149\004L\001\028\000\000\001\029\000_\000\203\000\000\000\000\002\164\000\000\004\025\000\140\004\003\003t\001\012\003\147\006\015\003u\001\"\004\026\003\148\003t\003\130\000\000\003\149\003u\005\223\004\008\000\000\003\150\000\000\004\t\004\027\001\027\003\131\000\000\000\000\005v\001\015\006\016\0016\006\019\005t\005u\000\000\004\026\004\011\003t\001\012\005\224\000\000\003u\000\140\005\227\005t\005u\000\000\000\141\000\000\000\000\000\000\000\142\004\013\000\000\001\012\000\000\004I\000\000\004J\000\000\000\000\000\000\001\015\004#\0016\000\000\004(\000\000\004@\003\146\003r\003\137\000\000\000_\001\014\000\000\000e\000\000\001\015\000\151\0016\000\000\004\024\000\138\000\000\002\166\000_\000\147\000\000\000\000\002\164\003\147\004\025\000\000\000\000\005v\003\148\000\000\000\000\000_\003\149\000\000\004\003\000\000\003\130\003\150\003@\005v\000\000\000\000\000\000\000\000\003\130\000\000\000g\000\000\003\131\004\008\000\000\000\138\000\000\004\t\004\027\000\149\003\131\000\000\000\000\004\026\004\003\003t\000\000\000\000\001%\003u\004\182\005\176\004\153\001\028\003\130\001\029\000\140\000\203\000\000\004\008\000\000\000\141\000\000\004\t\004\027\000\142\003\131\006g\004\013\001\192\000\000\000\000\004I\000\152\004\155\000\000\000\000\000\000\004\028\004#\000\000\000\000\004(\002\166\004@\003\146\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\151\004\013\000\153\000\000\000\141\004\030\004\031\001\194\000\142\003r\003\137\003@\004#\000\000\003\147\004(\000\000\004@\003\146\003\148\000\000\004\"\000\000\003\149\0061\000_\000\000\000\154\003\150\002\164\000\000\004\025\000\000\000\000\005\229\000\000\000\151\000\000\000\000\000\000\003\147\000h\000\000\004\003\0045\003\148\000\000\000\000\000\000\003\149\000\155\000\000\000\000\003\130\003\150\001\128\003r\003s\004\008\000\000\000\000\000\000\004\t\004\027\000\157\003\131\004\026\000\000\003t\000\000\001\012\000\000\003u\002\193\000\000\000\000\002\197\004\028\000\152\000\000\000\000\000\000\000\000\000\000\000\000\004:\003r\003\137\000\000\005\226\000\000\000\000\001I\004\013\001\015\000\201\0016\004\030\004\031\000\000\000\153\000\000\000_\004>\004#\000\000\002\164\004(\004\025\004@\003\146\000\000\005\224\000\140\000\152\003t\005\227\005t\005u\003u\000\202\000\000\000\203\000h\000\000\000\183\0045\000\000\006\015\000\000\000\140\000\000\003\147\006k\002\198\000\000\000\153\003\148\002\199\002\193\000\000\003\149\002\197\004\026\000\000\003t\003\150\000\000\000\155\003u\000\000\006\016\000\184\006\019\005t\005u\000\185\000\000\000\000\004\003\000\000\000\154\000\157\000\000\001G\000\000\000\000\004:\000\000\003\130\000\000\000\000\003r\003\137\004\008\000\000\000\000\000\000\004\t\004\027\005v\003\131\000\000\000\000\000\155\004>\000\000\005\152\000_\001\130\000\000\000\000\002\164\004\028\004\025\000\000\000\140\000\000\000\157\000\000\002\198\000\000\002\193\000\000\002\199\002\216\000\000\000\000\000\000\004\013\005\153\005t\005u\004\030\004\031\002\193\003\130\005v\002\197\000\000\004#\000\000\000\000\004(\000\000\004@\003\146\000\000\003\131\004\026\000\138\003t\000\000\002\212\000\139\003u\004\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\213\003\130\000\000\003\147\003r\003\137\004\008\000\000\003\148\000\000\004\t\004\027\003\149\003\131\000\140\000\000\000\000\003\150\002\198\004k\000_\000\000\002\199\000\000\002\164\004d\004\025\000\140\000\000\005v\000\000\002\198\000\000\000\000\000\000\002\199\000\000\000\000\000\000\000\000\000\000\004\013\000\140\000\000\000\000\004\030\004f\000\141\000\000\000\000\003\147\000\142\004#\000\000\002\212\004(\000\000\004@\003\146\002\193\000\000\004\026\002\197\003t\003\156\000\000\002\213\003u\000\000\002\247\000\000\000\000\000\000\000\000\000\000\005\190\000\000\004\003\0068\000\151\003\147\000\000\000\000\003\000\000\000\003\148\000\000\003\130\000_\003\149\003r\003\137\004\008\000\000\003\150\000\000\004\t\004\027\005\191\003\131\000\000\005\194\005t\005u\000\000\004c\000_\000\000\000\000\000\000\002\164\004d\004\025\000\000\000\000\000\000\002\238\002\212\000\000\000\000\002\198\000\000\000\000\000\000\002\199\006\015\000\000\004\013\000\000\002\213\002\212\004\030\004f\002\193\000\000\002\215\002\197\005\174\004#\000\000\000\000\004(\002\213\004@\003\146\000\000\000\000\004\026\006\016\003t\006\019\005t\005u\003u\004\003\001\"\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000\000\003\130\005v\003\147\003r\003\137\004\008\001\027\003\148\000\000\004\t\004\027\003\149\003\131\000\000\000\000\000\153\003\150\004w\000\000\000_\000\000\000\000\000\000\002\164\004x\004\025\002\238\000\000\000\000\000\000\002\198\000\000\000\000\000\000\002\199\000\000\000\000\000\000\002\239\000\000\004\013\000\000\000\000\000\000\004\030\004z\005\245\002\247\000\000\000\000\005v\004#\000\000\000\000\004(\002\212\004@\003\146\002\244\000\000\004\026\003\002\003t\000\155\002\242\000\000\003u\002\213\000\000\005\246\005\249\005t\005u\000\000\000\000\000\000\004\003\000\171\000\000\003\147\000\000\000\000\000\000\000\000\003\148\000\000\003\130\000\000\003\149\003r\003\137\004\008\002\245\003\150\000\000\004\t\004\027\000\000\003\131\000\000\004\130\000\000\000\000\000\000\004u\000_\005\214\000\000\000\000\002\164\004d\004\025\002\239\000\000\000\000\001%\000\000\004\225\000\000\000\000\001\028\000\000\001\029\000\000\000\203\000\000\004\013\000\000\000\000\002\212\004\030\004f\003\025\000\000\005v\000\000\002\247\004#\002\242\000\000\004(\002\213\004@\003\146\000\000\000\000\004\026\000\000\003t\000\000\002\248\000\000\003u\004\003\000\000\005\190\006;\000\000\000\000\000\000\003\027\000\000\000\000\003\130\000\000\003\147\002\245\000\000\004\008\000\000\003\148\000\000\004\t\004\027\003\149\003\131\000\000\000\000\005\191\003\150\000\000\005\194\005t\005u\000\000\000\000\004\135\004\131\000\000\003r\003\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006t\000\000\000\000\004\013\003#\000_\005\190\004\030\004\133\002\164\002\247\004\025\000\000\000\000\004#\003r\003\137\004(\000\000\004@\003\146\000\000\000\000\000\000\002\248\000\000\006\128\000\000\000\000\005\191\000\000\000_\005\194\005t\005u\002\164\000\000\004\025\000\000\004\003\000\000\006D\003\147\006\015\000\000\005v\004\026\003\148\003t\003\130\000\000\003\149\003u\000\000\004\008\000\000\003\150\000\000\004\t\004\027\005\152\003\131\000\000\000\000\000\000\000\000\006\016\000\000\006\019\005t\005u\000\000\004\026\004\131\003t\000\000\000\000\000\000\003u\000\000\000\000\003r\003\137\005\153\005t\005u\000\000\005\152\000\000\004\013\005\152\000\000\000\000\004\030\004\133\000\000\005v\000_\000\000\000\000\004#\004\169\000\000\004(\000\000\004@\003\146\003r\003\137\000\000\005\153\005t\005u\005\153\005t\005u\000\000\000\000\006\131\000\000\000\000\000\000\000\000\000_\000\000\004\200\000\000\002\164\003\147\004\025\000\000\000\000\005v\003\148\000\000\000\000\000\000\003\149\004\203\004\003\003t\000\000\003\150\000\000\003u\000\000\000\000\005v\000\000\003\130\005\232\000\000\000\000\000\000\004\008\000\000\000\138\000\000\004\t\004\027\000\147\003\131\000\000\004\209\004\026\004\003\003t\000\000\000\000\000\000\003u\000\000\000_\006u\005v\003\130\000\000\005v\000\000\000\000\004\008\000\000\000\000\000\000\004\t\004\027\000\138\003\131\000\000\004\013\000\149\000\000\004\246\004\030\006w\003\142\000\000\001\181\000\000\006u\004#\006)\000\000\004(\000\000\004@\003\146\000\138\000\000\000\000\000\000\000\147\000\000\000\140\000\000\004\013\000\000\000\000\000\141\004\030\006w\005\152\000\142\000_\000\000\000\000\004#\000\000\003\147\004(\000\000\004@\003\146\003\148\000\000\000\000\000\000\003\149\006B\000\000\000\000\003\130\003\150\000\140\005\153\005t\005u\000\000\000\141\000\000\000\151\004\210\000\142\003\131\003\147\005\201\000\000\004\003\000\000\003\148\000\000\000\000\000\000\003\149\000\140\004\248\000\000\003\130\003\150\000\141\000\000\000\000\004\008\000\142\000\000\002\193\004\t\004\027\002\197\003\131\000\151\000\000\005\212\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\138\006u\004\213\000\000\000\147\004\249\000\000\004\236\003\146\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000_\004\013\005v\000\000\000\000\004\030\006w\000\000\000\000\000\000\000\000\000\000\004#\000\000\003\147\004(\000\000\004@\003\146\003\148\000\138\000\000\000\152\003\149\000\139\000\000\002\238\000\000\003\150\000\000\002\198\000\000\005\152\000\000\002\199\000\000\000\197\000\198\000\200\000\201\003\147\000\140\000\000\000\000\000\153\003\148\000\141\000\000\000\000\003\149\000\142\000\000\000\152\000\000\003\150\005\153\005t\005u\000\000\000\138\000\000\000\000\000\000\000\147\000\202\000\000\000\203\000\000\000\000\000\183\000\000\000\000\000\000\000\152\000\153\000_\000\000\000\140\000\151\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\197\001n\000\200\000\201\000\000\000\155\000\000\000\000\000\153\000\184\000\000\000\000\000\154\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\001G\000\000\005\241\000\000\002\239\000\000\000\151\000\202\000\140\000\203\000\000\005v\000\183\000\141\000\155\000\000\000\138\000\142\000\000\003\139\000\147\002\212\003&\003'\003\020\000\000\003r\003s\000\157\000\000\002\242\000\000\000_\002\213\000\138\000\155\000\000\000\000\000\147\000\184\000\000\000\000\000\000\000\185\000\000\000\151\000\000\000\000\000\152\000\157\000_\001G\003\023\000\000\000\000\000\000\005\152\000\000\002\245\000\000\000\000\000\000\000\197\002\203\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\005\153\005t\005u\000\142\000\140\000\152\003t\000\000\003r\003\137\003u\000\202\000\140\000\203\000\000\000\000\000\183\000\141\000\000\000\000\000\000\000\142\000\000\002\247\000_\000\000\000\000\000\153\004\169\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\000\002\248\000\000\000\155\005\239\000\000\000\000\000\184\000\152\000\000\000\138\000\185\000\000\000\151\000\147\000\000\004\202\000\157\000\000\001G\000\000\000\000\000\197\003y\000\200\000\201\000_\000\000\005v\004\203\000\153\003t\000\000\000\000\000\000\003u\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\203\000\173\004\209\000\183\000\000\000\000\000\000\000\000\000\000\000\000\003r\003\137\000\000\000\000\000\000\000\140\000\000\000\000\000\000\003\130\000\141\000\152\000\000\000\000\000\142\000\000\000\155\000\000\000\000\000\000\000\184\003\131\003\252\005\017\000\185\000\197\004\005\000\200\000\201\000\152\000\157\000\000\001G\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\151\000\197\004%\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\000\000\202\000\000\000\203\000\000\002\238\000\183\003t\000\000\000\000\000\000\003u\000\000\000\000\000\000\000\000\000\000\000\000\003\130\000\202\000\000\000\203\006'\000\000\000\183\000\000\000\000\000\000\004\210\000\155\003\131\000\000\000\000\000\184\000\000\000\000\003\147\000\185\000\000\000\000\000\000\000\000\004\211\000\157\000\000\001G\000\000\000\155\000\000\000\000\003\158\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\138\001G\003r\003\137\000\139\000\000\000\152\004\213\000\000\000\000\004\218\000\000\004\236\003\146\000\000\003r\003\137\000\000\000\000\000\000\000\197\004\215\000\200\000\201\003\252\004]\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\003\147\004\003\003\252\004S\000\000\003\148\000\000\000\000\000\000\003\149\000\000\003\130\000\000\000\202\003\150\000\203\004\008\000\000\000\183\000\000\004\t\000\000\000\140\003\131\002\238\000\000\003t\000\141\000\000\000\000\003u\000\142\000\000\000\000\000\000\004\011\000\000\002\238\000\000\003t\000\138\000\155\000\000\003u\000\139\000\184\000\000\000\000\000\000\000\185\000\000\004\013\000\000\003r\003\137\000\157\000\000\001G\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\000\003r\003\137\003\146\000\000\000\000\000\000\000\000\000\000\000\000\003\252\003\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\252\004\007\003\147\003r\003\137\000\000\000\000\003\148\000\000\000\140\000\000\003\149\000\000\000\000\000\141\000\000\003\150\000\000\000\142\000\000\000\000\000\000\002\238\000\000\003t\003\252\004_\000\000\003u\004\003\002\193\000\000\000\000\002\197\000\000\002\238\000\000\003t\000\000\003\130\002\193\003u\004\003\002\197\004\008\000\000\000\151\000\000\004\t\000\152\000\000\003\131\003\130\000\000\000\000\000\000\000\000\004\008\000\000\000\000\002\238\004\t\003t\004\011\003\131\000\000\003u\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\004\011\000\000\000\000\004\013\000\000\000\000\000\000\000\000\000\000\003r\003\137\000\140\000\000\000\000\000\000\002\198\004\013\000\000\000\000\002\199\003\146\000\140\003r\003\137\000\000\002\198\000\000\000\000\000\000\002\199\000\000\003\252\005*\003\146\000\000\000\000\000\000\000\000\000\000\004\003\000\000\000\000\003\147\000\155\003\252\005,\000\000\003\148\000\152\003\130\000\000\003\149\004\003\000\000\004\008\003\147\003\150\000\175\004\t\000\000\003\148\003\131\003\130\000\000\003\149\000\000\002\238\004\008\003t\003\150\000\153\004\t\003u\004\011\003\131\000\000\000\000\004\003\000\000\002\238\000\000\003t\000\000\000\000\000\000\003u\004\011\003\130\000\000\004\013\000\000\000\138\004\008\000\000\000\000\000\147\004\t\000\000\000\000\003\131\000\000\000\000\004\013\000\000\000\000\000\000\003\146\000_\000\000\000\000\000\000\004\011\000\000\000\000\002\212\000\000\000\000\000\000\000\155\003\146\000\000\000\000\000\000\000\000\002\212\000\000\002\213\004\013\003\147\003r\003\137\000\000\000\177\003\148\000\000\000\000\002\213\003\149\000\000\000\000\000\000\003\147\003\150\000\000\003\146\000\000\003\148\000\000\000\140\000\000\003\149\003\252\005.\000\141\000\000\003\150\000\000\000\142\000\000\004\003\002\193\000\000\000\000\002\197\000\000\000\000\003\147\000\000\000\000\003\130\000\000\003\148\004\003\000\000\004\008\003\149\000\000\000\000\004\t\000\000\003\150\003\131\003\130\000\000\000\000\000\151\002\238\004\008\003t\000\000\000\000\004\t\003u\004\011\003\131\002\214\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\002\247\004\011\000\000\000\000\004\013\000\000\000\000\002\193\000\000\000_\002\197\000\000\000\140\000\000\003\004\000\000\002\198\004\013\000\000\000\000\002\199\003\146\000\000\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\003\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000_\003\147\000\000\000\000\000\000\000\000\003\148\000\000\000\140\000\000\003\149\000\000\000\000\000\141\003\147\003\150\000\152\000\142\000\000\003\148\000\000\000\000\000\140\003\149\003r\003s\002\198\000\000\003\150\000\000\002\199\000\000\004\003\001W\000\000\000\000\000\000\000\000\000\153\000\138\000\000\000\140\003\130\000\147\000\000\000\151\000\141\004\008\000\000\000\000\000\142\004\t\000\138\000\000\003\131\000_\000\147\000\000\001\201\000\000\000\203\000\000\000\000\000\183\000\000\000\000\004\011\000\000\000_\000\000\000\138\000\000\000\000\002\212\000\139\000\000\000\000\000\000\000\151\000\000\000\000\000\140\004\013\003t\000\000\002\213\000\155\003u\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\140\000\000\000\000\003\146\000\157\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\138\000\000\000\000\000\142\000\147\000\000\003\147\000\000\000\152\000\000\002\212\003\148\000\140\000\000\000\000\003\149\000_\000\141\000\151\000\000\003\150\000\142\002\213\000\000\000\000\001T\000\000\000\000\000\000\000\000\000\153\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\247\000\000\000\152\000\000\002\193\000\000\000\000\002\197\000\000\000\000\000\151\001\207\000\000\000\203\003\006\000\000\000\183\000\000\000\140\002\176\000\000\000\000\000\000\000\141\000\153\000\000\000\000\000\142\000\000\000\000\003\130\000\000\000\138\000\000\000\138\000\000\000\147\000\000\000\147\000\155\000\000\000\000\003\131\000\184\002\178\000\000\000\203\000\185\000\000\000\183\000\000\000\000\002\247\000\157\000\000\000\151\000\000\000\152\000\138\000\000\000\000\002\238\000\147\000\000\000\000\002\198\003\008\000\000\000\000\002\199\000\152\000\000\000\155\000\000\002\176\000\000\000\184\000\138\000\000\000\153\000\185\000\147\000\000\000\000\000\000\000\000\000\157\003b\000\152\000\140\000\000\000\140\000\153\000\000\000\141\000\000\000\141\000\000\000\142\002\195\000\142\000\203\000\000\000\000\000\183\000\000\000\000\000\000\000\000\003\147\000\153\000\179\003d\001\170\000\203\000\140\000\000\000\183\000\000\000\000\000\141\000\000\000\000\003\160\000\142\000\000\000\151\000\155\000\151\002\193\000\000\000\184\002\197\000\152\000\140\000\185\000\000\000\000\000\000\000\141\000\155\000\157\000\000\000\142\000\184\000\000\000\000\002\239\000\185\000\000\003b\000\000\000\151\000\000\000\157\000\153\000\000\000\000\000\155\000\000\000\000\000\000\000\000\000\000\002\212\003&\006z\003\020\000\000\000\000\000\000\000\151\000\187\002\242\000\000\003\182\002\213\000\203\002\193\000\000\000\183\002\197\000\000\000\000\000\000\002\193\002\238\000\000\002\197\000\000\002\198\000\000\000\000\000\000\002\199\003\023\000\000\000\000\000\000\000\000\000\000\002\245\000\000\000\155\000\152\000\000\000\152\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\182\003,\000\182\000\000\000\000\000\153\000\000\000\153\000\000\000\152\000\000\000\000\000\000\000\000\002\238\000\000\000\000\000\000\002\198\000\138\002\233\002\238\002\199\000\147\002\247\002\198\002\235\000\000\000\152\002\199\000\183\000\153\000\183\000\000\000\000\000\000\000\000\000\000\002\248\000\000\000\000\000\000\000\000\000\000\000\000\002\235\000\000\000\000\000\000\000\000\000\153\002\239\000\000\000\155\000\000\000\155\000\183\000\184\000\000\000\184\000\000\000\185\000\000\000\185\000\000\000\000\000\000\000\157\002\212\000\157\000\000\003\025\000\000\000\000\000\000\000\183\000\140\002\242\000\138\000\155\002\213\000\141\000\147\000\184\000\000\000\142\000\000\000\185\000\000\000\000\000\138\000\000\000\000\000\157\000\147\000\000\000\000\000\000\000\155\003\027\002\239\000\000\000\184\000\000\000\000\002\245\000\185\002\239\000\000\000\000\000\000\000\000\000\157\000\151\000\000\000\000\000\000\002\212\000\000\000\000\003\025\000\000\000\000\000\000\002\212\000\000\002\242\003\025\000\138\002\213\000\000\000\000\000\147\002\242\000\000\000\140\002\213\000\000\000\000\000\000\000\141\000\000\000\000\003\"\000\142\000\000\000\000\000\140\003\027\002\247\000\000\000\000\000\141\000\000\002\245\003\027\000\142\000\000\000\000\000\000\000\000\002\245\000\000\002\248\000\000\000\000\000\138\000\000\000\000\000\138\000\147\000\000\000\151\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003=\000\151\000\140\000\000\000\000\000\000\000\000\000\141\000\152\003\029\000\000\000\142\000\000\000\000\000\000\002\247\003 \000\000\000\000\000\000\000\000\000\000\002\247\000\000\000\000\002\235\000\000\000\000\000\138\002\248\000\153\000\000\000\147\000\000\000\000\000\000\002\248\000\000\000\000\000\151\000\140\000\000\000\000\000\140\000\000\000\141\000\138\000\000\000\141\000\142\000\147\000\000\000\142\000\000\002\193\000\183\000\000\002\197\000\000\003H\000\000\000\000\003\172\000\000\000\000\003\225\000\138\000\152\000\000\000\000\000\147\003P\000\000\000\000\000\000\000\000\000\000\000\151\000\155\000\152\000\151\000\000\000\184\000\000\002\235\000\140\000\185\000\000\000\000\000\153\000\141\000\000\000\157\000\000\000\142\000\000\002\235\000\000\000\000\000\000\000\000\000\153\000\000\000\140\000\000\000\000\000\000\003\227\000\141\003W\000\000\000\140\000\142\000\000\000\183\002\198\000\000\000\152\000\000\002\199\000\000\000\000\000\151\000\140\000\000\003\229\000\183\000\000\000\141\000\000\000\000\000\000\000\142\000\000\002\235\000\000\000\000\000\155\000\000\000\153\000\151\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\155\000\000\000\157\000\000\000\184\000\000\000\152\000\000\000\185\000\152\000\000\000\151\000\000\000\000\000\157\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\182\000\000\000\000\000\182\000\000\000\153\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\138\000\155\000\138\000\000\000\147\000\184\000\147\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\152\000\157\000\183\000\000\000\000\000\183\000\138\000\138\000\000\000\000\000\147\000\147\000\000\000\000\002\212\000\000\000\000\000\182\000\152\000\000\000\000\000\000\000\153\000\000\000\000\000\155\002\213\000\000\000\155\000\184\0043\000\000\000\184\000\185\000\000\000\182\000\185\000\138\000\152\000\157\000\153\000\139\000\157\000\140\000\000\000\140\000\000\000\183\000\141\000\000\000\141\000\000\000\142\000\000\000\142\002\235\000\000\000\138\000\000\000\000\000\153\000\147\000\000\000\140\000\140\000\183\000\000\000\000\000\141\000\141\000\155\000\000\000\142\000\142\000\184\000\138\000\000\000\000\000\185\000\147\000\151\000\000\000\151\002\193\000\157\000\183\002\197\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\140\002\247\000\185\000\000\000\000\000\141\000\151\000\151\000\157\000\142\000\000\000\000\000\000\000\000\000\155\003\n\000\000\000\000\000\184\000\000\000\140\000\000\000\185\000\000\000\000\000\141\000\000\000\000\000\157\000\142\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\151\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\140\000\142\000\000\000\000\002\198\000\000\000\000\000\000\002\199\000\000\004<\000\151\004D\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\152\000\000\002\193\000\000\000\000\002\197\000\000\000\000\000\000\000\151\004\174\004\186\000\000\000\000\000\000\002\235\000\000\002\235\000\152\000\152\000\153\000\000\000\153\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\000\002\235\002\235\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\183\000\000\000\183\000\000\000\152\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\140\000\151\004\191\000\000\002\198\000\000\000\183\000\183\002\199\000\155\000\152\000\155\000\153\000\184\000\000\000\184\000\000\000\185\000\000\000\185\004\198\000\000\000\000\000\157\002\212\000\157\000\000\002\235\000\152\000\155\000\155\000\000\000\153\000\184\000\184\000\000\002\213\000\185\000\185\000\000\000\000\000\000\000\138\000\157\000\157\002\235\000\147\000\000\000\000\000\140\000\153\000\000\000\000\000\000\000\141\000\000\000\000\000\183\000\142\000\000\000\155\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\138\000\000\000\000\004\207\000\147\000\000\000\189\000\183\000\000\000\000\000\000\000\152\000\155\000\138\006V\000\000\000\184\000\147\000\151\002\193\000\185\000\000\002\197\000\000\000\000\000\000\000\157\006\182\002\235\000\000\000\155\000\140\000\000\000\153\000\184\002\212\000\141\002\247\000\185\000\000\000\142\000\000\000\138\000\000\000\157\000\000\000\147\002\213\000\000\000\000\000\140\003\012\000\000\000\000\000\000\000\141\000\000\000\140\000\183\000\142\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\151\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\140\000\000\000\000\000\142\002\198\000\155\000\138\000\000\002\199\000\184\000\147\000\151\004\229\000\185\000\000\000\000\000\000\000\000\000\151\000\157\000\152\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\151\000\142\000\000\003r\003s\000\000\002\235\000\000\000\000\002\247\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\003\014\000\000\000\000\000\000\000\000\000\000\000\151\000\000\004\234\000\140\000\000\000\000\000\000\000\183\000\141\000\000\000\152\000\000\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\241\000\000\000\000\000\000\000\000\000\000\002\235\000\000\000\152\000\155\000\140\000\153\003t\000\184\000\000\000\152\003u\000\185\000\000\000\151\000\000\000\000\002\212\000\157\000\140\002\235\000\000\000\000\000\152\000\141\000\153\000\000\006W\000\142\002\213\000\000\000\183\000\153\000\000\000\138\000\000\000\000\000\000\000\147\000\000\006W\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\138\000\183\000\000\000\152\000\147\000\155\000\000\000\151\000\183\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\138\000\157\001K\000\183\000\147\000\000\000\155\000\153\000\000\000\000\000\184\000\138\000\000\000\155\000\185\000\147\000\000\000\184\000\000\000\000\000\157\000\185\000\000\000\000\000\140\000\152\000\155\000\157\000\000\000\141\000\184\002\247\000\183\000\142\000\185\002\193\000\000\000\000\002\197\000\140\000\157\003\130\001q\000\000\000\141\003\016\000\000\000\153\000\142\000\000\000\138\000\000\000\000\003\131\000\147\000\155\000\000\000\140\000\000\000\184\000\000\000\151\000\141\000\185\000\000\000\000\000\142\000\152\000\140\000\157\000\000\000\000\000\183\000\141\000\000\000\000\000\151\000\142\000\000\000\000\000\000\000\000\000\000\000\000\001\138\000\000\000\138\000\000\000\000\000\153\000\147\000\000\000\140\000\138\000\151\000\155\002\198\000\147\000\000\000\184\002\199\000\000\000\000\000\185\000\000\000\151\000\000\000\140\000\000\000\157\000\000\000\000\000\141\000\000\000\183\000\000\000\142\000\000\000\000\000\000\003\147\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000\155\000\000\000\152\000\000\000\184\000\000\000\140\000\151\000\185\000\000\000\000\000\141\000\000\000\140\000\157\000\142\000\000\000\152\000\141\001\185\000\000\000\000\000\142\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\155\000\152\000\000\000\000\000\000\000\153\000\000\000\000\000\140\000\151\000\000\000\000\000\152\000\141\000\000\000\183\000\151\000\142\002\159\000\000\000\000\000\000\000\000\000\153\002\212\000\000\000\000\000\000\000\000\002\206\000\183\000\000\000\000\000\000\000\153\000\000\002\213\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\151\000\185\000\000\000\183\000\000\000\000\000\152\000\157\000\155\000\000\000\000\000\138\000\184\000\138\000\183\000\147\000\185\000\147\000\000\000\000\000\000\000\000\000\157\002\221\000\000\000\000\000\155\000\000\000\153\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\155\000\000\000\000\000\157\000\184\000\152\000\000\000\000\000\185\000\000\000\000\000\000\000\152\000\000\000\157\000\138\000\183\000\000\000\000\000\147\000\000\000\000\002\223\002\247\000\000\000\000\000\000\000\153\000\000\003|\000\000\000\140\000\000\000\140\000\153\000\000\000\141\003\018\000\141\000\155\000\142\000\152\000\142\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\138\000\183\000\157\000\000\000\147\000\000\000\000\003\187\000\183\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\151\000\000\000\151\000\000\000\140\000\000\000\000\000\155\000\000\000\141\000\000\000\184\000\000\000\142\000\155\000\185\000\000\000\000\000\184\000\138\000\183\000\157\000\185\000\147\000\000\000\000\000\138\000\000\000\157\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\138\000\147\000\157\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\151\000\152\000\000\000\152\000\141\000\000\000\140\000\000\000\142\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\000\003\192\000\000\003\196\000\000\000\000\000\153\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\000\000\140\000\151\000\141\000\000\000\000\000\141\000\142\000\152\000\151\000\142\000\000\000\000\000\138\000\183\000\000\000\183\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\217\000\000\000\000\000\000\000\000\000\153\000\000\000\138\000\000\000\000\000\151\000\147\000\155\000\151\000\155\000\000\000\184\000\000\000\184\000\152\000\185\000\000\000\185\000\000\000\000\000\000\000\157\000\000\000\157\000\000\000\183\000\000\000\000\000\138\000\000\000\000\004\000\000\147\000\000\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\000\000\000\000\155\000\142\000\152\000\000\000\184\000\000\000\000\000\000\000\185\000\152\000\000\000\140\000\000\000\183\000\157\000\000\000\141\000\000\000\000\004\162\000\142\000\000\000\000\000\000\000\153\000\000\005\008\000\000\000\000\000\151\000\000\000\153\000\000\003r\003s\000\152\000\155\000\140\000\152\000\000\000\184\000\000\000\141\000\000\000\185\000\000\000\142\000\000\000\151\000\183\000\157\000\000\005\028\000\000\000\000\005\030\000\183\000\153\000\000\000\000\000\153\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\138\000\155\000\138\000\151\000\149\000\184\000\139\000\000\000\155\000\185\000\000\000\183\000\184\000\000\000\183\000\157\000\185\000\000\000\000\000\140\000\000\003t\000\157\003r\003s\003u\000\000\000\000\003r\003s\000\000\000\000\000\000\000\000\000\155\000\000\000\152\000\155\000\184\000\000\000\000\000\184\000\185\000\000\000\000\000\185\000\000\000\140\000\157\000\000\000\000\000\157\000\141\005 \000\000\000\152\000\142\000\140\000\153\000\140\000\000\000\000\000\141\000\000\000\141\000\000\000\142\000\000\000\142\000\000\000\000\000\000\005&\003r\003s\000\000\000\000\000\153\003r\003s\000\140\000\152\003t\000\183\000\151\000\140\003u\003t\000\000\003r\003s\003u\000\000\000\000\000\151\000\000\000\151\000\000\0054\000\000\000\000\000\000\000\183\000\153\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\003r\003s\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\003\130\000\000\000\000\000\155\000\000\000\000\000\183\000\184\000\140\000\000\003t\000\185\003\131\000\140\003u\003t\000\000\000\157\000\000\003u\000\000\000\000\000\000\000\000\000\140\000\000\003t\000\000\000\000\000\155\003u\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\152\000\000\000\000\000\157\000\000\000\000\000\000\000\140\000\000\003t\000\152\000\000\000\152\003u\000\000\000\000\000\000\005B\000\000\000\000\000\000\003\130\000\153\000\000\000\000\000\000\003\130\000\000\000\000\000\000\000\000\000\000\000\153\003\131\000\153\000\000\000\000\000\000\003\131\003\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\003\164\000\000\000\000\000\000\000\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\155\003\130\000\000\000\000\000\184\000\000\003\130\000\000\000\185\000\000\000\155\000\000\000\155\003\131\000\157\003\141\000\000\003\130\003\131\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\191\000\000\000\000\003\131\003\147\000\000\000\000\000\000\000\000\003\147\000\000\000\000\000\000\000\000\003\130\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\003\168\000\000\000\000\003\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\003\147\000\000\000\000\000\000\000\000\003\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\170\000\000\003\147\000\000\000\000\003\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\147\000\000\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\180"))
+    ((16, "\000\170\0001\000\000\000\000\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\137\000\000\001I\bV\000\000\001=\0015\000\000\000\000\000\000\001/\000\000\000\221\000\149\000\000\000\000\000\133\000\000\0007\000\000\000\000\000\000\000j\000\000\000\234\000\000\000\000\000\000\001\242\000\000\002\178\000\000\000\000\003:\000\000\003z\003\198\000\000\000\000\004\152\000\000\005\028\000\000\000\000\000\000\005\150\000\000\005\160\000\000\005\186\000\000\0060\000\000\006\148\006\246\000\000\000\000\007\004\000\000\007z\000\000\000{\000/\006d\000\000\000\000\000\000\002\218\000\000\000\000\006&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\024\000\000\000\000\001X\nt\000\000\000\000\n\190\000\000\000\000\000\000\000\000\007\130\000\000\007\168\002\154\000\000\007\238\000\000\000\000\b\130\000\000\000\000\b\132\000\000\t\"\000\000\000\000\000\000\t2\000\000\000\027\tF\000V\000\000\000\000\000\000\000\000\004\236\000+\000\152\000\000\000\000\000\000\tb\000\000\0056\000\000\004V\000f\b\206\000\000\000\000\019D\023*\000\000\011\204\000\000\024\248\000\027\002|\000\027\014\148\014&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\b\002|\000\000\000\000\026\022\"D$N\000\000)\b\000\000\000\030*\140\000\000\000\000\000\000\000\000\000\146\000\000\002\004\018\144\0042\000\000\000\0000\192\000\000\001\n\000\000\017H\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0034\000\000\000\000\n\210\000\000\r\204\000\000\017\b\000\000\027\242\000\000\031\218\000\000'\222\000\000(X\000\0003|\000\0008J\000\0008r\000\000\026H\000\0000\248\000\000\000\000\000\000\000\000\000\0008\128\000\0008\148\000\0008\162\000\0009&\000\00092\000\0009@\000\0009F\000\0009Z\000\0009h\000\0009\128\000\0009\250\000\000:<\000\000:J\000\000:d\000\000:~\000\000:\138\000\000\025\014\000\000\000\000\025\\\000\000\000\000\000\000\000\000\001d\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\1711\024\000\000\000H\000\000\000\000\001N\b~\000\000\001H\tj\000\000\000\000\t\192\000\000\n0\nD\000\000\000\000\n\160\000\000\n\188\000\000\000\000\000\000\n\196\000\000\n\204\000\000\n\206\000\000\011\018\000\000\000\000\011H\000\000\011|\011\138\000\000\000\000\011\152\000\000\011\156\000\000\000\000\000\000\011\162\000\000\011\204\000\000\011\208\000\000\011\212\000\000\011\236\012\002\000\000\000\000\012\020\000\000\012\024\000\000\001\252\002\208\000\000\012\030\000\000\012$\005\024\000\000\012*\000\000\000\000\012D\000\000\012F\000\000\012J\000\000\000\000\000\000\012R\000\000\012V\004\240\000\000\012f\000\000\006\214\n\030\000\000\005t\000\000\006>\000\000\000\000\007b\016\184\000\000\000\000\000\000\000\140\018\202\000\000\022\132\000\000\000\000\000\000\002L\000\000\002\236\000\000\nd\000\000\000\000\000\000\000\000\000\000\000\000\n\240\000\000\000\000\000\000\000\000\000\000\023\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001H\003\172\006:\000\000\012t\000\000\012x\b\026\000\000\012z\000\000\000\000\006\146\000\000\000\000\000\000\000\000\001\214\000\000\000\000'\224\000\000\000\000\000\000\003\128\000\000\000\000\000\000\000\000\000\000\000\000*\160\000\000\000\000+P\000\000\000\000+\154\000\000\b4\000\000\000\000\000\000\004x\000\000\031\188%L\000\000\000\000%\212&x\000\0007\024\000\0007\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\164\000\000$\156\000\0001b\000\000;(\000\000;B\000\000;F\000\000;z\000\000;\200\000\000;\228\000\000<\006\000\000<\n\000\000<.\000\000<L\000\000<p\000\000<t\000\000<\232\000\000\000\000'F\000\000\000\000\000\000'z\000\000\000\000\000\000\000\000\000\000\000\0001z\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\188\000\000\000\0001\178\000\000\000\000\000\000\016\n\001\244\000\000\000\000\000\000\000\000\020\196\000\000'\250\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\001\\\000\000\000\000\000\000\012\138\t\164\000\000\012\142\000\000\000\000\000\000\000\000\000\000\012\148\000\000\000\000\001\132\tb\000\000\t\132\000\000\000\000\000\000\001\200\000\000\012\196\000-\012\154\000\000\000\000\012\156\000\000\012\168\012\174\000\000\000\000\012\178\000\000\012\194\000\000\000\000\000\000\012\200\000\000\012\206\000\000\012\212\000\000\012\214\000\000\000\000\012\216\000\000\012\220\012\230\000\000\000\000\012\244\000\000\012\246\000\000\000\000\000\000\012\254\000\000\r\012\000\000\r\018\000\000\r\026\000\000\r\"\r&\000\000\000\000\r(\000\000\r,\000\000\005\134\005\150\000\000\r4\000\000\r6\012X\000\000\r:\000\000\000\000\rB\000\000\rH\000\000\rV\000\000\000\000\000\000\rX\000\000\003\172\000\000\000\000\rZ\011\152\000\000\rj\000\000\000\000\b\156\000\000\000\000\004\198\000\000\000\000\000\000\000\000\000\000\005\208\0124\000\000\r\128\000\000\r\134\014\190\000\000\r\138\000\000\000\000\014\160\r\146\000\000\000\000\r\150\000\000\r\156\r\162\000\000\000\000\r\164\000\000\r\166\000\000\000\000\000\000\r\168\000\000\r\170\000\000\r\188\000\000\r\196\000\000\000\000\r\198\000\000\r\208\r\210\000\000\000\000\r\212\000\000\r\216\000\000\000\000\000\000\r\222\000\000\r\224\000\000\r\226\000\000\r\240\000\000\r\246\r\252\000\000\000\000\r\254\000\000\014\004\000\000\007\138\017B\000\000\014\006\000\000\014\b\018\156\000\000\014\018\000\000\000\000\014\022\000\000\014\024\000\000\014 \000\000\000\000\000\000\014$\000\000\014(\019\014\000\000\014*\000\000\000\000\bP\021\176\000\000\014.\000\000\014<\021\248\000\000\014@\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\006\000\000\n\242\000\000\000\000\000\0002^\000\000\000\000\000\007\000\000\000\000\000\000\002\188\0036\000\000\000\000\022\234\002N\000\000,T(\144\000\000\000\000\000\000\028\002\000\000\000\000(\222\000\000\000\000\000\000\004\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000-\164\000\000\000\000/V\000\000\000\0000\214\000\000\014\244\000\000\000\000\000\000\b\148\000\000!*\000\000\000\0002\178\000\000\000\000\000\000\t\026\000\000\000\000\000\000\000\000\000\000\000\0003\028\000\0003T\000\000\000\000\000\000\005\030*\000\000\000\000\000\000\000#N\000\000\000\000\000\000\000\000\tn\000\000\000\000\000\000\000\000\006\024\000\000\000\000\016V\000\000\002\188\000\000\000\000\000\000<\236\000\000=\020\000\000=.\000\000=R\000\000=n\000\000=\216\000\000>\022\000\000>\026\000\000>6\000\000>8\000\000>\156\000\000>\160\000\000>\186\000\000>\210\000\000\000\000*V\000\000\000\000\018J*\248\000\000\000\000+4\000\000\000\000\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\006H\000\000\007\170\000\000\000\000\012`\000\000\000\000\000\000+\014\000\000\000\000\000\000\000\000\000\000\021\020\000\000\000\000\000\000\000\000+T\000\000\000\000\000\000\000\000\002x\005\220\000\000+\242\000\000\000\000\000\000\000\000\bx\000\000,&\000\000\000\000\000\000\000\000\001C\000\000\007$\000\0004\022)\166\000\000\000\000\000\0003V\000\000\000\000\000\000\b\\\000\0003\158\000\000\000\000\000\0003\182\000\000\000\000\000x\000\000\024\180\000!*2\000\000\000\000\000\000\004h\005\198\000\000\000\000\000\000\000\000\000\000\000\0004`\000\000\000\0005\186\000\000\000\0006\166\000\000\011\146\000\000\000\000\000\000\t\134\000\000!|\000\000\000\0004\000\000\000\000\000\000\000\t\146\000\000\000\000\000\000\000\000\000\000\000\0007\192\000\0008\024\000\000\000\000\000\000\004\228\000\000\000\000\000\000\000\000\000\000\000\000?\020\000\000,\184\000\0004\154\000\000?n\000\000?~\000\000?\130\000\000?\192\000\000?\232\000\000@ \000\000@P\000\000@r\000\000@x\000\000@~\000\000@\204\000\000A$\000\000A2\000\000\000\000\b\206\000\000\n*\000\000\rr\001\200\007\172\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\248\000\000\"\232\b\244\t\228\000\000\000\000\000\000,\188\000\000,\208\000\000-\n\000\000#\134#\240\007\162\0052\000\000\001\194\007h\000\000\000\000\000\000\b\254\000\000\000\000\n\024\000\000\000\000\000\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\252\000\000\000\000\000\000\000\000!\148\000\000$R\000\000\000\000\000\000\000\000\000\000\000\000\0146\000\000\000\000\011\002\000\000\000\000\000\000\025@\003$\000\000\025\204\000\000\000\000\bx\000\000\005\136\000\000\000\000\014t\000\000\0262\000\000\000\000\"\030\000\000\000\000\000\000\001N\000\000\000\000\t\198\000\000\000\000\023p\000\000\000\000\000\000-\"\000\000\000\000\000\000\027\162\000\000\000\000\000\000\000\000-\220\000\000\000\000\000\000\000\000\003,\012\026\000\000.\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\000\000\000\000\005\228\000\000\015\230\000\000\001N\000\000\000\000\005\206&\224\000\000\005\224\000\000\000\000\000\000\000\000\004\228\000\000$\194\000\000\026\216\000\r\027>\000\000\003Z\000\000\016r\000\000\016\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\004\028:\002\\\028\194\000\000\000\000\000\000\003\190\000\000\017\194\000\000\t\\\000\000\000\000\001N\0000\028\252\000\000\000\156\000\000\018\\\030 \000\000\000\000\019 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\n.\007\230\000\000\np\000\000\000\000\000\000\000\000\007@\000\000\019\172\000\000\000\000\000\000\011\2385Z\000\000\000\000\000\000 `\000\000\000\000\000\000\000\000\000\000\011@\011l\000\000\000\000.n\000\000\000\000\003n\000\000\011\194\000\000\000\000\027\254\000\000\000\000\000\000.\150\000\000\000\000\000\000\000\000.\212\000\000\000\000\004\004\011\252\000\000\000\000.\252\000\000\000\000\011b \128\000\000\012>\000\000\000\000/(\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\136\000\000\000\000\000\000\002\128\000\000\000\000\012\240\000\000\000\000\029(\000\000\000\000\000\000/B\000\000\000\000\000\000\000\000/\182\000\000\000\000\005$\012\248\000\000\000\0000\020\000\000\000\000\011\188\000\000\000\000\000\000\000\000\004\228\002\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001,\000\000\0208\000\000\000\000\000\0005\154\000\000\b\188\000\000\000\000\000\000\002\000\000\000\004\186\000\000\000\000\004~\020\252\000\000\021\136\000\000\000\000\000\000\006R\000\0005\232\006\2185\234\000\0006<\000\000\000\000\000\000\0070\000\0006\190\b\182\000\000\000\000%(\tr%\\\000\000%\180\000\000\000\000\000\000\t\164\000\0006\216\t\214\000\000\000\000\bD\nP\bH\000\000\018\200\000\000\000\000\000\000\n`\000\0006\222\011\128\000\000\000\000\000\000\001b\000\000\000\000\000\000\000z\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\000I\000\000\000\000\005\016\000\000\000\000\015\002\000\000\000\000\000\000\000\000\007\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\006\000\000\000\000\014\232\000\000\007|\000\000\000\000\000\172\000\000\003r\014\144\0046\000\000\000\000\t\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\004\250\000\000\000\000\004\222\000\000\000\000\000\000\t\012\000\000\000\000\017\152\020r\000\000\000\000\000\000\000\000\020\202\0210\002\162\000\000\000\000\000\000\021\244\000\000\000\000\000\000\000\000\000\000\000\000\006\176\000\000\000\000\001,\000\000\000\000\014`\000\000\000\000\000&\000\000\000\000\005\n\000\000\004*\000\000\000\000\000\000\000\000\000\139\022\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\022\030\000\000\000\000\000\000\000\000\022(\000\000\000\000\003\204\000\000\015(\000\000\000\000\000\000\000\011\000\000\007\230\000\000\000\000\000\000\tN\000\000\000\000\0232\000\000\000\000\0009\014l\000\000\014r\000\000\023v\014\140\000\000\023\232\000\000\000\000\000\000\000\000\014t\000\000\014\232\000\000\000\000\000\000\n\014\000\000\0002\014\176\004\172\000\000\000\000\000\000\b\180\000\194\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0006\000\000\000\000\014\016\000\000\007J\015>\006\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012D\000\000\000\000\015F\025\200\000\000\000\000\000\000\000\000\027\158\000\000\000\000\016L\000\000\002\"\rX\000\000\000\000\000\000\016\232\000\000\000\000\000\000\000\000\000\000\001\236\019r\000\000\000\000\020J\000\000\000\000\000\000\000\000\000\018\000\000\000\000\006N\000\000\000\000\000\000\001@\000\000\000\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031&\000\000\000\000\000\000\004\252\000\000\000\000\000\000\000\000\000\000\000\020\003P\n\174\014\012\000\000\006H\t\014\t:\n\000\000\000\000\000\000\000\000\000\000\000\000\000\011\206\022\020\000\000\030Z\b\132\000\000\000\000\n\210\000\000\022\216\000\000\007\004\000\000\000\000\012\n\023d\000\000\030\226\000\000\012\164\031\028\000\000\000\000\000\000\000)\006H\000\000\000\000\000\000\000\000\004*\000\000\011\212\005\146\000\000\000\000\015D\t\224\000\000\016\138\000\000\000\000\002L\000\000\002\236\000\000\000\000\018J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\tZ\000\000\000\000\011&\000\000\023\240\000\000\r\232\014\248\000\000\000\000\000\000\000\000\000\000\007B\000\000\000\000\000\000\000\000\000\0000\164\000\000\000E\000\000\000\000\000\000\000\000\000\000\000\214\000\000\n0\007r\011,\000\000\002\180\011\180\000\000\n\230\000\000\003<\000\000\004(\000\000\004\212\000\000\r\232\000\000\000\000\000\000\000\000\000\000\005\140\000\000\n\236\000\000\005\192\000\000\r\232\015l\000\000\000]\000\000\015V\006\230\000\000\nT\000\000\n\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011F\000\000\011\154\000\000\000\000\000\000\0142\000\000\000\000\000\000\000\000\000\000\015f\014<\000\000\000\000\014t\000\000\000\000\014R\n6\015\170\000\000\015\172\000\000\000\000\002P\006\018\000\000\014\132\000\000\000\000\014\190\000\000\000\000\000\000\000\000\000\000\000\000\015\152\014t\000\000\000\000\000\000\014\166\014~\011\162\006V\014\176\014\238\000\000\000\000\014\148\012\022\007\006\014\204\015\002\000\000\000\000\012\218\015\214\000\000\015\216\000\000\015\252\000\000\000\000\015\236\000\000\000\000\015\244\000\000\000\000\000\000\000\000\016\026\000\000\016@\000\000\000\000\000\000\016B\000\000\000\000\000\000\016N\000\000\000\000\000\000"), (16, "\004\022\002\182\004)\000\193\006^\006\007\006\b\005\158\000\197\005\251\005\216\002\191\000\025\000\137\000U\007\186\000\024\000\137\007\000\000\028\000\137\006\145\0037\004\242\004\218\000\007\004\022\000\004\004)\007\187\000\137\000\193\005\249\004\244\007\"\0037\000\194\005\252\006\007\006\b\007#\006u\001\"\000\137\006\146\006\149\006\007\006\b\007$\000\005\004\171\000\005\000U\007Z\000U\0038\007[\006\166\006\145\004\172\000 \004\024\000\186\005\019\006s\004\025\006Q\000\187\006v\006\007\006\b\000\195\003\225\001$\006\t\006\172\000\137\000\139\000\140\002U\000\144\006\146\006\149\006\007\006\b\004\172\006\170\004\024\000l\006R\000\186\004\025\006U\006\007\006\b\000\187\000\031\000\018\006\173\000\195\006\176\006\007\006\b\000\137\000\"\000\201\005\248\006\t\005\160\000\137\000\139\000\140\000\141\000\144\007_\006\t\005\144\005\019\000\146\000\017\005!\006\167\004.\004\022\001\029\004)\0023\001\029\000p\005\249\006\024\006\168\006\169\000\201\005\252\006\007\006\b\007`\006\t\007&\000\137\006\238\006\239\000$\005\029\007$\007a\004\171\000U\000\193\006\158\000\146\006\t\006\022\000\199\004\149\007\195\007'\006\243\006\025\006\007\006\b\006\t\001\"\003\232\004&\000V\006\246\002M\004\154\006\t\001\155\006\159\004\155\004\173\006\171\004'\005#\005\000\000\202\007\001\004\149\004\172\000\137\004\024\000a\000m\004\173\004\025\004\238\004\252\004&\001\137\007t\001#\004\154\000d\001\166\005\022\004\155\004\173\007(\004'\001\031\006\t\006K\005\149\000\202\000\186\000\203\007)\006\246\004\159\000\187\004\219\007F\004\250\000\195\007%\004\181\002H\0039\005\017\000(\002\202\001%\003\217\005\162\006\189\006\t\004\210\0042\004\181\001(\000\b\004\186\000\235\000\203\004\159\001\177\004\176\007H\003\205\004\210\004\022\004\181\004)\000U\007J\0043\000\r\000\201\007u\000U\0044\000\205\004\210\0042\0045\000\236\001w\000\137\000\190\000\237\0046\006\226\0037\004\242\004\218\006\207\000\207\000\016\000\017\006c\001\204\0043\006\207\001\216\004\149\002\191\0044\001z\006\187\002\030\0045\006\160\002\191\000*\004&\001\165\0046\000\137\004\154\001w\006\172\001\182\004\155\004\173\007v\004'\000U\006\233\006\234\004\172\006Q\004\024\001\138\007)\001\139\004\025\001\158\003Z\007x\006\n\001z\003[\001(\006\173\006\r\006\176\006\007\006\b\001\165\005\145\006\162\000\202\001\184\006R\002I\000U\006U\006\007\006\b\000\186\000\193\004\159\001\206\004\176\007z\000\197\001\207\005\006\004\181\002J\005\147\007|\006\159\005\246\005\247\001\166\006\014\000\137\006\215\004\210\0042\000\203\000\147\006\163\002^\004\199\006\217\000V\004\022\001\182\004)\005\001\004.\001\024\001\029\000U\003\128\002\015\0043\002`\003\\\002/\001\222\0044\003]\000\137\000h\0045\000\204\000\137\007$\007f\004\218\0046\006I\006\t\006\220\003\218\002a\000\186\001\183\003\205\001(\006\225\000\187\004\149\006\t\000\205\000\195\0022\004\204\003\179\001\017\002`\000U\004&\006>\006\007\006\b\004\154\004|\000k\000\207\004\155\004\173\000.\004'\004\172\005\003\004\024\005\161\0038\000\193\004\025\004\208\004\168\004\022\000\194\004)\004\238\005\147\000U\000\201\007q\006\015\001\166\000U\004\169\0020\001b\000l\007\172\004\128\000\137\001\182\000U\001\223\002I\007$\007f\004\218\006\015\004\159\000\137\004\219\006\160\004\250\003\130\007\000\004\181\001\204\0039\005\017\001\205\004\244\004\131\0020\000l\002\016\002\028\004\210\0042\003j\003\183\003\168\001\184\006\t\004\211\001\224\001\153\003\133\000\186\000U\003k\006?\004\172\000\187\004\024\002\202\0043\000\195\004\025\001\225\005\b\0044\002\202\003\188\006\223\0045\000\137\001(\007k\001\226\003\182\0046\000\147\000\202\006i\004\199\003\171\003\205\0000\003\137\004\149\005\006\007\179\003\136\000U\000V\000\186\001\227\005\160\001\206\004&\000\201\001\228\001\207\004\154\006r\001\229\002#\004\155\004\173\007l\004'\001\230\000\203\000a\000r\002\007\006#\000U\007)\001\166\004\022\000V\004)\004\157\000d\000\193\000V\006s\0025\005z\000\194\006v\006\007\006\b\003\138\001\148\001(\000\137\001\222\000\235\000a\001_\007$\007f\004\218\000^\004\159\003\136\004\219\003\139\007n\000d\004\022\004\181\004\023\0003\007p\004\149\000\205\006$\003\192\005U\000\236\006\028\004\210\0042\000\237\004&\003\217\006_\006`\004\154\000\147\000\207\000\202\004\155\004\173\007l\004'\004\172\000\186\004\024\002\174\0043\000\186\004\025\007)\0007\0044\000\187\003Z\004\157\0045\000\195\003[\007m\007\011\004\247\0046\006a\000\147\006\t\000U\003\206\000\203\002\184\004\022\000\147\004)\006b\000\137\000\186\001\223\004\024\004\159\0037\004\219\004\025\007n\000U\003:\004\181\006\028\000\137\007p\0006\002\186\000\201\007$\007f\004\218\001\171\004\210\0042\007\002\000\137\002S\000\137\000\139\000\140\001t\000\144\001(\003Z\003\190\006.\005\011\003[\005O\000\186\000\209\0043\003\225\003\\\006\029\003\189\0044\003]\002\187\006+\0045\000\210\006\003\001\166\006T\004\172\0046\004\024\006,\006\007\006\b\004\025\000\137\000\139\000\145\004\149\000\144\000\146\006\004\000\146\001%\007o\006,\006\007\006\b\004&\002\027\006R\001(\004\154\006U\006\007\006\b\004\155\004\173\007l\004'\007+\004\022\000U\004)\000\202\003\128\000U\007)\005\128\003\\\004\175\005\170\004\157\003]\006x\000U\006\029\000\146\000\137\000\147\004&\000\137\004\169\007$\007f\004\218\005\172\004\022\001\"\004)\004\022\004'\004)\0009\000\203\004\159\001\209\004\219\000l\007n\003\179\006\t\004\181\006\248\000\137\007p\006\249\005\163\000U\007$\007f\004\218\004\132\004\210\0042\006\t\004\224\000U\003j\0041\004\172\006\253\004\024\006\t\004\149\000U\004\025\002K\004\169\003k\004\173\003Z\0043\006 \004&\003[\007w\0044\004\154\0039\001\026\0045\004\155\004\173\007l\004'\004\172\0046\004\024\000\186\0072\004\024\004\025\007)\000U\004\025\003\130\007>\004\157\000;\000U\000l\007{\007\171\004W\000\137\000\139\000\140\001\168\000\144\005\162\003j\003\180\003\168\006\246\004\181\000V\007\005\004\186\003\133\002\024\004\159\003k\004\219\001w\007n\004\210\000\005\004\181\004|\003\128\007p\006\152\0039\003\\\000a\001d\000U\003]\004\210\0042\004\233\003\182\001z\003m\001z\000d\000\146\003\171\000U\004\233\001\165\004.\001\165\003\205\003\136\004\149\006\229\0043\001w\000?\004}\000\147\0044\000\137\000A\004&\0045\000U\006/\004\154\002\157\004\235\0046\004\155\004\173\007l\004'\000C\000V\001z\004\234\004\149\000\137\000\139\007)\006H\001x\001\165\003Z\004\157\000U\004&\003[\000\004\004&\004\154\003\138\000a\002\154\004\155\004\173\007l\004'\000`\004\022\004'\004)\002\196\000d\001\163\007)\003\139\004\159\000\147\004\219\004\157\007n\000\005\0040\004\181\003\130\000\137\007p\0075\000\146\0076\0037\004\242\004\218\005,\004\210\0042\007\149\001(\007\191\003j\000E\003\132\004\159\006\182\004\219\004\169\007n\003\133\005\173\004\181\003k\003\128\007p\0043\000\\\003\\\000\137\006\231\0044\003]\004\210\0042\0045\005\172\0042\003\219\000\147\004\172\0046\004\024\007c\000\147\000]\004\025\003\206\006\183\004\022\006\184\004)\0043\006\021\007\t\0043\003\136\0044\000V\003\179\0044\0045\003\223\000I\0045\001w\000\137\0046\007R\007S\0046\0037\004\242\004\218\000U\005\014\006\022\000a\004\022\006\185\004)\000\147\006\025\006\007\006\b\007\179\001z\001}\000d\006\186\005\180\000U\003\211\006\006\001\165\000\137\007r\001\134\003\138\007\198\0037\004\242\004\218\000U\001\144\005\182\005\016\000U\004\172\006\004\004\024\004{\000H\003\139\004\025\003\130\003\215\001\204\001\137\000K\001\205\000\137\000\139\000\140\001\173\000\144\006_\006`\007W\001\178\003j\007\024\003\168\005\183\004Y\004Z\004\149\004\172\003\133\004\024\004\133\003k\000\137\004\025\000\137\006I\004&\0037\005\182\0037\004\154\000\137\006\t\001(\004\155\004\173\006w\004'\005\153\005\000\007\152\003\182\000U\000\146\001z\001\180\006b\003\171\007\017\006L\004\157\000\137\001\165\007\179\003\136\002\184\000\186\006\179\000M\001\206\004\169\006\246\000o\001\207\003\225\004\022\003\225\004)\004|\0039\000U\004Y\004Z\004\159\000\193\004\219\002\188\004\250\000c\000\197\004\181\000u\000\137\004\186\004\149\003\004\001\145\0037\004\242\004\218\000U\004\210\0042\004\022\004&\004)\003\138\004|\004\154\001\222\004}\000\147\004\155\004\173\000U\004'\004\254\005\000\002\187\001\160\0043\003\139\001\138\004\149\001\139\0044\000t\004\230\004\157\0045\006\159\004\134\001(\004&\004\172\0046\004\024\004\154\007\005\004}\004\025\004\155\004\173\000\186\004'\005%\005\000\004\135\000\187\006+\006%\004\159\000\195\004\219\004\022\004\250\004)\004\157\004\181\003\195\007\005\004\186\003\128\005\150\004\024\002F\000V\000U\004\025\004\210\0042\000\137\006,\006\007\006\b\000\137\0037\004\242\004\218\006Q\004\159\000U\004\219\001\223\004\250\000a\000\201\004\181\0043\004\173\004\186\004\173\000\137\0044\003\031\001w\000d\0045\004\210\0042\000w\000z\006R\0046\004\127\006U\006\007\006\b\000\137\000\139\000\140\002O\000\144\004\172\000\147\004\024\001z\0043\005\186\004\025\004\\\004\236\0044\000U\001\165\004.\0045\006\031\003_\005\203\004\149\005\205\0046\005\182\004\181\000U\004\181\004\186\000\137\004\186\004&\000U\006\t\006\165\004\154\004\210\002Y\004\210\004\155\004\173\000\146\004'\005\157\005\000\001(\004Y\004Z\002\026\004\149\007\005\000\202\004\022\003\226\004)\004\157\005\014\001'\000U\004&\000\137\000\139\001y\004\154\000\144\001(\006\t\004\155\006\148\000\137\004'\000|\004|\000U\007$\000\238\004\171\003\230\004\159\000\128\004\219\000\203\004\250\004\238\002\189\004\181\003h\005\015\004\186\002X\007\b\006\146\006\149\006\007\006\b\000\137\004\210\0042\0072\000U\004\149\005\194\000\146\000\143\004}\0079\004\159\001*\000\235\006\029\004&\004\172\007\007\004\024\004\154\0043\005\196\004\025\004\155\004\173\0044\004'\007D\005\000\0045\0042\005\197\000\205\003\127\007s\0046\000\236\000\137\000\193\004\157\000\237\004\130\007\000\000\194\007\141\004\027\005\196\000\207\0043\007\020\000U\004$\0062\0044\004\022\001-\004)\0045\005\200\004Y\004Z\004\169\004\159\0046\004\219\005&\004\250\006\t\001\134\004\181\000\137\007c\004\186\005\182\007c\001\144\002[\000\147\004\142\005\164\004\210\0042\006{\004\022\001(\004)\000g\000U\001w\001\137\004[\007G\004k\002]\007\169\007\141\005(\000\186\005&\0043\000\137\001(\000\187\004\169\0044\007$\000\195\004\171\0045\001z\000\137\0011\004\149\003\128\0046\004\024\007\006\001\165\004|\004\025\005\208\0010\004&\000j\007i\004\190\004\154\007y\005\211\005'\004\155\004\173\007e\004'\004\022\005\210\004\023\0075\001\134\0076\000\201\007)\004\172\005\210\004\024\001\144\007h\001(\004\025\001w\004}\004\022\005=\004)\000\137\000\139\000\140\002\178\000\144\001\137\007d\004Y\004Z\001\204\000V\007\141\001\216\0013\000\137\004\159\001z\004\176\007j\007$\000U\004\171\004\181\001\145\001\165\007p\004\022\0015\004)\000a\000\137\0019\007\148\004\210\0042\001;\001=\004Y\004Z\000\186\000d\004\024\000\146\000\137\004\163\004\025\001\146\000V\005<\001\138\007\n\001\139\0043\007\141\007\180\004\149\004\172\0044\004\024\001(\000\202\0045\004\025\000U\005\134\004&\000a\0046\000\186\004\154\001?\001\206\005\141\004\155\007g\001\207\004'\000d\000\137\000\139\000\140\002\193\000\144\007\142\004\149\005^\0039\004\024\007\002\004\157\000\203\004\025\000U\001\145\004&\005\136\001(\001B\004\154\0072\000\137\006\172\004\155\004\173\007e\004'\007?\000U\002&\005\134\005d\001\222\004\159\007)\004Y\004Z\001\151\005\214\007h\001\138\000\146\001\139\007\190\001F\006\173\000U\006\176\006\007\006\b\001(\001E\0042\005\182\004\022\000\147\004)\000\209\001H\000U\001J\005\135\004\159\001N\004\176\007j\004&\007\r\000\212\004\181\0043\000\137\007p\004\149\007\144\0044\0037\004'\004\171\0045\004\210\0042\005C\004&\001P\0046\001R\004\154\001T\001\134\005T\004\155\004\173\007e\004'\000l\001\144\007\027\000\147\0043\001X\007\197\007)\005>\0044\001w\001\223\007h\0045\007\227\001\137\001W\004&\004\172\0046\004\024\007\146\006\t\002<\004\025\001Z\005e\001\\\004'\007\228\001a\001z\000\147\001g\007@\004\159\001f\004\176\007j\001\165\000U\005f\004\181\002)\000U\007p\004\022\000\147\004)\001i\001k\005F\001m\004\210\0042\004(\001q\007A\001\181\0075\005\165\0076\007\180\000\137\005 \000\147\001v\001\226\0037\001(\004\171\005h\0043\001\170\005m\001\176\001\175\0044\000V\007 \005V\0045\005\127\0042\002R\001\227\002Q\0046\001w\002W\001\228\000\193\002e\002h\001\229\004\212\000\194\000a\002\159\002l\001\230\0043\002k\001\145\002n\004\172\0044\004\024\000d\001z\0045\004\025\002p\005_\004\149\002t\0046\001\165\002v\004\216\007\180\002x\002z\002}\004&\002\129\003\198\007\005\004\154\001\138\002\128\001\139\004\155\004\173\006\192\004'\000\193\002\131\002\133\001(\000\137\000\197\002\137\0039\004\022\007\000\004)\005\030\005\021\002\139\000\186\005 \002\141\004\164\000\147\000\187\002\143\006\175\000\147\000\195\002\147\000\137\002\146\002\149\003\205\002\151\0037\004\166\004\171\002\156\002\162\004\159\002\161\004\176\005\023\004\022\002\164\004)\004\181\002\166\006\173\004\186\006\176\006\007\006\b\004\178\002\168\002\172\002\181\004\210\0042\001\204\000\137\000\201\001\216\000\186\002\180\0037\004\179\004\218\000\187\004\149\005q\004\172\000\195\004\024\005\129\002\195\0043\004\025\002\201\004&\002\200\0044\003\026\004\154\002\204\0045\002\207\004\155\004\173\002\211\004'\0046\002\210\002\213\002\215\002\219\002\221\000\137\000\139\000\140\002\198\000\144\004\172\005\021\004\024\002\223\000\201\003Z\004\025\002\225\002\228\003[\006>\006\007\006\b\002\232\002\231\002\234\000\186\002\236\006\t\001\206\002\240\002\242\002\244\001\207\004\159\001\027\004\176\005\023\004\022\002\246\004)\004\181\002\250\000\202\004\186\002\249\002\252\000\146\004\221\002\254\003\003\003\t\004\210\0042\000\147\000\137\003\b\004\199\003\011\003\r\0037\004\179\004\218\003\015\007\t\003\019\002&\003\025\003\024\001\222\003\030\0043\000\137\000\203\000\186\004\149\0044\003$\003\\\003#\0045\006\001\003]\007\001\006)\004&\0046\006Q\000\202\004\154\006\t\006\020\006\"\004\155\004\173\006N\004'\004\172\006\135\004\024\006q\006\130\004\204\004\025\006\132\006\142\004\149\006\144\006\154\004\223\006R\006\181\001\031\006U\006\007\006\b\004&\007P\000\203\000\209\004\154\007\002\007~\007\130\004\155\004\173\004\208\004'\007\150\001(\000\214\007\156\004\159\007\157\004\176\004\225\004\022\007\162\004)\004\181\004\157\007:\004\227\001\223\007\163\000\235\004\226\007\168\007\167\007\175\004\210\0042\007\177\000\137\001\204\002'\007\183\001\216\0037\004\179\004\218\007\184\007\188\004\159\000\205\004\219\007\189\004\220\000\236\0043\004\181\007\192\000\237\004\186\0044\002)\007\193\007\196\0045\000\207\003j\004\210\0042\006\t\0046\007\199\007\200\007\217\007\206\001w\007\215\003k\003Z\004\149\006\207\004\172\003[\004\024\007\211\001\226\0043\004\025\007\214\004&\002\191\0044\004\022\004\154\004)\0045\001z\004\155\004\173\000\186\004'\0046\001\206\001\227\001\165\006\172\001\207\007\223\001\228\000\137\007\221\007\225\001\229\004\157\0037\004\242\004\218\007\230\001\230\000\000\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\006\173\000\000\006\176\006\007\006\b\000\000\000\000\000\000\004\159\003\128\004\219\000\000\004\220\003\\\001\222\004\181\000\137\003]\004\186\000\000\000\000\000\000\000\000\004\172\003l\004\024\004\210\0042\000\000\004\025\000\000\000\000\000\000\0075\004\022\0076\004)\000\000\007=\000\193\000\000\000\000\000\000\001(\000\194\0043\000\000\000\000\000\000\004\149\0044\000\137\006\198\000\000\0045\006\172\0037\004\242\004\218\004&\0046\000\000\0072\004\154\000\000\000\000\000\000\004\155\004\173\0074\004'\000\193\006\t\006\210\000\000\000\000\000\199\000\000\006\173\000\000\006\176\006\007\006\b\004\157\001\134\000\000\000\000\000\000\001\223\000\000\000\000\001\159\000\000\004\172\000\000\004\024\000\000\000\000\000\186\004\025\003\130\000\000\000\000\000\187\000\000\001\137\004\159\000\195\004\219\000\000\004\220\000\000\000\000\004\181\000\000\003j\004\186\003\135\000\000\004\149\0021\000\000\000\000\003\133\004\210\0042\003k\000U\000\000\004&\000\186\000\000\004\022\004\154\004)\000\187\000\000\004\155\004\173\000\195\004'\000\201\004\249\0043\001\226\006+\000\000\000\000\0044\000\137\006\t\000\000\0045\004\157\0037\004\242\004\218\000\000\0046\003\136\000\000\000\000\001\227\000l\000\000\000\000\000\000\001\228\006,\006\007\006\b\001\229\000\000\000\201\000\000\002\202\004\159\001\230\004\219\000\000\004\250\000\000\000\000\004\181\006\213\000\000\004\186\000\000\000\000\004\149\000\000\004\172\000\000\004\024\004\210\0042\0075\004\025\0076\004&\003Z\003\138\000\000\004\154\003[\000\000\001(\004\155\004\173\004\022\004'\004)\004\251\0043\000\000\000\202\003\139\000\137\0044\001\138\000\000\001\139\0045\004\157\000\000\000\000\000\137\000\000\0046\001(\000\000\0037\005\024\004\218\000\000\000\193\000\000\000\000\006\t\000\000\000\197\000V\000\000\000\000\000\000\000\203\004\159\000\202\004\219\000\000\004\250\000\000\000\137\004\181\000\000\000\000\004\186\000\000\000\000\003\128\000a\003\001\006\211\003\\\004\210\0042\000\000\003]\004\172\000\000\004\024\000d\000\000\000\000\004\025\000\000\000\000\000\203\000\000\000\000\000\137\000\137\000\000\0043\000\000\0037\0072\004\149\0044\000\000\000\000\000\209\0045\007<\000\186\000\000\000\000\004&\0046\000\187\000U\004\154\000\216\000\195\000\204\004\155\004\173\004\022\004'\004)\005\r\000\000\005\026\000\000\000\000\000\137\000\139\000\140\003\022\000\144\000\000\004\157\003\225\000\205\000\137\000\183\002E\000\000\000\206\0037\005\024\004\218\000\000\000\000\000\000\000\000\000l\000\201\000\207\000\000\000\000\000\000\000\000\000\000\004\159\000\000\004\219\000\000\004\250\001\134\003\130\004\181\0068\000\000\004\186\000\000\001\154\000\146\001\027\001\029\000\000\000\000\004\210\0042\004\149\003j\004\172\003\175\004\024\000\000\001\137\000\000\004\025\003\133\004&\000\000\003k\004\022\004\154\004)\006\172\0043\004\155\004\173\000\186\004'\0044\005.\000\000\000\187\0045\000\000\000\000\000\188\000\137\000\000\0046\000\000\004\157\0037\004\179\004\218\000\000\006\173\000\000\006\176\006\007\006\b\000\000\003\136\005\028\000\202\000\000\000\000\000V\000\000\000\000\000\000\000\000\000\000\0075\004\159\0076\004\219\000\000\005\027\003\178\000\201\004\181\000\000\001(\004\186\000\000\000a\003\006\001\031\004\172\004\173\004\024\004\210\0042\000\203\004\025\000\000\000d\000\000\000\000\004\022\000\000\004)\000\000\003\138\000\000\000\000\000\000\000\000\000\000\001%\0043\000\000\000\000\000\000\004\149\0044\000\137\001(\003\139\0045\000\235\0037\000\000\004\171\004&\0046\000\000\006\t\004\154\005\207\000\000\000\000\004\155\004\173\004\181\004'\001\138\004\186\001\139\000\205\006\172\000\000\000\000\000\236\000\000\004\210\001(\000\237\004\157\000\000\000\000\001w\000\000\000\202\000\207\000\000\000\000\000\000\004\172\000\000\004\024\000\000\006+\006\173\004\025\006\176\006\007\006\b\000\000\000\193\000\000\004\159\001z\004\219\000\194\005\027\000\000\000\000\004\181\000\000\001\165\004\186\000\000\000\203\004\149\006,\006\007\006\b\000\000\004\210\0042\000\000\000\000\000\000\004&\000\000\000\000\004\022\004\154\004)\005\151\000\000\004\155\004\173\005 \004'\006+\000\000\0043\000\000\000\000\000\000\000\000\0044\000\137\000\000\000\000\0045\004\157\0037\000\000\004\171\000\000\0046\000\000\000\000\000\137\000\000\000\186\006,\006\007\006\b\000\000\000\187\000\000\006\t\000\000\000\195\000\000\006\218\000\000\004\159\000\000\004\219\000\000\004\220\000\000\000\000\004\181\000\000\000\000\004\186\000\000\000\000\004\149\006\t\004\172\006+\004\024\004\210\0042\000\000\004\025\000\000\004&\000\000\000\000\004\022\004\154\004)\000\000\000\201\004\155\004\173\000\000\004'\000\000\000\000\0043\000\000\006,\006\007\006\b\0044\000\137\000\000\000\000\0045\005\021\0037\000\000\004\171\000\000\0046\001\134\000\000\000\000\000\000\005\167\006\t\000\000\001\144\005 \000\000\000\137\000\139\000\140\003\028\000\144\000\000\000\000\004\159\000\000\004\176\005\023\001\137\000\000\000\000\004\181\000\000\000\000\004\186\000\000\000\000\000\000\000\000\004\172\000\000\004\024\004\210\0042\000\000\004\025\000\000\000\000\000\000\000\000\004\022\000\000\004)\000\137\000\139\000\140\003!\000\144\000\202\000\146\006\221\0043\000\000\006\t\000\000\004\149\0044\000\137\006+\000\000\0045\000\000\0037\000\000\004\171\004&\0046\000\000\000\000\004\154\006+\005\169\0066\004\155\004\173\005 \004'\000\000\000\203\006+\000\000\006,\006\007\006\b\006+\000\146\000\000\000\000\000\000\005\021\000\000\000\000\000\000\006,\006\007\006\b\000\000\000\000\000\000\004\172\000\000\004\024\006,\006\007\006\b\004\025\001\145\006,\006\007\006\b\000\000\000\000\004\159\000\137\004\176\005\023\006E\000\000\000\000\004\181\000\000\000\000\004\186\000\000\0027\004\149\000\000\000\000\000\000\003\208\004\210\0042\001\138\000\000\001\139\004&\000\000\000\000\004\022\004\154\004)\007\014\001(\004\155\004\173\005 \004'\000\193\007\022\0043\000\000\006\t\000\197\000\000\0044\000\137\000\000\000\000\0045\005\021\0037\004\179\004\218\006\t\0046\000\000\000\000\006C\000\000\000\000\000\000\000\000\006\t\000\000\000\000\000\000\000\000\006\t\000\000\000\183\002A\001\134\004\159\000\000\004\176\005\023\000\000\000\000\001\136\004\181\000\000\001w\004\186\000\000\000\000\004\149\000\000\004\172\000\000\004\024\004\210\0042\001\137\004\025\000\000\004&\000\186\000\000\004\022\004\154\004)\000\187\001z\004\155\004\173\000\195\004'\006+\000\000\0043\001\165\000\000\000\000\000\000\0044\000\137\000\000\001w\0045\005\021\0037\000\137\004\171\000\000\0046\000\000\000\000\000\000\000\186\000\000\006,\006\007\006\b\000\187\000\000\000\000\000\000\000\188\001z\000\201\000\000\006+\004\159\000\000\004\176\005\023\001\165\000\000\000\000\004\181\000\000\000\000\004\186\000\000\000\000\006A\000\000\004\172\000\000\004\024\004\210\0042\000\000\004\025\006,\006\007\006\b\006\\\004\022\000\000\004)\000\201\000\000\000\000\000\000\000\000\006g\000\000\007I\0043\000\137\006l\000\000\004\149\0044\000\137\000\000\000\000\0045\001\134\0037\004\179\004\218\004&\0046\000\000\001\144\004\154\006+\007\028\006\t\004\155\004\173\005 \004'\003\185\001\138\000\000\001\139\000\000\001\137\000\000\000\000\000\202\000\000\000\000\001(\004\157\000\000\000\000\000\000\006,\006\007\006\b\000\000\000\000\000\000\004\172\000\000\004\024\000\000\000\000\000\000\004\025\006\t\000\000\000\000\003}\000\000\000\000\004\159\000\000\004\219\000\203\004\220\000\202\000\000\004\181\001\134\000\000\004\186\000\000\000\000\004\149\000\000\001\157\000\000\000\000\004\210\0042\000\000\000\000\000\000\004&\000\000\005)\004\022\004\154\004)\001\137\000\235\004\155\004\173\000\000\004'\000\203\000\000\0043\000\000\000\000\000\000\000\000\0044\000\137\000\000\000\000\0045\005\021\0037\000\205\004\218\006\t\0046\000\236\000\000\000\000\000\000\000\237\001\145\000\000\000\183\002;\000\000\000\000\000\207\000\000\000\000\000\000\000\183\002%\004\159\000\193\004\176\005\023\006~\000\000\000\199\004\181\000\000\000\000\004\186\004\193\000\000\004\149\001\138\004\172\001\139\004\024\004\210\0042\000\000\004\025\000\000\004&\001(\000\000\004\022\004\154\004)\000\000\000\000\004\155\004\173\000\000\004'\000\000\000\000\0043\006\139\004\222\000\193\000\000\0044\000\137\000\000\000\199\0045\004\157\0037\000\186\004\171\000\000\0046\000\000\000\187\000\000\000\000\000\186\000\188\000\000\000\186\000\000\000\187\000\000\000\000\000\187\000\188\000\000\000\000\000\195\004\159\000\000\004\219\001\138\004\220\001\139\000\000\004\181\000\000\000\000\004\186\000\000\000\000\001(\000\000\004\172\000\000\004\024\004\210\0042\000\000\004\025\000\201\000\000\000\000\006\137\004\022\000\000\004)\000\186\000\201\000\000\000\000\000\201\000\187\000\000\000\000\0043\000\195\004\170\000\000\004\149\0044\000\137\000\000\000\000\0045\000\000\0037\000\000\004\171\004&\0046\000\000\000\000\004\154\000\000\000\000\006+\004\155\004\173\000\000\004'\000\183\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\201\000\000\000\000\005+\000\000\004\022\000\000\004)\000\000\006,\006\007\006\b\000\000\004\172\000\000\004\024\000\193\000\000\004\180\004\025\000\000\000\197\000\137\000\000\000\202\000\000\004\159\0037\004\219\004\171\005-\000\000\000\202\004\181\000\000\000\202\004\186\000\000\000\000\004\149\000\000\000\000\000\000\000\000\004\210\0042\000\000\000\000\000\000\004&\000\186\000\000\000\000\004\154\000\203\000\187\000\000\004\155\004\173\000\188\004'\000\000\000\203\0043\004\172\000\203\004\024\000\000\0044\000\000\004\025\000\000\0045\004\174\000\202\000\186\000\000\000\000\0046\006\t\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\000\004\022\000\000\004)\000\000\000\204\000\201\000\000\000\000\004\159\000\232\004\176\004\177\000\000\000\000\000\000\004\181\000\203\000\137\004\186\000\000\000\000\004\149\0037\000\205\004\171\000\000\004\210\0042\001\016\000\000\000\201\004&\000\000\000\000\000\000\004\154\000\000\000\000\000\207\004\155\004\173\000\000\004'\000\204\000\000\0043\000\000\000\000\000\000\000\000\0044\004\022\000\000\004)\0045\004\174\000\000\000\000\000\000\004\172\0046\004\024\000\205\000\000\000\000\004\025\000\000\001\019\000\137\000\000\000\000\000\000\004\149\0037\000\000\004\171\000\000\000\207\004\159\000\202\004\176\004\177\004&\000\000\000\000\004\181\004\154\000\000\004\186\000\000\004\155\004\173\000\000\004'\000\000\000\000\004\210\0042\000\000\000\000\000\000\000\000\000\000\000\000\000\202\006\196\004\174\000\000\000\000\000\203\004\172\000\000\004\024\000\000\000\000\0043\004\025\000\000\000\137\000\000\0044\000\000\000\000\000\000\0045\000\000\000\000\000\000\000\238\004\159\0046\004\176\004\177\006+\000\203\000\000\004\181\000\000\000\000\004\186\000\000\000\193\000\000\000\000\000\000\000\000\000\194\004\210\0042\000\193\000\000\000\000\000\000\000\000\000\197\004\149\006,\006\007\006\b\000\000\000\000\000\235\000\000\000\000\000\137\004&\0043\000\000\000\000\004\154\000\000\0044\000\000\004\155\004\173\0045\004'\004\022\000\000\004)\000\205\0046\004\253\000\000\000\236\000\000\001\134\000\000\000\237\004\246\000\000\000\000\000\000\001\144\000\137\000\207\000\000\000\000\000\000\0037\000\186\004\171\000\000\000\000\000\000\000\187\004\149\001\137\000\186\000\195\000\000\000\000\004\159\000\187\004\176\004\248\004&\000\195\000\000\004\181\004\154\000\000\004\186\000\000\004\155\004\173\006\t\004'\000\000\000\000\004\210\0042\001\134\004\245\000\000\000\000\004\172\000\000\004\024\001\144\004\246\000\000\004\025\000\201\000\000\004\022\000\000\004)\000\000\0043\000\000\000\201\000\000\001\137\0044\000\000\000\000\000\000\0045\000\000\000\000\000\000\000\137\004\159\0046\004\176\004\248\0037\000\000\004\171\004\181\000\000\003D\004\186\004\022\000\000\004)\000\000\000\000\000\000\000\000\004\210\0042\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\137\000\000\000\000\000\000\001\145\0037\000\000\004\171\000\000\0043\000\000\000\000\000\000\004\172\0044\004\024\000\000\000\000\0045\004\025\000\000\000\000\000\137\000\000\0046\000\000\000\202\004\201\000\000\000\000\001\138\000\000\001\139\000\000\000\202\000\000\000\000\000\000\000\000\000\000\001(\004\149\004\172\000\000\004\024\000\000\000\000\000\000\004\025\006\201\001\145\004&\000\000\000\000\000\000\004\154\000\203\000\000\001\031\004\155\004\173\000\000\004'\000\000\000\203\000\000\000\000\005\t\000\000\000\000\000\000\000\000\000\000\005I\000\000\005\n\001\138\000\000\001\139\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001(\000\000\005\020\000\000\001\134\000\235\000\000\000\000\000\000\000\000\000\000\001\144\004\159\000\000\004\176\005\012\000\209\000\000\000\000\004\181\000\000\000\000\004\186\004\149\000\205\001\137\000\000\000\218\000\236\000\000\004\210\0042\000\237\004&\000\000\000\000\000\000\004\154\000\000\000\207\000\000\004\155\004\173\004\022\004'\004)\000\000\000\000\000\000\0043\005\007\000\000\004\149\000\000\0044\000\000\000\000\004\246\0045\000\000\000\137\000\000\004&\000\000\0046\0037\004\154\004\171\000\000\000\000\004\155\004\173\004\022\004'\004)\000\000\000\000\000\000\000\000\000\000\004\159\000\000\004\176\004\248\007\018\000\000\005\021\004\181\000\000\000\137\004\186\000\000\000\000\000\000\0037\000\000\004\171\000\000\004\210\0042\000\000\000\000\004\172\000\000\004\024\000\000\000\000\000\000\004\025\004\159\000\000\004\176\005\023\001\145\000\000\000\000\004\181\0043\000\000\004\186\000\000\000\000\0044\000\000\000\000\000\000\0045\004\210\0042\000\000\000\000\004\172\0046\004\024\000\000\000\000\005t\004\025\000\000\001\138\004\022\001\139\004)\000\000\000\000\000\000\0043\000\000\005\025\001(\000\000\0044\007\030\000\000\000\000\0045\000\000\000\137\000\000\000\000\000\000\0046\0037\000\000\004\171\000\000\000\000\000\000\000\000\004\022\000\000\004)\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\197\000\000\007!\000\000\000\000\000\000\000\000\000\137\000\000\000\000\006\244\000\000\0037\000\000\004\171\000\000\000\000\000\000\000\000\004\149\004\172\000\000\004\024\000\000\000\000\000\000\004\025\000\000\000\000\004&\000\000\000\000\000\000\004\154\000\000\000\000\000\000\004\155\004\173\000\000\004'\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\149\004\172\000\000\004\024\000\000\005\021\000\186\004\025\000\000\000\000\004&\000\187\000\000\000\000\004\154\000\195\000\000\000\000\004\155\004\173\000\000\004'\001\204\000\000\000\000\001\216\000\000\000\000\004\159\000\000\004\176\005\023\000\000\000\000\007\019\004\181\000\000\000\193\004\186\000\137\000\000\000\000\000\194\000\000\000\000\000\000\004\210\0042\000\000\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\159\000\000\004\176\007\021\000\000\000\000\000\000\004\181\0043\000\000\004\186\004\149\000\000\0044\000\000\000\000\000\000\0045\004\210\0042\000\000\004&\000\000\0046\000\186\004\154\000\000\001\206\000\000\004\155\004\173\001\207\004'\000\000\000\000\000\000\000\000\0043\000\000\000\186\004\149\000\000\0044\000\000\000\187\007\019\0045\004\022\000\195\004)\004&\000\000\0046\000\000\004\154\000\000\000\000\000\000\004\155\004\173\000\000\004'\002\015\004\022\000\137\004)\000\202\001\222\004\159\005<\004\176\007\021\000\000\000\000\007\019\004\181\000\000\000\000\004\186\000\000\000\137\000\000\000\201\000\000\000\000\005<\004\210\0042\000\000\000\000\006\245\000\000\000\000\005[\000\000\000\000\000\203\004\159\000\000\004\176\007\021\000\000\000\000\000\000\004\181\0043\005^\004\186\004\024\005]\0044\000\000\004\025\000\000\0045\004\210\0042\000\000\000\000\000\000\0046\000\000\005^\000\235\004\024\000\000\000\000\000\000\004\025\000\000\000\000\005d\000\000\000\000\0043\000\000\000\000\000\000\000\000\0044\000\000\001\223\000\205\0045\000\000\000\000\000\236\005d\001\204\0046\000\237\001\216\000\000\000\000\000\000\000\000\000\202\000\207\000\000\000\000\000\000\000\000\000\000\002\016\002\017\000\137\005\137\000\000\000\000\004.\000\000\001\029\000\000\001\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\203\001\225\000\000\001\204\000\000\000\000\001\216\000\000\000\000\001(\000\000\001\226\000\000\000\000\000\000\001\204\000\000\000\000\001\216\000\000\000\137\000\186\000\000\000\000\001\206\000\000\004&\000\000\001\207\001\227\000\000\000\000\000\137\000\000\001\228\005e\000\000\004'\001\229\000\000\000\000\000\000\004&\000\000\001\230\000\000\000\209\000\000\002\007\000\000\005\139\005e\000\000\004'\000\000\000\000\000\000\000\220\000\000\002\015\000\000\000\000\000\186\000\000\001\222\001\206\005f\000\000\000\000\001\207\000\000\000\000\000\000\000\000\000\186\000\000\000\000\001\206\000\000\000\000\005h\001\207\000\000\005\140\001\204\000\000\000\000\001\216\000\000\000\000\000\000\005\127\0042\000\000\000\000\000\000\005h\000\000\000\000\005m\002\015\000\137\000\000\000\183\002!\001\222\000\000\005\127\0042\000\000\0043\000\000\002\015\000\000\000\000\0044\000\000\001\222\000\000\0045\000\000\000\000\000\000\000\000\000\000\0046\0043\000\000\000\000\000\000\000\000\0044\000\000\000\000\000\000\0045\000\000\001\204\001\223\000\000\001\216\0046\000\000\000\186\000\000\000\000\001\206\000\000\000\000\000\000\001\207\000\000\000\000\000\000\000\137\000\000\000\000\000\000\000\000\000\000\002\016\003a\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\000\001\224\000\188\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\223\000\000\002\015\000\000\000\000\001\225\004\022\001\222\004)\000\000\000\000\000\000\001\223\001(\000\000\001\226\000\000\000\186\000\000\000\000\001\206\000\000\002\016\004\029\001\207\000\000\000\201\000\000\000\000\000\000\004\142\004\239\001\224\001\227\002\016\004\151\000\000\000\000\001\228\000\000\000\000\000\000\001\229\000\000\001\224\000\000\001\225\000\000\001\230\000\000\000\000\000\000\002\007\000\000\001(\002\015\001\226\000\193\001\225\000\000\001\222\000\000\000\197\000\000\000\000\003\128\001(\004\024\001\226\000\000\000\000\004\025\000\000\000\000\001\227\000\000\000\000\000\000\000\000\001\228\000\000\001\223\000\000\001\229\000\000\004\022\001\227\004)\000\000\001\230\000\000\001\228\000\000\002\007\000\000\001\229\000\000\000\000\000\000\000\000\000\202\001\230\000\000\002\016\004\183\002\007\000\000\000\000\000\000\004\142\004\229\000\000\000\000\001\224\000\000\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\001\225\000\000\000\000\000\203\000\000\000\000\000\000\001\223\001(\000\000\001\226\004\022\000\000\004)\000\000\000\000\000\000\003\128\000\000\004\024\000\000\000\000\000\000\004\025\000\000\000\000\000\000\000\000\001\227\002\016\005j\000\000\000\201\001\228\004\149\004\142\004\143\001\229\000\000\001\224\000\000\000\000\000\000\001\230\004&\000\000\000\000\002\007\004\154\000\000\000\000\000\000\004\155\001\225\000\000\004'\000\000\000\000\000\183\002 \004\022\001(\004)\001\226\000\000\000\000\000\000\000\000\004\157\000\000\003\128\000\000\004\024\000\000\000\000\000\000\004\025\000\000\000\000\000\000\000\000\001\227\000\000\000\000\004\142\004\153\001\228\000\000\000\000\000\000\001\229\004\159\000\000\000\000\000\000\000\000\001\230\000\193\003{\000\000\002\007\000\000\000\197\000\000\000\000\000\000\000\202\000\000\000\000\000\000\0042\000\000\000\000\004\149\000\000\000\000\004\022\000\186\004)\003\128\000\000\004\024\000\187\004&\000\000\004\025\000\188\004\154\0043\000\000\003}\004\155\000\000\0044\004'\000\000\000\203\0045\000\000\000\000\004\142\004\241\000\000\0046\000\000\000\000\000\000\004\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\000\000\201\000\187\000\000\000\235\000\000\000\195\004\149\004\022\000\000\004)\004\159\000\000\000\000\000\000\000\000\003\128\004&\004\024\001\234\000\000\004\154\004\025\000\205\000\000\004\155\001\204\000\236\004'\001\216\0042\000\237\004\142\005\189\004\022\000\000\004)\000\000\000\207\000\000\000\201\004\157\000\000\000\137\000\000\000\000\000\000\000\000\0043\000\000\000\000\000\000\000\000\0044\000\000\000\000\004\149\0045\004\142\005\191\000\000\000\000\000\000\0046\004\159\000\000\004&\003\128\000\000\004\024\004\154\000\000\000\000\004\025\004\155\000\202\000\000\004'\004\022\000\000\004)\000\000\000\000\0042\000\000\000\186\000\000\000\000\001\206\000\000\004\157\000\000\001\207\003\128\001\204\004\024\000\000\001\216\000\000\004\025\000\000\0043\004\142\005\193\000\000\000\203\0044\000\000\000\000\000\000\0045\000\137\004\149\004\159\000\202\000\000\0046\000\000\000\000\000\000\000\000\000\000\004&\002\014\000\000\000\000\004\154\000\000\001\222\000\000\004\155\000\000\0042\004'\000\000\000\000\000\000\003\128\000\238\004\024\000\000\000\000\000\000\004\025\000\203\000\000\004\157\000\000\000\000\000\000\0043\000\000\000\000\000\186\000\000\0044\001\206\000\000\000\000\0045\001\207\000\000\000\000\004\149\000\000\0046\000\000\000\000\000\000\004\159\000\000\000\235\000\000\004&\000\000\000\000\001\204\004\154\000\000\001\216\000\000\004\155\000\000\000\000\004'\000\000\000\000\000\000\0042\004\149\000\205\000\000\000\000\000\137\000\236\000\000\001\222\004\157\000\237\004&\000\000\000\000\001\223\004\154\000\000\000\207\0043\004\155\000\000\000\000\004'\0044\000\000\000\000\000\000\0045\000\000\000\000\000\000\000\000\004\159\0046\000\000\004\157\000\000\000\000\000\000\000\000\004\022\000\000\004)\000\000\000\000\004\149\001\224\000\186\000\000\000\000\001\206\0042\000\000\000\000\001\207\004&\000\000\000\000\004\159\004\154\001\225\000\000\000\000\004\155\004\232\000\000\004'\000\000\001(\0043\001\226\000\000\000\000\000\000\0044\000\000\000\000\0042\0045\004\157\000\000\000\000\001\223\000\000\0046\001\221\000\000\000\000\001\227\000\000\001\222\001\204\000\000\001\228\001\216\0043\000\000\001\229\000\000\003\128\0044\004\024\004\159\001\230\0045\004\025\000\000\002\007\000\137\000\000\0046\000\000\000\000\000\000\001\224\000\000\000\000\001\204\000\000\000\000\001\216\0042\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\000\137\002\n\001(\000\000\001\226\0043\000\000\000\000\000\000\000\000\0044\000\000\000\000\000\000\0045\000\000\000\186\000\000\000\000\001\206\0046\000\000\001\227\001\207\000\000\000\000\000\000\001\228\000\000\000\000\001\223\001\229\000\000\000\193\000\193\000\000\000\000\001\230\000\194\000\197\000\000\002\011\000\186\000\000\000\000\001\206\000\000\000\193\000\000\001\207\000\000\000\137\000\197\000\000\002\t\000\000\000\000\000\000\000\000\001\222\000\000\004\149\001\224\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\004&\000\000\000\000\000\000\004\154\001\225\000\000\000\000\004\155\002\r\000\000\004'\000\193\001(\001\222\001\226\000\000\000\197\000\000\000\000\000\000\000\186\000\186\000\193\004\157\000\000\000\187\000\187\000\194\000\137\000\195\000\195\000\000\001\227\000\000\000\186\000\000\000\000\001\228\000\000\000\187\000\193\001\229\000\000\000\195\000\000\000\197\004\159\001\230\000\000\000\000\000\193\002\007\000\000\000\000\000\000\000\197\000\000\000\137\000\000\000\000\000\000\001\223\000\000\000\201\000\201\0042\000\000\000\137\000\000\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\201\000\000\000\195\000\000\000\186\000\000\0043\000\000\000\000\000\187\001\223\0044\000\193\000\195\000\000\0045\001\224\000\197\000\000\000\000\000\000\0046\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\137\001\225\000\195\000\186\000\183\002\031\000\000\000\201\000\187\001(\000\000\001\226\000\195\001\224\000\000\000\000\000\000\000\000\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\001\227\000\000\000\202\000\202\000\000\001\228\001(\000\201\001\226\001\229\000\000\000\000\000\000\000\186\000\000\001\230\000\202\000\201\000\187\002\007\000\000\000\000\000\195\000\000\000\000\000\000\001\227\001\186\000\000\000\000\000\000\001\228\000\203\000\203\000\186\001\229\000\000\000\000\000\000\000\187\002#\001\230\000\000\000\188\000\000\002\007\000\203\000\000\000\000\001\188\000\000\000\000\000\202\000\000\000\193\000\000\000\201\001(\000\000\000\197\000\235\000\000\0029\000\202\000\000\000\000\000\000\000\000\000\000\000\000\001(\000\137\000\000\000\235\000\000\000\000\002#\000\201\000\209\000\205\000\000\000\202\000\203\000\236\000\000\000\000\000\000\000\237\000\000\000\222\000\000\000\202\000\205\000\203\000\207\000\000\000\236\000\000\002?\003Z\000\237\000\000\000\000\003[\000\000\002#\001(\000\207\000\000\000\235\000\000\000\203\000\000\000\186\000\000\002#\000\000\000\000\000\187\000\000\000\000\000\203\000\195\000\000\000\193\000\000\000\000\002C\000\205\000\197\000\202\000\000\000\236\000\000\000\000\001(\000\237\003@\000\235\000\209\000\000\000\137\003Z\000\207\000\000\001(\003[\000\000\000\235\000\000\000\224\000\202\000\000\000\000\003G\000\000\000\201\000\205\003\128\000\000\000\203\000\236\003\\\000\000\000\000\000\237\003]\000\205\000\000\000\183\000\185\000\236\000\207\000\000\000\000\000\237\003I\000\000\000\000\000\183\001\197\000\203\000\207\000\186\001(\000\000\000\000\000\235\000\187\000\000\000\000\000\000\000\195\003\129\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\128\000\000\000\000\000\000\003\\\000\205\000\000\000\000\003]\000\236\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\003Z\000\000\000\000\000\201\003[\000\186\000\000\000\202\000\000\000\000\000\187\000\193\000\000\003\170\000\188\000\186\000\197\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\188\000\000\003\130\000\000\000\000\000\000\003Z\002#\000\000\000\000\003[\000\000\000\000\000\203\000\000\000\000\000\000\003j\000\000\003\168\000\183\001\200\000\193\000\000\000\201\003\133\000\000\000\197\003k\003\238\000\000\000\000\000\000\000\000\000\201\003\128\000\000\001(\000\000\003\\\000\235\000\000\000\000\003]\000\000\003\130\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\202\003\171\000\195\000\000\000\183\001\203\000\205\003j\003\136\003\168\000\236\000\000\003\128\000\000\000\237\003\133\003\\\003\174\003k\000\000\003]\000\207\000\000\000\000\004\003\000\000\000\186\000\000\000\186\000\000\000\203\000\187\000\000\000\187\000\000\000\188\000\201\000\195\000\000\000\000\000\000\000\000\000\000\000\000\003\171\000\202\004\005\003\177\000\193\000\000\003\138\003\136\000\000\000\197\001(\000\202\000\000\000\235\000\000\000\000\000\000\000\000\000\000\000\186\000\000\003\139\000\000\000\000\000\187\000\201\000\000\000\201\000\188\003\130\000\193\000\203\000\205\000\000\000\000\000\197\000\236\000\000\000\000\000\000\000\237\000\203\000\000\000\000\003j\000\000\003\168\000\207\000\000\003\138\000\000\000\000\003\133\000\183\003B\003k\000\000\000\000\003\202\003\130\000\000\000\000\000\201\000\186\003\139\000\000\000\202\000\000\000\187\000\000\000\000\000\000\000\195\000\000\003j\000\000\003\168\000\000\000\000\000\000\000\000\003\171\003\133\000\000\000\000\003k\000\000\000\000\003\136\000\186\003}\000\000\000\000\003\213\000\187\000\000\000\203\000\000\000\195\000\202\000\000\000\202\000\000\000\193\000\000\000\193\000\201\000\000\000\197\000\000\000\197\003\171\000\186\000\000\000\000\000\193\000\000\000\187\003\136\000\000\000\197\000\188\000\000\000\235\000\000\003}\000\000\000\000\000\000\000\203\003\138\000\203\000\201\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\193\003\139\000\236\000\000\000\000\000\197\000\237\000\000\000\000\000\000\000\000\000\201\000\193\000\207\000\235\000\000\003\138\000\197\000\186\000\000\000\186\000\000\000\203\000\187\000\000\000\187\000\000\000\195\003\221\000\195\000\186\003\139\000\000\000\205\000\000\000\187\000\202\000\236\000\000\000\195\004:\000\237\004o\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\000\004q\000\000\003\228\000\000\000\000\000\000\000\000\000\186\003}\000\201\000\202\000\201\000\187\000\000\000\203\000\000\000\195\000\000\000\000\000\186\000\000\000\201\000\000\000\000\000\187\000\183\003S\000\000\000\195\004s\000\000\000\000\000\000\000\202\003}\000\000\000\000\000\000\000\000\000\000\000\203\000\235\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\201\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\197\000\000\000\205\000\000\000\201\000\203\000\236\000\000\000\000\000\235\000\237\000\000\000\000\000\193\000\000\000\000\000\000\000\207\000\197\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\186\000\202\000\205\000\000\000\000\000\187\000\236\000\000\000\000\000\188\000\237\000\202\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\000\000\000\000\000\000\238\000\000\000\238\000\000\000\000\000\186\000\203\000\000\000\203\000\000\000\187\000\000\000\238\000\000\000\195\000\000\000\000\000\202\000\203\000\193\000\201\004\197\000\000\000\186\000\197\000\000\000\000\000\000\000\187\000\202\000\000\000\000\000\195\000\235\000\000\000\235\000\000\000\000\000\000\000\193\000\000\000\238\000\000\000\000\000\197\000\235\000\000\000\203\000\201\000\000\000\000\000\000\000\205\003}\000\205\000\000\000\236\000\000\000\236\000\203\000\237\000\000\000\237\000\000\000\205\000\000\000\201\000\207\000\236\000\207\000\193\000\000\000\237\000\000\000\235\000\197\000\000\000\000\000\186\000\207\000\000\000\000\000\000\000\187\000\000\000\000\000\235\000\195\000\000\000\000\000\193\000\000\000\000\000\205\000\202\000\197\000\000\000\236\000\186\000\000\000\000\000\237\000\000\000\187\000\000\000\205\000\000\000\195\000\207\000\236\000\000\000\000\000\193\000\237\004\206\000\000\000\000\000\197\000\000\000\000\000\207\000\201\000\202\000\000\000\203\000\193\000\000\000\000\000\000\000\186\000\197\000\000\004\214\000\000\000\187\000\183\003V\000\000\000\195\000\000\000\202\000\201\000\000\000\000\000\000\000\000\003}\000\000\000\000\000\186\000\000\000\000\000\203\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\000\000\000\000\000\003}\000\000\000\000\000\000\000\000\000\000\000\203\000\186\000\201\000\000\000\000\000\000\000\187\000\000\000\000\000\235\000\195\000\000\000\000\000\193\000\186\000\000\000\000\005A\000\197\000\187\000\000\000\000\000\201\000\195\000\186\000\202\000\000\000\235\000\205\000\187\000\000\000\000\000\236\000\188\000\000\000\000\000\237\005M\000\000\000\000\000\000\000\000\000\000\000\207\000\201\000\202\000\205\000\000\000\000\003}\000\236\000\000\000\000\000\000\000\237\000\203\000\000\000\201\000\000\000\000\000\193\000\207\000\000\000\000\000\000\000\197\000\000\000\201\005R\003}\000\000\000\000\000\186\000\000\000\000\000\203\000\202\000\187\000\000\000\000\000\000\000\195\000\235\000\000\000\000\000\000\000\000\000\000\005Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\000\003}\000\205\000\235\000\000\000\000\000\236\000\203\000\000\000\000\000\237\005b\000\000\000\000\000\000\000\000\000\201\000\207\000\000\000\202\000\186\003}\000\205\000\000\005x\000\187\000\236\000\203\000\000\000\195\000\237\000\000\000\202\000\193\000\235\000\000\000\000\000\207\000\197\000\000\000\000\000\000\000\202\003}\000\000\000\000\000\000\000\193\007X\000\203\000\000\000\000\000\197\000\205\000\235\000\000\003}\000\236\000\183\003Y\000\000\000\237\000\203\000\201\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\000\000\203\000\205\000\000\000\193\000\235\000\236\000\000\000\000\000\197\000\237\005}\000\000\000\000\000\000\000\000\000\000\000\207\000\235\000\202\000\193\000\186\000\000\000\000\000\205\000\197\000\187\000\000\000\236\000\000\000\195\000\000\000\237\000\000\000\000\000\186\000\000\000\205\000\000\000\207\000\187\000\236\000\000\003}\000\195\000\237\000\186\000\000\000\000\000\203\000\000\000\187\000\207\000\000\000\000\000\188\000\000\000\193\005\132\000\000\000\000\000\000\000\197\000\186\000\201\000\000\000\202\000\000\000\187\000\193\000\000\000\000\000\195\000\000\000\197\000\000\000\235\000\000\000\201\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\201\003}\000\000\000\000\000\000\000\000\000\205\000\203\000\193\000\000\000\236\000\000\000\000\000\197\000\237\000\000\000\000\000\201\000\000\000\000\000\000\000\207\000\000\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\201\000\235\000\000\000\195\000\000\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\202\000\193\000\000\000\000\000\205\000\000\000\197\000\000\000\236\000\000\000\000\000\000\000\237\000\000\000\202\000\000\000\000\000\000\000\186\000\207\000\000\000\201\000\000\000\187\006\245\000\202\000\000\000\195\000\000\000\000\000\203\000\000\000\000\000\201\000\000\000\000\000\000\000\000\001\020\000\000\000\000\000\000\000\202\000\000\000\203\000\193\000\000\000\000\000\000\000\000\000\197\000\000\000\000\000\000\000\000\000\203\000\000\000\235\000\202\000\000\000\186\000\201\000\000\000\000\000\000\000\187\000\234\000\000\000\000\000\195\000\000\000\235\000\203\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\236\000\000\001!\000\000\000\237\000\000\000\000\000\193\000\203\000\000\000\205\000\207\000\197\000\000\000\236\000\202\000\000\000\000\000\237\000\235\000\000\000\000\000\000\000\201\000\186\000\207\000\000\000\202\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\235\000\000\000\000\000\205\001\236\000\000\000\000\000\236\000\000\000\000\000\203\000\237\000\000\000\000\000\000\000\000\002\020\000\000\000\207\000\205\000\202\000\000\000\203\000\236\000\000\000\193\000\000\000\237\000\000\000\000\000\197\000\186\000\201\000\000\000\207\000\000\000\187\000\235\000\000\000\000\000\195\000\000\000\000\000\000\002-\000\000\000\000\000\000\000\000\000\235\000\203\000\000\000\000\000\193\000\193\000\000\000\205\000\000\000\197\000\197\000\236\000\000\000\202\000\000\000\237\000\000\000\000\000\000\000\205\000\000\000\000\000\207\000\236\000\193\000\201\000\000\000\237\000\235\000\194\000\000\000\000\000\000\000\000\000\207\000\186\000\000\003+\000\000\000\000\000\187\000\193\000\000\000\203\000\195\000\000\000\197\000\205\000\000\000\000\000\000\000\236\000\000\000\193\000\000\000\237\000\000\000\202\000\197\000\000\000\000\000\000\000\207\000\186\000\186\000\000\000\000\000\000\000\187\000\187\000\235\000\000\000\195\000\195\000\000\000\000\000\000\000\000\000\201\000\000\000\000\0031\000\000\000\186\000\000\000\000\000\000\000\203\000\187\000\205\000\193\000\000\000\195\000\236\000\000\000\197\000\000\000\237\000\000\000\202\000\186\000\183\003\240\000\000\000\207\000\187\000\201\000\201\000\000\000\195\000\000\000\000\000\186\000\000\000\235\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\003d\000\000\000\000\000\201\000\000\000\000\000\203\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\236\000\183\004\015\000\000\000\237\000\000\000\201\000\000\000\000\000\000\000\000\000\207\000\186\000\000\000\000\000\202\000\000\000\187\000\201\000\235\000\000\000\195\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\193\000\000\000\188\000\000\000\000\000\197\000\000\000\000\000\205\003o\000\000\000\000\000\236\000\202\000\202\000\203\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\201\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\202\000\000\000\187\000\201\003q\003\243\000\188\000\000\000\000\000\235\000\203\000\203\000\000\000\000\000\193\000\000\000\193\000\202\000\000\000\197\000\000\000\197\000\000\000\000\000\000\000\000\000\186\000\000\000\205\000\202\000\203\000\187\000\236\000\000\000\000\000\195\000\237\000\235\000\235\000\000\000\201\003\248\000\000\000\207\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\000\003\252\000\000\000\000\000\205\000\205\000\000\000\203\000\236\000\236\000\000\000\193\000\237\000\237\000\202\000\000\000\197\000\201\000\000\000\207\000\207\000\186\000\235\000\186\000\209\000\202\000\187\000\000\000\187\000\000\000\195\000\000\000\195\000\000\000\235\000\226\000\000\000\000\004 \000\000\000\000\000\205\000\000\000\193\000\203\000\236\000\000\000\000\000\197\000\237\000\000\000\000\000\000\000\205\000\000\000\203\000\207\000\236\000\000\000\183\004\018\000\237\000\202\000\000\000\201\000\000\000\201\000\000\000\207\000\000\000\186\000\235\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\193\000\193\000\000\000\000\000\000\000\197\000\197\000\000\000\205\000\202\000\203\000\000\000\236\000\000\000\000\000\000\000\237\000\000\000\000\000\000\000\186\000\000\000\000\000\207\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\201\000\000\004<\000\000\000\000\000\186\000\000\000\000\000\203\000\000\000\187\000\193\000\000\000\000\000\188\000\000\000\197\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\202\000\186\000\186\000\000\000\000\000\201\000\187\000\187\000\235\000\000\000\195\000\195\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\201\004g\000\000\004\146\000\000\000\000\000\205\000\203\000\000\000\203\000\236\000\000\000\000\000\000\000\237\000\000\000\183\004\021\000\000\000\000\000\000\000\207\000\186\000\201\000\201\000\000\000\202\000\187\000\193\000\000\000\000\000\195\000\000\000\197\000\235\000\000\000\235\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\193\000\000\000\197\000\000\000\000\000\197\0054\000\000\000\000\000\205\000\000\000\205\000\203\000\236\000\202\000\236\000\000\000\237\000\000\000\237\000\000\000\201\000\000\000\000\000\207\000\000\000\207\000\000\000\000\000\193\000\202\000\186\000\000\000\000\000\199\000\000\000\187\000\000\005\155\000\235\000\188\000\000\000\000\000\186\000\203\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\202\000\202\000\000\000\186\000\000\000\205\000\186\000\203\000\187\000\236\000\000\000\187\000\195\000\237\000\000\000\195\000\000\000\000\000\235\000\000\000\207\000\201\000\000\000\000\005\175\005\177\000\000\000\000\000\000\000\000\000\203\000\203\000\000\000\201\000\193\000\186\000\000\000\205\000\000\000\199\000\187\000\236\000\202\000\000\000\195\000\237\000\201\000\000\000\000\000\201\000\000\000\000\000\207\000\000\000\000\000\000\000\000\000\235\000\235\000\000\000\193\000\000\000\000\000\000\000\000\000\199\005\179\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\205\000\205\000\201\000\000\000\236\000\236\000\000\000\000\000\237\000\237\000\000\000\000\000\000\000\000\000\000\000\207\000\207\000\186\000\000\000\202\000\000\000\000\000\187\000\235\000\000\000\000\000\195\000\000\000\193\000\000\000\000\000\202\000\000\000\199\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\186\000\202\000\000\000\236\000\202\000\187\000\203\000\237\000\000\000\195\000\193\000\000\005\185\000\000\000\207\000\194\000\000\000\201\000\203\000\000\000\000\000\000\000\000\000\000\000\000\005\199\000\000\000\000\005\213\000\000\000\193\000\203\000\000\000\202\000\203\000\194\000\000\000\193\000\000\000\000\000\000\000\000\000\194\000\201\000\186\000\235\000\000\000\193\000\000\000\187\000\000\000\000\000\194\000\195\000\193\000\000\000\000\000\000\000\235\000\194\000\000\000\235\000\000\000\203\000\205\000\000\000\000\000\000\000\236\000\186\000\000\000\000\000\237\000\000\000\187\000\000\000\000\000\205\000\195\000\207\000\205\000\236\000\000\000\000\000\236\000\237\000\000\000\201\000\237\000\186\000\204\000\202\000\207\000\000\000\187\000\207\000\186\000\000\000\195\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\186\000\000\000\000\000\205\000\000\000\187\000\201\000\186\001\218\000\195\000\000\000\202\000\187\000\000\000\193\000\203\000\195\000\000\000\207\000\194\000\193\000\000\000\000\000\000\000\000\000\194\000\201\000\193\000\000\000\000\000\193\000\000\000\194\000\201\000\000\000\194\000\000\000\000\000\000\000\000\000\193\000\203\000\204\000\201\000\000\000\194\000\000\000\193\000\000\000\000\000\201\000\000\000\194\000\000\000\000\000\202\000\000\000\000\000\000\000\193\000\000\000\205\000\000\000\000\000\194\000\000\001\220\000\000\000\204\000\000\000\000\000\000\000\000\000\186\000\000\000\000\000\207\000\000\000\187\000\186\000\202\000\000\000\195\000\000\000\187\000\203\000\186\000\205\000\195\000\186\000\000\000\187\004+\000\000\000\187\000\195\000\000\000\000\000\195\000\186\000\202\000\000\000\207\000\000\000\187\000\000\000\186\000\202\000\195\000\000\000\203\000\187\000\204\000\000\000\000\000\195\000\201\000\202\000\186\000\000\000\193\000\000\000\201\000\187\000\202\000\194\000\000\000\195\000\000\000\201\000\203\000\205\000\201\000\000\000\000\000\000\004-\000\203\000\000\000\000\000\000\000\000\000\201\000\000\000\000\000\000\000\207\000\203\000\000\000\201\000\000\000\000\000\000\000\193\000\203\000\000\000\209\000\000\000\194\000\000\000\193\000\201\000\000\000\000\000\000\000\194\000\000\000\228\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\209\000\000\000\194\000\186\000\000\000\000\000\000\000\209\000\187\000\000\000\193\000\230\000\195\000\000\000\202\000\194\000\193\000\209\000\240\000\000\000\202\000\194\000\000\000\000\000\209\000\000\000\000\000\202\000\242\000\193\000\202\000\000\000\000\000\000\000\194\000\244\000\186\000\000\000\000\000\000\000\202\000\187\000\000\000\186\000\203\000\195\000\201\000\202\000\187\000\000\000\203\000\000\000\195\000\000\000\000\000\000\000\186\000\203\000\000\000\202\000\203\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\000\000\186\000\203\000\000\000\000\000\000\000\187\000\186\000\000\000\203\000\195\000\201\000\187\000\000\000\000\000\000\000\195\000\000\000\201\000\000\000\186\000\203\000\209\000\000\000\000\000\187\000\000\000\193\000\209\000\195\000\000\000\201\000\194\000\246\000\000\000\209\000\000\000\000\000\209\000\248\000\193\000\000\000\193\000\000\000\201\000\194\000\250\000\194\000\209\000\252\000\201\000\000\000\202\000\000\000\000\000\209\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\201\000\000\000\000\001\000\000\209\000\193\000\000\000\000\000\000\000\000\000\194\000\000\000\000\000\000\000\000\001\002\000\000\000\000\000\000\000\203\000\000\000\000\000\202\000\186\000\000\000\000\000\000\000\000\000\187\000\202\000\000\000\000\000\195\000\000\000\000\000\000\000\186\000\000\000\186\000\000\000\000\000\187\000\202\000\187\000\193\000\195\000\000\000\195\000\000\000\194\000\000\000\000\000\203\000\000\000\000\000\202\000\000\000\000\000\193\000\203\000\000\000\202\000\000\000\194\000\186\000\209\000\201\000\000\000\000\000\187\000\000\000\000\000\203\000\195\000\202\000\193\001\004\000\193\000\000\000\201\000\194\000\201\000\194\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\193\000\000\000\000\000\209\000\000\000\194\000\000\000\000\000\186\000\203\000\209\000\000\000\201\000\187\001\006\000\193\000\000\000\195\000\000\000\000\000\194\001\b\000\186\000\209\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\193\001\n\000\193\000\209\000\000\000\194\000\186\000\194\000\186\000\209\000\000\000\187\000\202\000\187\001\012\000\195\000\000\000\195\000\201\000\000\001\014\000\000\000\209\000\000\000\000\000\202\000\186\000\202\000\000\000\000\000\000\000\187\000\201\001\232\000\000\000\195\000\000\000\000\000\000\000\000\000\000\000\186\000\203\000\000\000\000\000\000\000\187\000\000\000\000\000\201\000\195\000\201\000\000\000\202\000\000\000\203\000\000\000\203\000\000\000\186\000\193\000\186\000\193\000\000\000\187\000\194\000\187\000\194\000\195\000\201\000\195\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\203\000\201\000\000\000\000\000\194\000\209\000\000\000\000\000\000\000\202\000\000\000\000\000\193\000\000\000\000\000\000\001\238\000\194\000\209\000\201\000\209\000\201\000\000\000\202\000\000\000\000\000\000\000\000\000\000\001\240\000\193\001\242\000\000\000\000\000\000\000\194\000\186\000\000\000\186\000\203\000\202\000\187\000\202\000\187\000\193\000\195\000\209\000\195\000\000\000\194\000\000\000\000\000\000\000\203\000\000\000\000\000\000\001\244\000\186\000\000\000\202\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\203\000\186\000\203\000\000\000\000\000\202\000\187\000\000\000\000\000\201\000\195\000\201\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\186\000\203\000\000\000\000\000\202\000\187\000\202\001\246\000\193\000\195\000\209\000\000\000\201\000\194\000\186\000\000\000\203\000\000\000\000\000\187\000\000\001\248\000\000\000\195\000\000\000\201\000\000\000\209\000\000\000\209\000\000\000\000\000\000\000\000\000\203\000\000\000\203\000\000\001\250\000\193\001\252\000\193\000\000\000\201\000\194\000\000\000\194\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\193\000\201\001\254\000\000\000\194\000\194\000\209\000\000\000\202\000\000\000\202\000\186\000\000\000\000\000\000\000\000\000\187\002\000\000\000\000\000\000\195\000\000\000\000\000\000\000\209\000\000\000\209\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\002\002\000\000\002\004\000\203\000\000\000\203\000\000\000\186\000\202\000\186\000\000\000\000\000\187\000\000\000\187\000\193\000\195\000\193\000\195\000\201\000\194\000\000\000\194\000\186\000\186\000\203\000\202\000\000\000\187\000\187\000\193\000\000\000\195\000\195\000\000\000\194\000\000\000\000\000\203\000\000\000\202\000\000\000\193\000\000\000\000\000\000\000\000\000\194\000\000\000\209\000\201\000\209\000\201\000\000\000\000\000\000\000\203\000\000\000\000\000\000\002\006\000\000\003\141\000\000\000\000\000\000\000\201\000\201\000\000\000\000\000\203\000\209\000\000\000\000\000\186\000\193\000\186\000\000\000\000\000\187\000\194\000\187\003\143\000\195\000\209\000\195\000\000\000\000\000\000\000\186\000\000\000\000\000\000\000\202\000\187\003\145\000\000\000\000\000\195\000\000\000\000\000\186\000\209\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\000\000\000\000\003\147\000\000\000\000\000\209\000\201\000\000\000\201\000\193\000\000\000\000\000\203\000\202\000\194\000\202\003\149\000\193\000\000\000\193\000\000\000\201\000\194\000\186\000\194\000\000\000\000\000\000\000\187\000\202\000\202\000\000\000\195\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\203\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\194\000\000\000\000\000\209\000\203\000\203\000\000\000\000\000\000\000\000\000\000\000\201\000\000\000\186\003\151\000\193\000\000\000\000\000\187\000\000\000\194\000\186\000\195\000\186\000\000\000\202\000\187\000\202\000\187\000\000\000\195\000\000\000\195\000\000\000\209\000\000\000\209\000\000\000\000\000\000\000\202\000\000\000\000\000\193\000\000\003\153\000\000\003\155\000\194\000\000\000\209\000\209\000\202\000\000\000\186\000\203\000\201\000\203\000\000\000\187\000\000\003\157\003\159\000\195\000\201\000\000\000\201\000\193\000\000\000\000\000\203\000\000\000\194\000\000\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\000\000\203\000\195\000\193\000\202\000\000\000\193\000\000\000\194\000\193\000\000\000\194\000\000\000\000\000\194\000\000\000\201\000\000\000\000\000\000\000\209\000\186\000\209\000\000\000\000\000\000\000\187\000\000\000\000\000\000\000\195\003\161\000\000\003\163\000\203\000\209\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\186\003\165\000\209\000\193\000\202\000\187\000\000\000\000\000\194\000\195\000\000\000\000\000\202\003\167\000\202\000\000\000\000\000\186\000\000\000\201\000\186\000\000\000\187\000\186\000\000\000\187\000\195\000\000\000\187\000\195\000\000\000\000\000\195\000\000\000\203\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\203\000\201\000\203\000\202\0048\000\193\000\000\000\000\000\000\000\000\000\194\000\000\000\193\000\000\000\000\000\000\000\000\000\194\000\201\000\000\000\186\000\201\000\000\000\202\000\201\000\187\000\000\000\000\000\000\000\195\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\209\004>\000\000\000\202\000\000\000\203\000\000\000\000\000\000\004@\000\000\004B\000\000\000\000\000\000\000\201\000\186\000\000\000\000\000\000\000\000\000\187\000\000\000\186\000\000\000\195\000\000\000\202\000\187\000\000\000\000\000\209\000\195\000\203\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004D\000\000\000\202\000\000\000\000\000\202\000\000\000\000\000\202\000\209\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\201\000\000\000\000\004F\000\000\000\000\000\000\000\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\203\000\000\000\209\000\203\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\004H\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004J\000\000\000\000\000\000\000\000\000\203\000\209\000\000\000\000\000\209\000\000\000\000\000\209\000\000\000\000\000\000\000\000\004L\000\000\000\202\004N\000\000\000\000\004P\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\203\000\000\000\209\000\000\000\000\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\000\004R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\004T\000\000\000\000\000\000\000\000\000\000\000\000\004V"))
   
   let semantic_action =
     [|
@@ -1567,13 +1640,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 = 
-# 1943 "parser_cocci_menhir.mly"
-      ( Ast0.set_arg_exp _1 )
-# 1577 "parser_cocci_menhir.ml"
+# 2067 "parser_cocci_menhir.mly"
+          ( Ast0.set_arg_exp _1 )
+# 1650 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1592,14 +1665,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 69 "parser_cocci_menhir.mly"
+# 70 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 1598 "parser_cocci_menhir.ml"
+# 1671 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_aexpr = 
-# 1945 "parser_cocci_menhir.mly"
+# 2069 "parser_cocci_menhir.mly"
       ( let (nm,lenname,pure,clt) = _1 in
       let nm = P.clt2mcode nm clt in
       let lenname =
@@ -1608,7 +1681,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
        | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
        | Ast.CstLen n -> Ast0.CstListLen n in
       Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) )
-# 1612 "parser_cocci_menhir.ml"
+# 1685 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1630,9 +1703,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_aexpr = 
-# 1954 "parser_cocci_menhir.mly"
+# 2078 "parser_cocci_menhir.mly"
       ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
-# 1636 "parser_cocci_menhir.ml"
+# 1709 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1652,9 +1725,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 1998 "parser_cocci_menhir.mly"
+# 2114 "parser_cocci_menhir.mly"
             ( Ast.WhenAny )
-# 1658 "parser_cocci_menhir.ml"
+# 1731 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1674,9 +1747,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 1999 "parser_cocci_menhir.mly"
+# 2115 "parser_cocci_menhir.mly"
             ( Ast.WhenStrict )
-# 1680 "parser_cocci_menhir.ml"
+# 1753 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1696,9 +1769,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 2000 "parser_cocci_menhir.mly"
+# 2116 "parser_cocci_menhir.mly"
             ( Ast.WhenForall )
-# 1702 "parser_cocci_menhir.ml"
+# 1775 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1718,9 +1791,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 2001 "parser_cocci_menhir.mly"
+# 2117 "parser_cocci_menhir.mly"
             ( Ast.WhenExists )
-# 1724 "parser_cocci_menhir.ml"
+# 1797 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1742,9 +1815,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_ = 
-# 1303 "parser_cocci_menhir.mly"
+# 1349 "parser_cocci_menhir.mly"
                                             ( _1 )
-# 1748 "parser_cocci_menhir.ml"
+# 1821 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1772,19 +1845,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 : (
-# 102 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 1780 "parser_cocci_menhir.ml"
+# 1853 "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_ = 
-# 1305 "parser_cocci_menhir.mly"
+# 1351 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Mul _1 _2 _3 )
-# 1788 "parser_cocci_menhir.ml"
+# 1861 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1812,19 +1885,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 : (
-# 100 "parser_cocci_menhir.mly"
+# 101 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 1820 "parser_cocci_menhir.ml"
+# 1893 "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_ = 
-# 1307 "parser_cocci_menhir.mly"
+# 1353 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 1828 "parser_cocci_menhir.ml"
+# 1901 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1852,19 +1925,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 : (
-# 101 "parser_cocci_menhir.mly"
+# 102 "parser_cocci_menhir.mly"
        (Data.clt)
-# 1860 "parser_cocci_menhir.ml"
+# 1933 "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_ = 
-# 1309 "parser_cocci_menhir.mly"
+# 1355 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Plus _1 _2 _3 )
-# 1868 "parser_cocci_menhir.ml"
+# 1941 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1892,19 +1965,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 : (
-# 101 "parser_cocci_menhir.mly"
+# 102 "parser_cocci_menhir.mly"
        (Data.clt)
-# 1900 "parser_cocci_menhir.ml"
+# 1973 "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_ = 
-# 1311 "parser_cocci_menhir.mly"
+# 1357 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Minus _1 _2 _3 )
-# 1908 "parser_cocci_menhir.ml"
+# 1981 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1932,19 +2005,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"
+# 100 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 1940 "parser_cocci_menhir.ml"
+# 2013 "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_ = 
-# 1313 "parser_cocci_menhir.mly"
+# 1359 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 1948 "parser_cocci_menhir.ml"
+# 2021 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1972,19 +2045,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"
-       (Ast_cocci.logicalOp * Data.clt)
-# 1980 "parser_cocci_menhir.ml"
+# 100 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 2053 "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_ = 
-# 1315 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 1988 "parser_cocci_menhir.ml"
+# 1361 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 2061 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2012,19 +2085,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"
-       (Data.clt)
-# 2020 "parser_cocci_menhir.ml"
+# 99 "parser_cocci_menhir.mly"
+       (Ast_cocci.logicalOp * Data.clt)
+# 2093 "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_ = 
-# 1317 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.Eq _1 _2 _3 )
-# 2028 "parser_cocci_menhir.ml"
+# 1363 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 2101 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2052,19 +2125,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"
+# 98 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2060 "parser_cocci_menhir.ml"
+# 2133 "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_ = 
-# 1319 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 2068 "parser_cocci_menhir.ml"
+# 1365 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.Eq _1 _2 _3 )
+# 2141 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2092,19 +2165,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"
+# 98 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2100 "parser_cocci_menhir.ml"
+# 2173 "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_ = 
-# 1321 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.And _1 _2 _3 )
-# 2108 "parser_cocci_menhir.ml"
+# 1367 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 2181 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2132,19 +2205,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"
+# 97 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2140 "parser_cocci_menhir.ml"
+# 2213 "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_ = 
-# 1323 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Or _1 _2 _3 )
-# 2148 "parser_cocci_menhir.ml"
+# 1369 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.And _1 _2 _3 )
+# 2221 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2172,19 +2245,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 : (
 # 95 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2180 "parser_cocci_menhir.ml"
+# 2253 "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_ = 
-# 1325 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Xor _1 _2 _3 )
-# 2188 "parser_cocci_menhir.ml"
+# 1371 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Or _1 _2 _3 )
+# 2261 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2212,19 +2285,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"
+# 96 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2220 "parser_cocci_menhir.ml"
+# 2293 "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_ = 
-# 1327 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 2228 "parser_cocci_menhir.ml"
+# 1373 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Xor _1 _2 _3 )
+# 2301 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2252,43 +2325,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"
+# 94 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2260 "parser_cocci_menhir.ml"
+# 2333 "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_ = 
-# 1329 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 2268 "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_invalid_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1303 "parser_cocci_menhir.mly"
-                                            ( _1 )
-# 2292 "parser_cocci_menhir.ml"
+# 1375 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 2341 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2316,19 +2365,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 : (
-# 102 "parser_cocci_menhir.mly"
+# 93 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2324 "parser_cocci_menhir.ml"
+# 2373 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 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_invalid_ = 
-# 1305 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Mul _1 _2 _3 )
-# 2332 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_eexpr_dot_expressions_ = 
+# 1377 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 2381 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2340,35 +2389,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 = _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_invalid_ = Obj.magic _3 in
-        let _2 : (
-# 100 "parser_cocci_menhir.mly"
-       (Ast_cocci.arithOp * Data.clt)
-# 2364 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in
+        let _1 : 'tv_cast_expr_eexpr_invalid_ = 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_invalid_ = 
-# 1307 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2372 "parser_cocci_menhir.ml"
+# 1349 "parser_cocci_menhir.mly"
+                                            ( _1 )
+# 2405 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2396,19 +2429,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 : (
-# 101 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2404 "parser_cocci_menhir.ml"
+# 2437 "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_ = 
-# 1309 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Plus _1 _2 _3 )
-# 2412 "parser_cocci_menhir.ml"
+# 1351 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Mul _1 _2 _3 )
+# 2445 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2436,19 +2469,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 : (
 # 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 2444 "parser_cocci_menhir.ml"
+       (Ast_cocci.arithOp * Data.clt)
+# 2477 "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_ = 
-# 1311 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Minus _1 _2 _3 )
-# 2452 "parser_cocci_menhir.ml"
+# 1353 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 2485 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2476,19 +2509,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"
-       (Ast_cocci.arithOp * Data.clt)
-# 2484 "parser_cocci_menhir.ml"
+# 102 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 2517 "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_ = 
-# 1313 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2492 "parser_cocci_menhir.ml"
+# 1355 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Plus _1 _2 _3 )
+# 2525 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2516,19 +2549,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"
-       (Ast_cocci.logicalOp * Data.clt)
-# 2524 "parser_cocci_menhir.ml"
+# 102 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 2557 "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_ = 
-# 1315 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 2532 "parser_cocci_menhir.ml"
+# 1357 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Minus _1 _2 _3 )
+# 2565 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2556,19 +2589,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"
-       (Data.clt)
-# 2564 "parser_cocci_menhir.ml"
+# 100 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 2597 "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_ = 
-# 1317 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.Eq _1 _2 _3 )
-# 2572 "parser_cocci_menhir.ml"
+# 1359 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 2605 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2596,19 +2629,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"
-       (Data.clt)
-# 2604 "parser_cocci_menhir.ml"
+# 100 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 2637 "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_ = 
-# 1319 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 2612 "parser_cocci_menhir.ml"
+# 1361 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 2645 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2636,19 +2669,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"
-       (Data.clt)
-# 2644 "parser_cocci_menhir.ml"
+# 99 "parser_cocci_menhir.mly"
+       (Ast_cocci.logicalOp * Data.clt)
+# 2677 "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_ = 
-# 1321 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.And _1 _2 _3 )
-# 2652 "parser_cocci_menhir.ml"
+# 1363 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 2685 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2676,19 +2709,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"
+# 98 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2684 "parser_cocci_menhir.ml"
+# 2717 "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_ = 
-# 1323 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Or _1 _2 _3 )
-# 2692 "parser_cocci_menhir.ml"
+# 1365 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.Eq _1 _2 _3 )
+# 2725 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2716,19 +2749,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"
+# 98 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2724 "parser_cocci_menhir.ml"
+# 2757 "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_ = 
-# 1325 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Xor _1 _2 _3 )
-# 2732 "parser_cocci_menhir.ml"
+# 1367 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 2765 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2756,19 +2789,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"
+# 97 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2764 "parser_cocci_menhir.ml"
+# 2797 "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_ = 
-# 1327 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 2772 "parser_cocci_menhir.ml"
+# 1369 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.And _1 _2 _3 )
+# 2805 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2796,43 +2829,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"
+# 95 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2804 "parser_cocci_menhir.ml"
+# 2837 "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_ = 
-# 1329 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 2812 "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_ = 
-# 1303 "parser_cocci_menhir.mly"
-                                            ( _1 )
-# 2836 "parser_cocci_menhir.ml"
+# 1371 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Or _1 _2 _3 )
+# 2845 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2860,19 +2869,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 : (
-# 102 "parser_cocci_menhir.mly"
+# 96 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2868 "parser_cocci_menhir.ml"
+# 2877 "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_ = 
-# 1305 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Mul _1 _2 _3 )
-# 2876 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_eexpr_invalid_ = 
+# 1373 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Xor _1 _2 _3 )
+# 2885 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2900,19 +2909,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 : (
-# 100 "parser_cocci_menhir.mly"
-       (Ast_cocci.arithOp * Data.clt)
-# 2908 "parser_cocci_menhir.ml"
+# 94 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 2917 "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_ = 
-# 1307 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2916 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_eexpr_invalid_ = 
+# 1375 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 2925 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2940,19 +2949,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 : (
-# 101 "parser_cocci_menhir.mly"
+# 93 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2948 "parser_cocci_menhir.ml"
+# 2957 "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_ = 
-# 1309 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Plus _1 _2 _3 )
-# 2956 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_eexpr_invalid_ = 
+# 1377 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 2965 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2964,35 +2973,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 = _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 : (
-# 101 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 2988 "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_ = 
-# 1311 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Minus _1 _2 _3 )
-# 2996 "parser_cocci_menhir.ml"
+# 1349 "parser_cocci_menhir.mly"
+                                            ( _1 )
+# 2989 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3020,19 +3013,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"
-       (Ast_cocci.arithOp * Data.clt)
-# 3028 "parser_cocci_menhir.ml"
+# 103 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 3021 "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_ = 
-# 1313 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3036 "parser_cocci_menhir.ml"
+# 1351 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Mul _1 _2 _3 )
+# 3029 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3060,19 +3053,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"
-       (Ast_cocci.logicalOp * Data.clt)
-# 3068 "parser_cocci_menhir.ml"
+# 101 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3061 "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_ = 
-# 1315 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 3076 "parser_cocci_menhir.ml"
+# 1353 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3069 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3100,19 +3093,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 : (
-# 97 "parser_cocci_menhir.mly"
+# 102 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3108 "parser_cocci_menhir.ml"
+# 3101 "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_ = 
-# 1317 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.Eq _1 _2 _3 )
-# 3116 "parser_cocci_menhir.ml"
+# 1355 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Plus _1 _2 _3 )
+# 3109 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3140,19 +3133,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 : (
-# 97 "parser_cocci_menhir.mly"
+# 102 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3148 "parser_cocci_menhir.ml"
+# 3141 "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_ = 
-# 1319 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 3156 "parser_cocci_menhir.ml"
+# 1357 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Minus _1 _2 _3 )
+# 3149 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3180,19 +3173,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"
-       (Data.clt)
-# 3188 "parser_cocci_menhir.ml"
+# 100 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3181 "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_ = 
-# 1321 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.And _1 _2 _3 )
-# 3196 "parser_cocci_menhir.ml"
+# 1359 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3189 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3220,19 +3213,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)
-# 3228 "parser_cocci_menhir.ml"
+# 100 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3221 "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_ = 
-# 1323 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Or _1 _2 _3 )
-# 3236 "parser_cocci_menhir.ml"
+# 1361 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3229 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3260,19 +3253,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"
-       (Data.clt)
-# 3268 "parser_cocci_menhir.ml"
+# 99 "parser_cocci_menhir.mly"
+       (Ast_cocci.logicalOp * Data.clt)
+# 3261 "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_ = 
-# 1325 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Xor _1 _2 _3 )
-# 3276 "parser_cocci_menhir.ml"
+# 1363 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 3269 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3300,19 +3293,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"
+# 98 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3308 "parser_cocci_menhir.ml"
+# 3301 "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_ = 
-# 1327 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 3316 "parser_cocci_menhir.ml"
+# 1365 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.Eq _1 _2 _3 )
+# 3309 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3340,43 +3333,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"
+# 98 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3348 "parser_cocci_menhir.ml"
+# 3341 "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_ = 
-# 1329 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 3356 "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_ = 
-# 1303 "parser_cocci_menhir.mly"
-                                            ( _1 )
-# 3380 "parser_cocci_menhir.ml"
+# 1367 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 3349 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3404,19 +3373,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 : (
-# 102 "parser_cocci_menhir.mly"
+# 97 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3412 "parser_cocci_menhir.ml"
+# 3381 "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_ = 
-# 1305 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Mul _1 _2 _3 )
-# 3420 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
+# 1369 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.And _1 _2 _3 )
+# 3389 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3444,19 +3413,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 : (
-# 100 "parser_cocci_menhir.mly"
-       (Ast_cocci.arithOp * Data.clt)
-# 3452 "parser_cocci_menhir.ml"
+# 95 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 3421 "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_ = 
-# 1307 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3460 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
+# 1371 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Or _1 _2 _3 )
+# 3429 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3484,19 +3453,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 : (
-# 101 "parser_cocci_menhir.mly"
+# 96 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3492 "parser_cocci_menhir.ml"
+# 3461 "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_ = 
-# 1309 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Plus _1 _2 _3 )
-# 3500 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
+# 1373 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Xor _1 _2 _3 )
+# 3469 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3524,19 +3493,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 : (
-# 101 "parser_cocci_menhir.mly"
+# 94 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3532 "parser_cocci_menhir.ml"
+# 3501 "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_ = 
-# 1311 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Minus _1 _2 _3 )
-# 3540 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
+# 1375 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 3509 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3564,19 +3533,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"
-       (Ast_cocci.arithOp * Data.clt)
-# 3572 "parser_cocci_menhir.ml"
+# 93 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 3541 "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_ = 
-# 1313 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3580 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
+# 1377 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 3549 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3588,35 +3557,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 = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_expr_invalid_ = Obj.magic _3 in
-        let _2 : (
-# 98 "parser_cocci_menhir.mly"
-       (Ast_cocci.logicalOp * Data.clt)
-# 3612 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in
+        let _1 : 'tv_cast_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
+        let _endpos = _endpos__1_ in
         let _v : 'tv_arith_expr_expr_invalid_ = 
-# 1315 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 3620 "parser_cocci_menhir.ml"
+# 1349 "parser_cocci_menhir.mly"
+                                            ( _1 )
+# 3573 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3644,19 +3597,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"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3652 "parser_cocci_menhir.ml"
+# 3605 "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_ = 
-# 1317 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.Eq _1 _2 _3 )
-# 3660 "parser_cocci_menhir.ml"
+# 1351 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Mul _1 _2 _3 )
+# 3613 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3684,19 +3637,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"
-       (Data.clt)
-# 3692 "parser_cocci_menhir.ml"
+# 101 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3645 "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_ = 
-# 1319 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 3700 "parser_cocci_menhir.ml"
+# 1353 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3653 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3724,19 +3677,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"
+# 102 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3732 "parser_cocci_menhir.ml"
+# 3685 "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_ = 
-# 1321 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.And _1 _2 _3 )
-# 3740 "parser_cocci_menhir.ml"
+# 1355 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Plus _1 _2 _3 )
+# 3693 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3764,19 +3717,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"
+# 102 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3772 "parser_cocci_menhir.ml"
+# 3725 "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_ = 
-# 1323 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Or _1 _2 _3 )
-# 3780 "parser_cocci_menhir.ml"
+# 1357 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Minus _1 _2 _3 )
+# 3733 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3804,19 +3757,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"
-       (Data.clt)
-# 3812 "parser_cocci_menhir.ml"
+# 100 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3765 "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_ = 
-# 1325 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Xor _1 _2 _3 )
-# 3820 "parser_cocci_menhir.ml"
+# 1359 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3773 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3844,19 +3797,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)
-# 3852 "parser_cocci_menhir.ml"
+# 100 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3805 "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_ = 
-# 1327 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 3860 "parser_cocci_menhir.ml"
+# 1361 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3813 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3884,19 +3837,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)
-# 3892 "parser_cocci_menhir.ml"
+# 99 "parser_cocci_menhir.mly"
+       (Ast_cocci.logicalOp * Data.clt)
+# 3845 "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_ = 
-# 1329 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 3900 "parser_cocci_menhir.ml"
+# 1363 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 3853 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3908,17 +3861,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.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_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 98 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 3885 "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_arity = 
-# 505 "parser_cocci_menhir.mly"
-              ( Ast.UNIQUE )
-# 3922 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1365 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.Eq _1 _2 _3 )
+# 3893 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3930,17 +3901,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.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_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 98 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 3925 "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_arity = 
-# 506 "parser_cocci_menhir.mly"
-              ( Ast.OPT )
-# 3944 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1367 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 3933 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3952,34 +3941,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.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_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 97 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 3965 "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_arity = 
-# 507 "parser_cocci_menhir.mly"
-              ( Ast.MULTI )
-# 3966 "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 = 
-# 508 "parser_cocci_menhir.mly"
-                   ( Ast.NONE )
-# 3983 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1369 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.And _1 _2 _3 )
+# 3973 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3991,39 +3981,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 : (
-# 105 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4014 "parser_cocci_menhir.ml"
-        ) = Obj.magic r in
-        let i : 'tv_option_eexpr_ = Obj.magic i in
-        let l : (
-# 105 "parser_cocci_menhir.mly"
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 95 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4020 "parser_cocci_menhir.ml"
-        ) = Obj.magic l in
-        let _startpos = _startpos_l_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_array_dec = 
-# 1106 "parser_cocci_menhir.mly"
-                                           ( (l,i,r) )
-# 4027 "parser_cocci_menhir.ml"
+# 4005 "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_ = 
+# 1371 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Or _1 _2 _3 )
+# 4013 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4035,19 +4021,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 : (
+# 96 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4045 "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_ = 
-# 1275 "parser_cocci_menhir.mly"
-                                           ( _1 )
-# 4051 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1373 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Xor _1 _2 _3 )
+# 4053 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4075,20 +4077,18 @@ 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 : (
-# 111 "parser_cocci_menhir.mly"
-       (Ast_cocci.assignOp * Data.clt)
-# 4083 "parser_cocci_menhir.ml"
+# 94 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4085 "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_ = 
-# 1277 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1375 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.AndLog _1 _2 _3 )
 # 4093 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
@@ -4117,21 +4117,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 : (
-# 110 "parser_cocci_menhir.mly"
+# 93 "parser_cocci_menhir.mly"
        (Data.clt)
 # 4125 "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_ = 
-# 1281 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4135 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1377 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 4133 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4149,13 +4147,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_eexpr_nest_expressions_ = 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_eexpr_nest_expressions_ = 
-# 1275 "parser_cocci_menhir.mly"
-                                           ( _1 )
-# 4159 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1382 "parser_cocci_menhir.mly"
+                                                             ( _1 )
+# 4157 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4183,21 +4181,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 : (
-# 111 "parser_cocci_menhir.mly"
-       (Ast_cocci.assignOp * Data.clt)
-# 4191 "parser_cocci_menhir.ml"
+# 103 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4189 "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_bis = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
-# 1277 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
-# 4201 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1384 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Mul _1 _2 _3 )
+# 4197 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4225,21 +4221,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 : (
-# 110 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4233 "parser_cocci_menhir.ml"
+# 101 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 4229 "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_bis = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
-# 1281 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4243 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1386 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4237 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4251,19 +4245,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_expr_invalid_ = Obj.magic _1 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 102 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4269 "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_expr_invalid_ = 
-# 1275 "parser_cocci_menhir.mly"
-                                           ( _1 )
-# 4267 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1388 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Plus _1 _2 _3 )
+# 4277 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4291,21 +4301,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 : (
-# 111 "parser_cocci_menhir.mly"
-       (Ast_cocci.assignOp * Data.clt)
-# 4299 "parser_cocci_menhir.ml"
+# 102 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4309 "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_ = 
-# 1277 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
-# 4309 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1390 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Minus _1 _2 _3 )
+# 4317 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4333,21 +4341,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 : (
-# 110 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4341 "parser_cocci_menhir.ml"
+# 100 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 4349 "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_ = 
-# 1281 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4351 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1392 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4357 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4359,19 +4365,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 : (
+# 100 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 4389 "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 = 
-# 1286 "parser_cocci_menhir.mly"
-                                                            ( _1 )
-# 4375 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1394 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4397 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4399,21 +4421,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 : (
-# 111 "parser_cocci_menhir.mly"
-       (Ast_cocci.assignOp * Data.clt)
-# 4407 "parser_cocci_menhir.ml"
+# 99 "parser_cocci_menhir.mly"
+       (Ast_cocci.logicalOp * Data.clt)
+# 4429 "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 = 
-# 1288 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
-# 4417 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1396 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 4437 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4441,21 +4461,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 : (
-# 110 "parser_cocci_menhir.mly"
+# 98 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4449 "parser_cocci_menhir.ml"
+# 4469 "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 = 
-# 1292 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4459 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1398 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.Eq _1 _2 _3 )
+# 4477 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4467,19 +4485,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 : (
+# 98 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4509 "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_ = 
-# 1272 "parser_cocci_menhir.mly"
-                                                             ( _1 )
-# 4483 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1400 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 4517 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4491,19 +4525,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 : (
+# 97 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4549 "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_ = 
-# 1272 "parser_cocci_menhir.mly"
-                                                             ( _1 )
-# 4507 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1402 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.And _1 _2 _3 )
+# 4557 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4515,19 +4565,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 : (
+# 95 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4589 "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_ = 
-# 1272 "parser_cocci_menhir.mly"
-                                                             ( _1 )
-# 4531 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1404 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Or _1 _2 _3 )
+# 4597 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4555,24 +4621,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 : (
-# 79 "parser_cocci_menhir.mly"
+# 96 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4563 "parser_cocci_menhir.ml"
+# 4629 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : (
-# 59 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4568 "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 = 
-# 970 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
-# 4576 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1406 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Xor _1 _2 _3 )
+# 4637 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4584,45 +4645,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 : (
-# 79 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4613 "parser_cocci_menhir.ml"
-        ) = Obj.magic _3 in
-        let _2 : 'tv_eexpr = Obj.magic _2 in
-        let _1 : (
-# 59 "parser_cocci_menhir.mly"
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 94 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4619 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+# 4669 "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 = 
-# 973 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
-# 4626 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1408 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 4677 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4635,18 +4686,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_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_cast_expr_eexpr_dot_expressions_ = 
-# 1332 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4650 "parser_cocci_menhir.ml"
+        let _v : 'tv_arity = 
+# 526 "parser_cocci_menhir.mly"
+              ( Ast.UNIQUE )
+# 4699 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4658,46 +4707,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_dot_expressions_ = Obj.magic e in
-        let rp : (
-# 80 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4687 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_ctype = Obj.magic t in
-        let lp : (
-# 79 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4693 "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_ = 
-# 1334 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4701 "parser_cocci_menhir.ml"
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_arity = 
+# 527 "parser_cocci_menhir.mly"
+              ( Ast.OPT )
+# 4721 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4710,18 +4730,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_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_cast_expr_eexpr_invalid_ = 
-# 1332 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4725 "parser_cocci_menhir.ml"
+        let _v : 'tv_arity = 
+# 528 "parser_cocci_menhir.mly"
+              ( Ast.MULTI )
+# 4743 "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 = 
+# 529 "parser_cocci_menhir.mly"
+                   ( Ast.NONE )
+# 4760 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4733,46 +4768,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_invalid_ = Obj.magic e in
-        let rp : (
-# 80 "parser_cocci_menhir.mly"
+        let r : (
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4762 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_ctype = Obj.magic t in
-        let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 4791 "parser_cocci_menhir.ml"
+        ) = Obj.magic r in
+        let i : 'tv_option_eexpr_ = Obj.magic i in
+        let l : (
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4768 "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_ = 
-# 1334 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4776 "parser_cocci_menhir.ml"
+# 4797 "parser_cocci_menhir.ml"
+        ) = Obj.magic l in
+        let _startpos = _startpos_l_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_array_dec = 
+# 1174 "parser_cocci_menhir.mly"
+                                           ( (l,i,r) )
+# 4804 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4790,13 +4818,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_eexpr_nest_expressions_ = 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_eexpr_nest_expressions_ = 
-# 1332 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4800 "parser_cocci_menhir.ml"
+        let _v : 'tv_assign_expr_eexpr_dot_expressions_ = 
+# 1321 "parser_cocci_menhir.mly"
+                                           ( _1 )
+# 4828 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4808,46 +4836,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_eexpr_nest_expressions_ = Obj.magic e in
-        let rp : (
-# 80 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4837 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_ctype = Obj.magic t in
-        let lp : (
-# 79 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4843 "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_ = 
-# 1334 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4851 "parser_cocci_menhir.ml"
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 112 "parser_cocci_menhir.mly"
+       (Ast_cocci.assignOp * Data.clt)
+# 4860 "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_ = 
+# 1323 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 4870 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4859,19 +4878,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_unary_expr_expr_invalid_ = Obj.magic _1 in
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4902 "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_cast_expr_expr_invalid_ = 
-# 1332 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4875 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_eexpr_dot_expressions_ = 
+# 1327 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 4912 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4883,46 +4920,19 @@ 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.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 : (
-# 80 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4912 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_ctype = Obj.magic t in
-        let lp : (
-# 79 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4918 "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_ = 
-# 1334 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4926 "parser_cocci_menhir.ml"
+        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_ = 
+# 1321 "parser_cocci_menhir.mly"
+                                           ( _1 )
+# 4936 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4934,23 +4944,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_separated_nonempty_list_TComma_TString_ = Obj.magic _2 in
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 112 "parser_cocci_menhir.mly"
+       (Ast_cocci.assignOp * Data.clt)
+# 4968 "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_choose_iso = 
-# 242 "parser_cocci_menhir.mly"
-                                                 ( List.map P.id2name _2 )
-# 4954 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
+# 1323 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 4978 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4962,35 +4986,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 : (
-# 76 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4980 "parser_cocci_menhir.ml"
+# 5010 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : (
-# 110 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4985 "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_decl_ = 
-# 1738 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
-       dot_builder _2] )
-# 4994 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
+# 1327 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5020 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5002,30 +5028,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 : (
-# 110 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 5021 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _1 : 'tv_cond_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_comma_decls_TEllipsis_decl_ = 
-# 1742 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
-# 5029 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_assign_expr_expr_invalid_ = 
+# 1321 "parser_cocci_menhir.mly"
+                                           ( _1 )
+# 5044 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5037,35 +5052,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 : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 5055 "parser_cocci_menhir.ml"
+# 112 "parser_cocci_menhir.mly"
+       (Ast_cocci.assignOp * Data.clt)
+# 5076 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : (
-# 110 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 5060 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ = 
-# 1738 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
-       dot_builder _2] )
-# 5069 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_expr_invalid_ = 
+# 1323 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 5086 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5077,30 +5094,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 : (
-# 110 "parser_cocci_menhir.mly"
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5096 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+# 5118 "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__2_ in
-        let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ = 
-# 1742 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
-# 5104 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_expr_invalid_ = 
+# 1327 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5128 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5111,13 +5135,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__ = 
-# 1161 "parser_cocci_menhir.mly"
-              ( [] )
-# 5121 "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_cond_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_assign_expr_bis = 
+# 1332 "parser_cocci_menhir.mly"
+                                                            ( _1 )
+# 5152 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5129,25 +5160,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.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 = _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 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__ = 
-# 1163 "parser_cocci_menhir.mly"
-      ( (function dot_builder -> [dot_builder d])::r )
-# 5151 "parser_cocci_menhir.ml"
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 112 "parser_cocci_menhir.mly"
+       (Ast_cocci.assignOp * Data.clt)
+# 5184 "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_bis = 
+# 1334 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 5194 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5159,23 +5202,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.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 r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5226 "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_r_ in
-        let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = 
-# 1164 "parser_cocci_menhir.mly"
-                                        ( r )
-# 5179 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_bis = 
+# 1338 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5236 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5187,36 +5244,112 @@ 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.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 _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_basic_expr_eexpr_dot_expressions_ = 
+# 1318 "parser_cocci_menhir.mly"
+                                                             ( _1 )
+# 5260 "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_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_basic_expr_eexpr_nest_expressions_ = 
+# 1318 "parser_cocci_menhir.mly"
+                                                             ( _1 )
+# 5284 "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_assign_expr_expr_invalid_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_basic_expr_expr_invalid_ = 
+# 1318 "parser_cocci_menhir.mly"
+                                                             ( _1 )
+# 5308 "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 = 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 : (
-# 110 "parser_cocci_menhir.mly"
+        let _3 : 'tv_fun_start = Obj.magic _3 in
+        let _2 : (
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5211 "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__ = 
-# 1166 "parser_cocci_menhir.mly"
-    ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
-      r )
-# 5220 "parser_cocci_menhir.ml"
+# 5340 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : (
+# 60 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5345 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_case_line = 
+# 1036 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
+# 5353 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5227,13 +5360,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_comma_initializers2_edots_when_TEllipsis_initialize__ = 
-# 1170 "parser_cocci_menhir.mly"
-              ( [] )
-# 5237 "parser_cocci_menhir.ml"
+        let {
+          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 _4 : 'tv_fun_start = Obj.magic _4 in
+        let _3 : (
+# 80 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5390 "parser_cocci_menhir.ml"
+        ) = Obj.magic _3 in
+        let _2 : 'tv_eexpr = Obj.magic _2 in
+        let _1 : (
+# 60 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5396 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__4_ in
+        let _v : 'tv_case_line = 
+# 1039 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
+# 5403 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5245,23 +5411,94 @@ 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.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 _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_cast_expr_eexpr_dot_expressions_ = 
+# 1413 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5427 "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.state = _menhir_s;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            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 r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
+        let e : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic e in
+        let rp : (
+# 81 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5464 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 80 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5470 "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_ = 
+# 1415 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5478 "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_eexpr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = 
-# 1171 "parser_cocci_menhir.mly"
-                                        ( r )
-# 5265 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_cast_expr_eexpr_invalid_ = 
+# 1413 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5502 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5273,36 +5510,224 @@ 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 = e;
+          MenhirLib.EngineTypes.startp = _startpos_e_;
+          MenhirLib.EngineTypes.endp = _endpos_e_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = c;
-            MenhirLib.EngineTypes.startp = _startpos_c_;
-            MenhirLib.EngineTypes.endp = _endpos_c_;
+            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 = i;
-              MenhirLib.EngineTypes.startp = _startpos_i_;
-              MenhirLib.EngineTypes.endp = _endpos_i_;
-              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.semv = lp;
+                MenhirLib.EngineTypes.startp = _startpos_lp_;
+                MenhirLib.EngineTypes.endp = _endpos_lp_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
               };
             };
           } = _menhir_stack in
-        let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
-        let c : (
-# 110 "parser_cocci_menhir.mly"
+        let e : 'tv_cast_expr_eexpr_invalid_ = Obj.magic e in
+        let rp : (
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5297 "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__ = 
-# 1173 "parser_cocci_menhir.mly"
-    ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
-      r )
-# 5306 "parser_cocci_menhir.ml"
+# 5539 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 80 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5545 "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_ = 
+# 1415 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5553 "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_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_ = 
+# 1413 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5577 "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_eexpr_nest_expressions_ = Obj.magic e in
+        let rp : (
+# 81 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5614 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 80 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5620 "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_ = 
+# 1415 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5628 "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_ = 
+# 1413 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5652 "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 : (
+# 81 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5689 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 80 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5695 "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_ = 
+# 1415 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5703 "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 = 
+# 243 "parser_cocci_menhir.mly"
+                                                 ( List.map P.id2name _2 )
+# 5731 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5324,9 +5749,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_comma_list_any_strict_ = 
-# 1976 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5330 "parser_cocci_menhir.ml"
+# 5755 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5348,9 +5773,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_comma_list_ctype_ = 
-# 1976 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5354 "parser_cocci_menhir.ml"
+# 5779 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5372,9 +5797,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_comma_list_d_ident_ = 
-# 1976 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5378 "parser_cocci_menhir.ml"
+# 5803 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5396,9 +5821,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_comma_list_ident_or_const_ = 
-# 1976 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5402 "parser_cocci_menhir.ml"
+# 5827 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5420,9 +5845,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_comma_list_meta_ident_ = 
-# 1976 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5426 "parser_cocci_menhir.ml"
+# 5851 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5444,9 +5869,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_comma_list_pure_ident_ = 
-# 1976 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5450 "parser_cocci_menhir.ml"
+# 5875 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5468,9 +5893,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_comma_list_pure_ident_or_meta_ident_ = 
-# 1976 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5474 "parser_cocci_menhir.ml"
+# 5899 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5492,9 +5917,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         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__ = 
-# 1976 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5498 "parser_cocci_menhir.ml"
+# 5923 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5516,9 +5941,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         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__ = 
-# 1976 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5522 "parser_cocci_menhir.ml"
+# 5947 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5540,9 +5965,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         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__ = 
-# 1976 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5546 "parser_cocci_menhir.ml"
+# 5971 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5564,9 +5989,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         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__ = 
-# 1976 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5570 "parser_cocci_menhir.ml"
+# 5995 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5588,9 +6013,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = 
-# 1976 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5594 "parser_cocci_menhir.ml"
+# 6019 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5612,9 +6037,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         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__ = 
-# 1976 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5618 "parser_cocci_menhir.ml"
+# 6043 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5636,9 +6061,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_comma_list_typedef_ident_ = 
-# 1976 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5642 "parser_cocci_menhir.ml"
+# 6067 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5660,9 +6085,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_ = 
-# 1297 "parser_cocci_menhir.mly"
+# 1343 "parser_cocci_menhir.mly"
                                              ( _1 )
-# 5666 "parser_cocci_menhir.ml"
+# 6091 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5700,26 +6125,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 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5708 "parser_cocci_menhir.ml"
+# 6133 "parser_cocci_menhir.ml"
         ) = Obj.magic dd in
         let t : 'tv_option_eexpr_ = Obj.magic t in
         let w : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5714 "parser_cocci_menhir.ml"
+# 6139 "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_ = 
-# 1299 "parser_cocci_menhir.mly"
+# 1345 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
                                 P.clt2mcode ":" dd, r)) )
-# 5723 "parser_cocci_menhir.ml"
+# 6148 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5741,9 +6166,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_ = 
-# 1297 "parser_cocci_menhir.mly"
+# 1343 "parser_cocci_menhir.mly"
                                              ( _1 )
-# 5747 "parser_cocci_menhir.ml"
+# 6172 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5781,26 +6206,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 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5789 "parser_cocci_menhir.ml"
+# 6214 "parser_cocci_menhir.ml"
         ) = Obj.magic dd in
         let t : 'tv_option_eexpr_ = Obj.magic t in
         let w : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5795 "parser_cocci_menhir.ml"
+# 6220 "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_ = 
-# 1299 "parser_cocci_menhir.mly"
+# 1345 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
                                 P.clt2mcode ":" dd, r)) )
-# 5804 "parser_cocci_menhir.ml"
+# 6229 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5822,9 +6247,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_cond_expr_expr_invalid_ = 
-# 1297 "parser_cocci_menhir.mly"
+# 1343 "parser_cocci_menhir.mly"
                                              ( _1 )
-# 5828 "parser_cocci_menhir.ml"
+# 6253 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5862,26 +6287,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 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5870 "parser_cocci_menhir.ml"
+# 6295 "parser_cocci_menhir.ml"
         ) = Obj.magic dd in
         let t : 'tv_option_eexpr_ = Obj.magic t in
         let w : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5876 "parser_cocci_menhir.ml"
+# 6301 "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_ = 
-# 1299 "parser_cocci_menhir.mly"
+# 1345 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
                                 P.clt2mcode ":" dd, r)) )
-# 5885 "parser_cocci_menhir.ml"
+# 6310 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5900,16 +6325,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 56 "parser_cocci_menhir.mly"
+# 57 "parser_cocci_menhir.mly"
       (Data.clt)
-# 5906 "parser_cocci_menhir.ml"
+# 6331 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_const_vol = 
-# 879 "parser_cocci_menhir.mly"
+# 945 "parser_cocci_menhir.mly"
                    ( P.clt2mcode Ast.Const _1 )
-# 5913 "parser_cocci_menhir.ml"
+# 6338 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5928,16 +6353,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 56 "parser_cocci_menhir.mly"
+# 57 "parser_cocci_menhir.mly"
       (Data.clt)
-# 5934 "parser_cocci_menhir.ml"
+# 6359 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_const_vol = 
-# 880 "parser_cocci_menhir.mly"
+# 946 "parser_cocci_menhir.mly"
                    ( P.clt2mcode Ast.Volatile _1 )
-# 5941 "parser_cocci_menhir.ml"
+# 6366 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5948,13 +6373,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 = 
-# 629 "parser_cocci_menhir.mly"
-                                     ( [] )
-# 5958 "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_ = 
+# 1868 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6390 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5977,14 +6409,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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6416 "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 = 
-# 630 "parser_cocci_menhir.mly"
-                                     ( _1@_2 )
-# 5988 "parser_cocci_menhir.ml"
+        let _v : 'tv_continue_list_aexpr_TEllipsis_ = 
+# 1870 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6425 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5996,19 +6433,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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6457 "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 = 
-# 631 "parser_cocci_menhir.mly"
-                                     ( _1 )
-# 6012 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_continue_list_aexpr_TEllipsis_ = 
+# 1873 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6467 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6020,63 +6475,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 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6044 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6049 "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
-            
-# 515 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 6061 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6067 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6074 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 575 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6080 "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_ = 
+# 1876 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6495 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6088,63 +6503,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 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6112 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6117 "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
-            
-# 517 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 6129 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6135 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6142 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 575 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6148 "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_ = 
+# 1868 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6519 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6156,63 +6527,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 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6180 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6185 "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
-            
-# 519 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 6197 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6203 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6210 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 575 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6216 "parser_cocci_menhir.ml"
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6545 "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_ = 
+# 1870 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6554 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6224,64 +6562,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 : (
-# 67 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 6248 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6253 "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
-            
-# 521 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 6266 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6272 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6279 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 575 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6285 "parser_cocci_menhir.ml"
+        let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6586 "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_ = 
+# 1873 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6596 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6293,84 +6604,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 : (
-# 61 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 6326 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r00 : (
-# 49 "parser_cocci_menhir.mly"
-      (string)
-# 6331 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let r1 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6336 "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
-            
-# 524 "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*))) )
-# 6355 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6361 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6368 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 575 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6374 "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_ = 
+# 1876 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6624 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6382,63 +6632,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 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6406 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6411 "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
-            
-# 531 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 6423 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6429 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6436 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 575 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6442 "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__ = 
+# 1868 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6648 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6450,78 +6656,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 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6479 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6484 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6489 "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
-            
-# 533 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 6506 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6512 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6519 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 575 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6525 "parser_cocci_menhir.ml"
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6674 "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__ = 
+# 1870 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6683 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6533,63 +6691,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 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6557 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6562 "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
-            
-# 515 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 6574 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6580 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6587 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 575 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6593 "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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6715 "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__ = 
+# 1873 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6725 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6601,32 +6733,586 @@ 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 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6625 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
+        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__ = 
+# 1876 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6753 "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__ = 
+# 1868 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6777 "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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6803 "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__ = 
+# 1870 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6812 "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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6844 "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__ = 
+# 1873 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6854 "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__ = 
+# 1876 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6882 "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_ = 
+# 1868 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6906 "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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6932 "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_ = 
+# 1870 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6941 "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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6973 "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_ = 
+# 1873 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6983 "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_ = 
+# 1876 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 7011 "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_ = 
+# 1868 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 7035 "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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 7061 "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_ = 
+# 1870 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 7070 "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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 7102 "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_ = 
+# 1873 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 7112 "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_ = 
+# 1876 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 7140 "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 = 
+# 665 "parser_cocci_menhir.mly"
+                                     ( [] )
+# 7157 "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 = 
+# 666 "parser_cocci_menhir.mly"
+                                     ( _1@_2 )
+# 7187 "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 = 
+# 667 "parser_cocci_menhir.mly"
+                                     ( _1 )
+# 7211 "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 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7243 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7248 "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
+            
+# 536 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 7260 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7266 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 7273 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 7279 "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 : (
+# 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6630 "parser_cocci_menhir.ml"
+# 7311 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7316 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -6636,28 +7322,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 517 "parser_cocci_menhir.mly"
+# 538 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 6642 "parser_cocci_menhir.ml"
+# 7328 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6648 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7334 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6655 "parser_cocci_menhir.ml"
+# 7341 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6661 "parser_cocci_menhir.ml"
+# 7347 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6689,12 +7375,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6693 "parser_cocci_menhir.ml"
+# 7379 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6698 "parser_cocci_menhir.ml"
+# 7384 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -6704,28 +7390,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 519 "parser_cocci_menhir.mly"
+# 540 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 6710 "parser_cocci_menhir.ml"
+# 7396 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6716 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7402 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6723 "parser_cocci_menhir.ml"
+# 7409 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6729 "parser_cocci_menhir.ml"
+# 7415 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6755,14 +7441,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 6761 "parser_cocci_menhir.ml"
+# 7447 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6766 "parser_cocci_menhir.ml"
+# 7452 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -6772,29 +7458,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 521 "parser_cocci_menhir.mly"
+# 542 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 6779 "parser_cocci_menhir.ml"
+# 7465 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6785 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7471 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6792 "parser_cocci_menhir.ml"
+# 7478 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6798 "parser_cocci_menhir.ml"
+# 7484 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6833,19 +7519,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 61 "parser_cocci_menhir.mly"
+# 62 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 6839 "parser_cocci_menhir.ml"
+# 7525 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 6844 "parser_cocci_menhir.ml"
+# 7530 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let r1 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6849 "parser_cocci_menhir.ml"
+# 7535 "parser_cocci_menhir.ml"
         ) = Obj.magic r1 in
         let _startpos = _startpos_r1_ in
         let _endpos = _endpos_m_ in
@@ -6857,33 +7543,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 524 "parser_cocci_menhir.mly"
+# 545 "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*))) )
-# 6868 "parser_cocci_menhir.ml"
+# 7554 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6874 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7560 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6881 "parser_cocci_menhir.ml"
+# 7567 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6887 "parser_cocci_menhir.ml"
+# 7573 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6915,12 +7601,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6919 "parser_cocci_menhir.ml"
+# 7605 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6924 "parser_cocci_menhir.ml"
+# 7610 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -6930,28 +7616,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 531 "parser_cocci_menhir.mly"
+# 552 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 6936 "parser_cocci_menhir.ml"
+# 7622 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6942 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7628 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6949 "parser_cocci_menhir.ml"
+# 7635 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6955 "parser_cocci_menhir.ml"
+# 7641 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6988,17 +7674,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty200 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6992 "parser_cocci_menhir.ml"
+# 7678 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6997 "parser_cocci_menhir.ml"
+# 7683 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7002 "parser_cocci_menhir.ml"
+# 7688 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -7010,31 +7696,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 533 "parser_cocci_menhir.mly"
+# 554 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 7019 "parser_cocci_menhir.ml"
+# 7705 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 7025 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7711 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7032 "parser_cocci_menhir.ml"
+# 7718 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7038 "parser_cocci_menhir.ml"
+# 7724 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7050,48 +7736,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 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7065 "parser_cocci_menhir.ml"
+# 7756 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7761 "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
             
-# 515 "parser_cocci_menhir.mly"
+# 536 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 7076 "parser_cocci_menhir.ml"
+# 7773 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7082 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 7779 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7089 "parser_cocci_menhir.ml"
+# 7786 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7095 "parser_cocci_menhir.ml"
+# 7792 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7107,48 +7804,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 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7122 "parser_cocci_menhir.ml"
+# 7824 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7829 "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
             
-# 517 "parser_cocci_menhir.mly"
+# 538 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 7133 "parser_cocci_menhir.ml"
+# 7841 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7139 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 7847 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7146 "parser_cocci_menhir.ml"
+# 7854 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7152 "parser_cocci_menhir.ml"
+# 7860 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7164,48 +7872,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 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7179 "parser_cocci_menhir.ml"
+# 7892 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7897 "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
             
-# 519 "parser_cocci_menhir.mly"
+# 540 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 7190 "parser_cocci_menhir.ml"
+# 7909 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7196 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 7915 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7203 "parser_cocci_menhir.ml"
+# 7922 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7209 "parser_cocci_menhir.ml"
+# 7928 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7221,49 +7940,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 : (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 7236 "parser_cocci_menhir.ml"
+# 7960 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
-        let _startpos = _startpos_p00_ in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7965 "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
             
-# 521 "parser_cocci_menhir.mly"
+# 542 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 7248 "parser_cocci_menhir.ml"
+# 7978 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7254 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 7984 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7261 "parser_cocci_menhir.ml"
+# 7991 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7267 "parser_cocci_menhir.ml"
+# 7997 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7283,65 +8013,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 : (
-# 61 "parser_cocci_menhir.mly"
+# 62 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 7303 "parser_cocci_menhir.ml"
+# 8038 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 7308 "parser_cocci_menhir.ml"
+# 8043 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let _startpos = _startpos_r00_ in
+        let r1 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8048 "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
             
-# 524 "parser_cocci_menhir.mly"
+# 545 "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*))) )
-# 7326 "parser_cocci_menhir.ml"
+# 8067 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7332 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8073 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7339 "parser_cocci_menhir.ml"
+# 8080 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7345 "parser_cocci_menhir.ml"
+# 8086 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7357,48 +8098,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 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7372 "parser_cocci_menhir.ml"
+# 8118 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8123 "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
             
-# 531 "parser_cocci_menhir.mly"
+# 552 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 7383 "parser_cocci_menhir.ml"
+# 8135 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7389 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8141 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7396 "parser_cocci_menhir.ml"
+# 8148 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7402 "parser_cocci_menhir.ml"
+# 8154 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7418,11 +8170,16 @@ 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
@@ -7430,47 +8187,53 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty200 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7434 "parser_cocci_menhir.ml"
+# 8191 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7439 "parser_cocci_menhir.ml"
+# 8196 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
-        let _startpos = _startpos_ty100_ in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8201 "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
             
-# 533 "parser_cocci_menhir.mly"
+# 554 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 7455 "parser_cocci_menhir.ml"
+# 8218 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7461 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8224 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7468 "parser_cocci_menhir.ml"
+# 8231 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7474 "parser_cocci_menhir.ml"
+# 8237 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7495,9 +8258,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 52 "parser_cocci_menhir.mly"
+# 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7501 "parser_cocci_menhir.ml"
+# 8264 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -7506,28 +8269,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 541 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 7512 "parser_cocci_menhir.ml"
+# 536 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 8275 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7518 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8281 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7525 "parser_cocci_menhir.ml"
+# 8288 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7531 "parser_cocci_menhir.ml"
+# 8294 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7554,7 +8317,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7558 "parser_cocci_menhir.ml"
+# 8321 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -7563,28 +8326,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 543 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 7569 "parser_cocci_menhir.ml"
+# 538 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 8332 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7575 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8338 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7582 "parser_cocci_menhir.ml"
+# 8345 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7588 "parser_cocci_menhir.ml"
+# 8351 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7611,7 +8374,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7615 "parser_cocci_menhir.ml"
+# 8378 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -7620,28 +8383,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 545 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 7626 "parser_cocci_menhir.ml"
+# 540 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 8389 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7632 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8395 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7639 "parser_cocci_menhir.ml"
+# 8402 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7645 "parser_cocci_menhir.ml"
+# 8408 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7657,56 +8420,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 : (
-# 52 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 7678 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let p00 : (
+# 68 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 8435 "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
             
-# 547 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 7691 "parser_cocci_menhir.ml"
+# 542 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 8447 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7697 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8453 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7704 "parser_cocci_menhir.ml"
+# 8460 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7710 "parser_cocci_menhir.ml"
+# 8466 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7722,52 +8478,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 : (
+# 62 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 8502 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r00 : (
+# 49 "parser_cocci_menhir.mly"
+      (string)
+# 8507 "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
             
-# 549 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 7752 "parser_cocci_menhir.ml"
+# 545 "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*))) )
+# 8525 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7758 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8531 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7765 "parser_cocci_menhir.ml"
+# 8538 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7771 "parser_cocci_menhir.ml"
+# 8544 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7783,87 +8556,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 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 7813 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 7819 "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 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8571 "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 )
-# 7838 "parser_cocci_menhir.ml"
-              
-            in
+            let ty = ty0 in
             
 # 552 "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)) )
-# 7848 "parser_cocci_menhir.ml"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 8582 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7854 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8588 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7861 "parser_cocci_menhir.ml"
+# 8595 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7867 "parser_cocci_menhir.ml"
+# 8601 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7879,96 +8613,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 : (
-# 104 "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 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 7920 "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 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8633 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8638 "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 )
-# 7943 "parser_cocci_menhir.ml"
-              
-            in
+            let ty2 = ty20 in
+            let ty1 = ty10 in
             
-# 552 "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)) )
-# 7953 "parser_cocci_menhir.ml"
+# 554 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 8654 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7959 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8660 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7966 "parser_cocci_menhir.ml"
+# 8667 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7972 "parser_cocci_menhir.ml"
+# 8673 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7984,82 +8685,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 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 8014 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 8020 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : (
-# 67 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 8025 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let ty00 : (
+# 53 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8700 "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
             
-# 558 "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)) )
-# 8044 "parser_cocci_menhir.ml"
+# 562 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 8711 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
                         ( ty )
-# 8050 "parser_cocci_menhir.ml"
+# 8717 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 8057 "parser_cocci_menhir.ml"
+# 8724 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8063 "parser_cocci_menhir.ml"
+# 8730 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8076,47 +8743,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 : (
-# 61 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 8090 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let _startpos = _startpos_p00_ in
+        let ty00 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8757 "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
             
-# 562 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 8101 "parser_cocci_menhir.ml"
+# 564 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 8768 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
                         ( ty )
-# 8107 "parser_cocci_menhir.ml"
+# 8774 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 8114 "parser_cocci_menhir.ml"
+# 8781 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8120 "parser_cocci_menhir.ml"
+# 8787 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8132,66 +8799,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 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8157 "parser_cocci_menhir.ml"
+# 8814 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8162 "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
             
-# 515 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 8175 "parser_cocci_menhir.ml"
+# 566 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 8825 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8181 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 8831 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8189 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 8838 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8195 "parser_cocci_menhir.ml"
+# 8844 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8207,66 +8856,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 : (
-# 51 "parser_cocci_menhir.mly"
+# 52 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8232 "parser_cocci_menhir.ml"
+# 8871 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8237 "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
             
-# 517 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 8250 "parser_cocci_menhir.ml"
+# 568 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 8882 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8256 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 8888 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8264 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 8895 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8270 "parser_cocci_menhir.ml"
+# 8901 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8282,66 +8913,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 : (
-# 51 "parser_cocci_menhir.mly"
+# 52 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8307 "parser_cocci_menhir.ml"
+# 8928 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8312 "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
             
-# 519 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 8325 "parser_cocci_menhir.ml"
+# 570 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 8939 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8331 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 8945 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8339 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 8952 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8345 "parser_cocci_menhir.ml"
+# 8958 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8357,67 +8970,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 : (
-# 67 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 8382 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
+        let ty00 : (
+# 52 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8387 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 8985 "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
             
-# 521 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 8401 "parser_cocci_menhir.ml"
+# 572 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 8996 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8407 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9002 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8415 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9009 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8421 "parser_cocci_menhir.ml"
+# 9015 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8433,87 +9027,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 : (
-# 61 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 8467 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r00 : (
-# 49 "parser_cocci_menhir.mly"
-      (string)
-# 8472 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let r1 : (
+        let i00 : 'tv_ident = Obj.magic i00 in
+        let s00 : (
 # 53 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8477 "parser_cocci_menhir.ml"
-        ) = Obj.magic r1 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 9048 "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
             
-# 524 "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*))) )
-# 8497 "parser_cocci_menhir.ml"
+# 574 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 9061 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8503 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9067 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8511 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9074 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8517 "parser_cocci_menhir.ml"
+# 9080 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8529,66 +9092,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 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8554 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
+        let r00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9122 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9128 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
 # 53 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8559 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 9133 "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 )
+# 9151 "parser_cocci_menhir.ml"
+              
+            in
             
-# 531 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 8572 "parser_cocci_menhir.ml"
+# 576 "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)) )
+# 9160 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8578 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9166 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8586 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9173 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8592 "parser_cocci_menhir.ml"
+# 9179 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8604,81 +9191,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 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8634 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8639 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let r0 : (
+        let r00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9226 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9232 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_ident = Obj.magic x000 in
+        let s00 : (
 # 53 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8644 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 9238 "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 )
+# 9259 "parser_cocci_menhir.ml"
+              
+            in
             
-# 533 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 8662 "parser_cocci_menhir.ml"
+# 576 "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)) )
+# 9268 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8668 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9274 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8676 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9281 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8682 "parser_cocci_menhir.ml"
+# 9287 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8694,66 +9299,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 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8719 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8724 "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_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
             
-# 515 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 8737 "parser_cocci_menhir.ml"
+# 581 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 9329 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8743 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9335 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8751 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9342 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8757 "parser_cocci_menhir.ml"
+# 9348 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8769,66 +9360,340 @@ 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.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 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8794 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8799 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+        let r00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9390 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9396 "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 ty0 = ty00 in
-          let r = r0 in
+          let r0 = r00 in
+          let d0 = d00 in
+          let l0 = l00 in
+          let s0 = s00 in
           let ty =
-            let ty = ty0 in
+            let r = r0 in
+            let d = d0 in
+            let l = l0 in
+            let s = s0 in
+            let i =
+              
+# 39 "standard.mly"
+    ( None )
+# 9415 "parser_cocci_menhir.ml"
+              
+            in
             
-# 517 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 8812 "parser_cocci_menhir.ml"
+# 584 "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)) )
+# 9425 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8818 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9431 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8826 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9438 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8832 "parser_cocci_menhir.ml"
+# 9444 "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 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9491 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9497 "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 _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 )
+# 9520 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 584 "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)) )
+# 9530 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9536 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 9543 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9549 "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 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9591 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9597 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 68 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 9602 "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
+            
+# 590 "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)) )
+# 9621 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9627 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 9634 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9640 "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 : (
+# 62 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 9667 "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
+            
+# 594 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 9678 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9684 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 9691 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9697 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8865,12 +9730,162 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8869 "parser_cocci_menhir.ml"
+# 9734 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 9739 "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
+            
+# 536 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 9752 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9758 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 9766 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9772 "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 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 9809 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 9814 "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
+            
+# 538 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 9827 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9833 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 9841 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9847 "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 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 9884 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8874 "parser_cocci_menhir.ml"
+# 9889 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -8881,15 +9896,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 519 "parser_cocci_menhir.mly"
+# 540 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 8887 "parser_cocci_menhir.ml"
+# 9902 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8893 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9908 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -8897,13 +9912,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 8901 "parser_cocci_menhir.ml"
+# 9916 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8907 "parser_cocci_menhir.ml"
+# 9922 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8938,14 +9953,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 8944 "parser_cocci_menhir.ml"
+# 9959 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8949 "parser_cocci_menhir.ml"
+# 9964 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -8956,16 +9971,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 521 "parser_cocci_menhir.mly"
+# 542 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 8963 "parser_cocci_menhir.ml"
+# 9978 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8969 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9984 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -8973,13 +9988,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 8977 "parser_cocci_menhir.ml"
+# 9992 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8983 "parser_cocci_menhir.ml"
+# 9998 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9023,19 +10038,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 61 "parser_cocci_menhir.mly"
+# 62 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 9029 "parser_cocci_menhir.ml"
+# 10044 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 9034 "parser_cocci_menhir.ml"
+# 10049 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let r1 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9039 "parser_cocci_menhir.ml"
+# 10054 "parser_cocci_menhir.ml"
         ) = Obj.magic r1 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9048,20 +10063,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 524 "parser_cocci_menhir.mly"
+# 545 "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*))) )
-# 9059 "parser_cocci_menhir.ml"
+# 10074 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9065 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10080 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9069,13 +10084,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9073 "parser_cocci_menhir.ml"
+# 10088 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9079 "parser_cocci_menhir.ml"
+# 10094 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9112,12 +10127,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9116 "parser_cocci_menhir.ml"
+# 10131 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9121 "parser_cocci_menhir.ml"
+# 10136 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9128,15 +10143,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 531 "parser_cocci_menhir.mly"
+# 552 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 9134 "parser_cocci_menhir.ml"
+# 10149 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9140 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10155 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9144,13 +10159,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9148 "parser_cocci_menhir.ml"
+# 10163 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9154 "parser_cocci_menhir.ml"
+# 10169 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9192,17 +10207,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty200 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9196 "parser_cocci_menhir.ml"
+# 10211 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9201 "parser_cocci_menhir.ml"
+# 10216 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9206 "parser_cocci_menhir.ml"
+# 10221 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9215,18 +10230,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 533 "parser_cocci_menhir.mly"
+# 554 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 9224 "parser_cocci_menhir.ml"
+# 10239 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9230 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10245 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9234,13 +10249,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9238 "parser_cocci_menhir.ml"
+# 10253 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9244 "parser_cocci_menhir.ml"
+# 10259 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9260,11 +10275,16 @@ 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
@@ -9272,25 +10292,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9276 "parser_cocci_menhir.ml"
+# 10296 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10301 "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
             
-# 515 "parser_cocci_menhir.mly"
+# 536 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 9288 "parser_cocci_menhir.ml"
+# 10314 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9294 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10320 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9298,13 +10324,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9302 "parser_cocci_menhir.ml"
+# 10328 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9308 "parser_cocci_menhir.ml"
+# 10334 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9324,11 +10350,16 @@ 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
@@ -9336,25 +10367,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9340 "parser_cocci_menhir.ml"
+# 10371 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10376 "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
             
-# 517 "parser_cocci_menhir.mly"
+# 538 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 9352 "parser_cocci_menhir.ml"
+# 10389 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9358 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10395 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9362,13 +10399,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9366 "parser_cocci_menhir.ml"
+# 10403 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9372 "parser_cocci_menhir.ml"
+# 10409 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9388,11 +10425,16 @@ 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
@@ -9400,25 +10442,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9404 "parser_cocci_menhir.ml"
+# 10446 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10451 "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
             
-# 519 "parser_cocci_menhir.mly"
+# 540 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 9416 "parser_cocci_menhir.ml"
+# 10464 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9422 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10470 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9426,13 +10474,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9430 "parser_cocci_menhir.ml"
+# 10478 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9436 "parser_cocci_menhir.ml"
+# 10484 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9452,38 +10500,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 : (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 9468 "parser_cocci_menhir.ml"
+# 10521 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10526 "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
             
-# 521 "parser_cocci_menhir.mly"
+# 542 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 9481 "parser_cocci_menhir.ml"
+# 10540 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9487 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10546 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9491,13 +10550,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9495 "parser_cocci_menhir.ml"
+# 10554 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9501 "parser_cocci_menhir.ml"
+# 10560 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9517,58 +10576,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
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 61 "parser_cocci_menhir.mly"
+                  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 : (
+# 62 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 9542 "parser_cocci_menhir.ml"
+# 10606 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 9547 "parser_cocci_menhir.ml"
+# 10611 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
+        let r1 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10616 "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
             
-# 524 "parser_cocci_menhir.mly"
+# 545 "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*))) )
-# 9566 "parser_cocci_menhir.ml"
+# 10636 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9572 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10642 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9576,13 +10646,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9580 "parser_cocci_menhir.ml"
+# 10650 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9586 "parser_cocci_menhir.ml"
+# 10656 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9602,11 +10672,16 @@ 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
@@ -9614,25 +10689,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9618 "parser_cocci_menhir.ml"
+# 10693 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10698 "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
             
-# 531 "parser_cocci_menhir.mly"
+# 552 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 9630 "parser_cocci_menhir.ml"
+# 10711 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9636 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10717 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9640,13 +10721,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9644 "parser_cocci_menhir.ml"
+# 10725 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9650 "parser_cocci_menhir.ml"
+# 10731 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9670,11 +10751,16 @@ 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;
+                  };
                 };
               };
             };
@@ -9683,35 +10769,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty200 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9687 "parser_cocci_menhir.ml"
+# 10773 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9692 "parser_cocci_menhir.ml"
+# 10778 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10783 "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
             
-# 533 "parser_cocci_menhir.mly"
+# 554 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 9709 "parser_cocci_menhir.ml"
+# 10801 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9715 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10807 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9719,13 +10811,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9723 "parser_cocci_menhir.ml"
+# 10815 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9729 "parser_cocci_menhir.ml"
+# 10821 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9755,9 +10847,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 52 "parser_cocci_menhir.mly"
+# 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9761 "parser_cocci_menhir.ml"
+# 10853 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9767,15 +10859,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 541 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 9773 "parser_cocci_menhir.ml"
+# 536 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 10865 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9779 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 10871 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9783,13 +10875,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9787 "parser_cocci_menhir.ml"
+# 10879 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9793 "parser_cocci_menhir.ml"
+# 10885 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9821,7 +10913,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9825 "parser_cocci_menhir.ml"
+# 10917 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9831,15 +10923,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 543 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 9837 "parser_cocci_menhir.ml"
+# 538 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 10929 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9843 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 10935 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9847,13 +10939,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9851 "parser_cocci_menhir.ml"
+# 10943 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9857 "parser_cocci_menhir.ml"
+# 10949 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9885,7 +10977,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9889 "parser_cocci_menhir.ml"
+# 10981 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9895,15 +10987,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 545 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 9901 "parser_cocci_menhir.ml"
+# 540 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 10993 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9907 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 10999 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9911,13 +11003,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9915 "parser_cocci_menhir.ml"
+# 11007 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9921 "parser_cocci_menhir.ml"
+# 11013 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9933,49 +11025,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 : (
-# 52 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 9959 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
+        let p00 : (
+# 68 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 11045 "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
             
-# 547 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 9973 "parser_cocci_menhir.ml"
+# 542 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 11058 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9979 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11064 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9983,13 +11068,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9987 "parser_cocci_menhir.ml"
+# 11072 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9993 "parser_cocci_menhir.ml"
+# 11078 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10005,45 +11090,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 : (
+# 62 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 11119 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r00 : (
+# 49 "parser_cocci_menhir.mly"
+      (string)
+# 11124 "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
             
-# 549 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 10041 "parser_cocci_menhir.ml"
+# 545 "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*))) )
+# 11143 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 10047 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11149 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10051,13 +11153,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10055 "parser_cocci_menhir.ml"
+# 11157 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10061 "parser_cocci_menhir.ml"
+# 11163 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10073,80 +11175,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 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10108 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10114 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let ty00 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11195 "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 )
-# 10134 "parser_cocci_menhir.ml"
-              
-            in
+            let ty = ty0 in
             
 # 552 "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)) )
-# 10144 "parser_cocci_menhir.ml"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 11207 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 10150 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11213 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10154,13 +11217,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10158 "parser_cocci_menhir.ml"
+# 11221 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10164 "parser_cocci_menhir.ml"
+# 11227 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10176,89 +11239,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 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10216 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10222 "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 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11264 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11269 "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 )
-# 10246 "parser_cocci_menhir.ml"
-              
-            in
+            let ty2 = ty20 in
+            let ty1 = ty10 in
             
-# 552 "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)) )
-# 10256 "parser_cocci_menhir.ml"
+# 554 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 11286 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 10262 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11292 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10266,13 +11296,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10270 "parser_cocci_menhir.ml"
+# 11300 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10276 "parser_cocci_menhir.ml"
+# 11306 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10288,75 +11318,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 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10323 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10329 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : (
-# 67 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 10334 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
+        let ty00 : (
+# 53 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11338 "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
             
-# 558 "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)) )
-# 10354 "parser_cocci_menhir.ml"
+# 562 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 11350 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
                         ( ty )
-# 10360 "parser_cocci_menhir.ml"
+# 11356 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10364,13 +11360,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10368 "parser_cocci_menhir.ml"
+# 11364 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10374 "parser_cocci_menhir.ml"
+# 11370 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10386,9 +11382,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;
@@ -10399,28 +11395,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 61 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 10406 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
+        let ty00 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11402 "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
             
-# 562 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 10418 "parser_cocci_menhir.ml"
+# 564 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 11414 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
                         ( ty )
-# 10424 "parser_cocci_menhir.ml"
+# 11420 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10428,13 +11424,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10432 "parser_cocci_menhir.ml"
+# 11428 "parser_cocci_menhir.ml"
           
         in
         
-# 575 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10438 "parser_cocci_menhir.ml"
+# 11434 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10446,23 +11442,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 : (
-# 53 "parser_cocci_menhir.mly"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 10459 "parser_cocci_menhir.ml"
-        ) = Obj.magic r in
-        let _startpos = _startpos_r_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_ctype = 
-# 577 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
-# 10466 "parser_cocci_menhir.ml"
+# 11466 "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
+            
+# 566 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 11478 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11484 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11492 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11498 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10474,23 +11506,981 @@ 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;
-          } = _menhir_stack in
-        let r : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 10487 "parser_cocci_menhir.ml"
-        ) = Obj.magic r in
-        let _startpos = _startpos_r_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_ctype = 
-# 579 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
-# 10494 "parser_cocci_menhir.ml"
+          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 m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 52 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11530 "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
+            
+# 568 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 11542 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11548 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11556 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11562 "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 = 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 : (
+# 52 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11594 "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
+            
+# 570 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 11606 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11612 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11620 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11626 "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 = 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 : (
+# 52 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11658 "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
+            
+# 572 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 11670 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11676 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11684 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11690 "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 = 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 m : 'tv_list_TMul_ = Obj.magic m in
+        let i00 : 'tv_ident = Obj.magic i00 in
+        let s00 : (
+# 53 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11728 "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
+            
+# 574 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 11742 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11748 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11756 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11762 "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 = 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 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 11809 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 11815 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 53 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11820 "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 )
+# 11839 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 576 "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)) )
+# 11848 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11854 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11862 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11868 "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.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 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 11920 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 11926 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_ident = Obj.magic x000 in
+        let s00 : (
+# 53 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11932 "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 )
+# 11954 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 576 "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)) )
+# 11963 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11969 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11977 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11983 "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 = 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 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 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
+            
+# 581 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 12031 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12037 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12045 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12051 "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 = 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 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12098 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12104 "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 )
+# 12124 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 584 "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)) )
+# 12134 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12140 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12148 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12154 "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.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 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12206 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12212 "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 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 )
+# 12236 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 584 "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)) )
+# 12246 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12252 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12260 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12266 "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 = 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 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12313 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12319 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 68 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 12324 "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
+            
+# 590 "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)) )
+# 12344 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12350 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12358 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12364 "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.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 : (
+# 62 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 12396 "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
+            
+# 594 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 12408 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12414 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12422 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 607 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12428 "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 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 12449 "parser_cocci_menhir.ml"
+        ) = Obj.magic r in
+        let _startpos = _startpos_r_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_ctype = 
+# 609 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
+# 12456 "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 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 12477 "parser_cocci_menhir.ml"
+        ) = Obj.magic r in
+        let _startpos = _startpos_r_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_ctype = 
+# 611 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
+# 12484 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10519,24 +12509,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 10525 "parser_cocci_menhir.ml"
+# 12515 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
         let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 10531 "parser_cocci_menhir.ml"
+# 12521 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let _startpos = _startpos_lp_ in
         let _endpos = _endpos_rp_ in
         let _v : 'tv_ctype = 
-# 581 "parser_cocci_menhir.mly"
+# 613 "parser_cocci_menhir.mly"
     ( let (mids,code) = t in
       Ast0.wrap
        (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 10540 "parser_cocci_menhir.ml"
+# 12530 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10564,7 +12554,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_d_ident = 
-# 1097 "parser_cocci_menhir.mly"
+# 1165 "parser_cocci_menhir.mly"
       ( (_1,
         function t ->
           List.fold_right
@@ -10573,7 +12563,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                 Ast0.wrap
                   (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r)))
             _2 t) )
-# 10577 "parser_cocci_menhir.ml"
+# 12567 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10601,9 +12591,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_t_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_decl = 
-# 853 "parser_cocci_menhir.mly"
+# 919 "parser_cocci_menhir.mly"
  ( Ast0.wrap(Ast0.Param(t, Some i)) )
-# 10607 "parser_cocci_menhir.ml"
+# 12597 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10625,9 +12615,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_t_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_decl = 
-# 854 "parser_cocci_menhir.mly"
+# 920 "parser_cocci_menhir.mly"
               ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
-# 10631 "parser_cocci_menhir.ml"
+# 12621 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10681,44 +12671,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 10687 "parser_cocci_menhir.ml"
+# 12677 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
         let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 10693 "parser_cocci_menhir.ml"
+# 12683 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let rp : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 10698 "parser_cocci_menhir.ml"
+# 12688 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let i : 'tv_ident = Obj.magic i in
         let s : (
-# 102 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 10704 "parser_cocci_menhir.ml"
+# 12694 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 10709 "parser_cocci_menhir.ml"
+# 12699 "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 = 
-# 857 "parser_cocci_menhir.mly"
+# 923 "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)) )
-# 10722 "parser_cocci_menhir.ml"
+# 12712 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10737,17 +12727,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 10743 "parser_cocci_menhir.ml"
+# 12733 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl = 
-# 864 "parser_cocci_menhir.mly"
+# 930 "parser_cocci_menhir.mly"
  ( let (nm,pure,clt) = _1 in
        Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
-# 10751 "parser_cocci_menhir.ml"
+# 12741 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10766,16 +12756,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 61 "parser_cocci_menhir.mly"
+# 62 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 10772 "parser_cocci_menhir.ml"
+# 12762 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_ident = 
-# 1686 "parser_cocci_menhir.mly"
+# 1793 "parser_cocci_menhir.mly"
          ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 10779 "parser_cocci_menhir.ml"
+# 12769 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10794,34 +12784,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 65 "parser_cocci_menhir.mly"
+# 66 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 10800 "parser_cocci_menhir.ml"
+# 12790 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_ident = 
-# 1688 "parser_cocci_menhir.mly"
+# 1795 "parser_cocci_menhir.mly"
          ( let (nm,constraints,pure,clt) = _1 in
          Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 10808 "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_decl_list_decl_ = 
-# 1708 "parser_cocci_menhir.mly"
-              ( Ast0.wrap(Ast0.DOTS([])) )
-# 10825 "parser_cocci_menhir.ml"
+# 12798 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10839,34 +12812,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_decl_list_start_decl_ = Obj.magic _1 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_ = 
-# 1710 "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)) )
-# 10853 "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_decl_list_name_opt_decl_ = 
-# 1708 "parser_cocci_menhir.mly"
-              ( Ast0.wrap(Ast0.DOTS([])) )
-# 10870 "parser_cocci_menhir.ml"
+# 1816 "parser_cocci_menhir.mly"
+     ( Ast0.wrap
+        (Ast0.DOTS
+           (_1
+              (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
+              (fun c -> Ast0.PComma c))) )
+# 12826 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10884,215 +12840,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _1 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_ = 
-# 1710 "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)) )
-# 10898 "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_decl_list_start_decl_ = 
-# 1717 "parser_cocci_menhir.mly"
-                 ( [_1] )
-# 10922 "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_decl_list_start_decl_ = Obj.magic _3 in
-        let _2 : (
-# 110 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10954 "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_ = 
-# 1719 "parser_cocci_menhir.mly"
-    ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
-# 10962 "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_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in
-        let _1 : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10989 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_decl_list_start_decl_ = 
-# 1721 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
-      (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
-# 10997 "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_decl_list_start_name_opt_decl_ = 
-# 1717 "parser_cocci_menhir.mly"
-                 ( [_1] )
-# 11021 "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_decl_list_start_name_opt_decl_ = Obj.magic _3 in
-        let _2 : (
-# 110 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 11053 "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_ = 
-# 1719 "parser_cocci_menhir.mly"
-    ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
-# 11061 "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_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in
-        let _1 : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 11088 "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_ = 
-# 1721 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
-      (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
-# 11096 "parser_cocci_menhir.ml"
+# 1816 "parser_cocci_menhir.mly"
+     ( Ast0.wrap
+        (Ast0.DOTS
+           (_1
+              (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
+              (fun c -> Ast0.PComma c))) )
+# 12854 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11111,17 +12869,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 11117 "parser_cocci_menhir.ml"
+# 12875 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_statement = 
-# 1179 "parser_cocci_menhir.mly"
+# 1223 "parser_cocci_menhir.mly"
       ( let (nm,pure,clt) = _1 in
       [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 11125 "parser_cocci_menhir.ml"
+# 12883 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11143,13 +12901,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_statement = 
-# 1182 "parser_cocci_menhir.mly"
+# 1226 "parser_cocci_menhir.mly"
       ( List.map
          (function x ->
            Ast0.wrap
              (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
          _1 )
-# 11153 "parser_cocci_menhir.ml"
+# 12911 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11171,142 +12929,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_statement = 
-# 1187 "parser_cocci_menhir.mly"
-              ( [_1] )
-# 11177 "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 = 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 _3 : (
-# 80 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 11208 "parser_cocci_menhir.ml"
-        ) = Obj.magic _3 in
-        let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
-        let _1 : (
-# 79 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 11214 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_decl_statement = 
-# 1196 "parser_cocci_menhir.mly"
-      ( let (mids,code) = t in
-       if List.for_all
-           (function x ->
-             match Ast0.unwrap x with Ast0.DOTS([]) -> true | _ -> false)
-           code
-      then []
-      else
-         [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
-                              P.clt2mcode ")" _3))] )
-# 11229 "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 : (
-# 67 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 11250 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_statement_expr = 
-# 1209 "parser_cocci_menhir.mly"
-      ( let (nm,pure,clt) = _1 in
-      [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 11258 "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_expr = 
-# 1212 "parser_cocci_menhir.mly"
-      ( List.map
-         (function x ->
-           Ast0.wrap
-             (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
-         _1 )
-# 11286 "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_expr = 
-# 1217 "parser_cocci_menhir.mly"
+# 1231 "parser_cocci_menhir.mly"
               ( [_1] )
-# 11310 "parser_cocci_menhir.ml"
+# 12935 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11335,20 +12960,153 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
+# 81 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12966 "parser_cocci_menhir.ml"
+        ) = Obj.magic _3 in
+        let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
+        let _1 : (
 # 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11341 "parser_cocci_menhir.ml"
+# 12972 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_decl_statement = 
+# 1240 "parser_cocci_menhir.mly"
+      ( let (mids,code) = t in
+       if List.for_all
+           (function x ->
+             match Ast0.unwrap x with Ast0.DOTS([]) -> true | _ -> false)
+           code
+      then []
+      else
+         [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
+                              P.clt2mcode ")" _3))] )
+# 12987 "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 : (
+# 68 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 13008 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_statement_expr = 
+# 1253 "parser_cocci_menhir.mly"
+      ( let (nm,pure,clt) = _1 in
+      [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
+# 13016 "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_expr = 
+# 1256 "parser_cocci_menhir.mly"
+      ( List.map
+         (function x ->
+           Ast0.wrap
+             (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
+         _1 )
+# 13044 "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_expr = 
+# 1261 "parser_cocci_menhir.mly"
+              ( [_1] )
+# 13068 "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 = 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 _3 : (
+# 81 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 13099 "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 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11347 "parser_cocci_menhir.ml"
+# 13105 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_decl_statement_expr = 
-# 1226 "parser_cocci_menhir.mly"
+# 1270 "parser_cocci_menhir.mly"
       ( let (mids,code) = t in
        if List.for_all (function [] -> true | _ -> false) code
       then []
@@ -11357,7 +13115,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))] )
-# 11361 "parser_cocci_menhir.ml"
+# 13119 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11381,17 +13139,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11387 "parser_cocci_menhir.ml"
+# 13145 "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 = 
-# 985 "parser_cocci_menhir.mly"
+# 1051 "parser_cocci_menhir.mly"
       ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
-# 11395 "parser_cocci_menhir.ml"
+# 13153 "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 : (
+# 69 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 13174 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_var = 
+# 1052 "parser_cocci_menhir.mly"
+              ( [P.meta_decl _1] )
+# 13181 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11420,9 +13206,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11426 "parser_cocci_menhir.ml"
+# 13212 "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
@@ -11432,16 +13218,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11436 "parser_cocci_menhir.ml"
+# 13222 "parser_cocci_menhir.ml"
           
         in
         
-# 987 "parser_cocci_menhir.mly"
+# 1054 "parser_cocci_menhir.mly"
       ( List.map
          (function (id,fn) ->
            Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
          d )
-# 11445 "parser_cocci_menhir.ml"
+# 13231 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11475,9 +13261,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11481 "parser_cocci_menhir.ml"
+# 13267 "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
@@ -11489,16 +13275,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11493 "parser_cocci_menhir.ml"
+# 13279 "parser_cocci_menhir.ml"
           
         in
         
-# 987 "parser_cocci_menhir.mly"
+# 1054 "parser_cocci_menhir.mly"
       ( List.map
          (function (id,fn) ->
            Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
          d )
-# 11502 "parser_cocci_menhir.ml"
+# 13288 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11520,9 +13306,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_f_ in
         let _v : 'tv_decl_var = 
-# 991 "parser_cocci_menhir.mly"
+# 1058 "parser_cocci_menhir.mly"
                ( [f] )
-# 11526 "parser_cocci_menhir.ml"
+# 13312 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11561,15 +13347,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11567 "parser_cocci_menhir.ml"
+# 13353 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11573 "parser_cocci_menhir.ml"
+# 13359 "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
@@ -11579,14 +13365,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11583 "parser_cocci_menhir.ml"
+# 13369 "parser_cocci_menhir.ml"
           
         in
         
-# 993 "parser_cocci_menhir.mly"
+# 1060 "parser_cocci_menhir.mly"
       (let (id,fn) = d in
       [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 11590 "parser_cocci_menhir.ml"
+# 13376 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11630,15 +13416,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11636 "parser_cocci_menhir.ml"
+# 13422 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11642 "parser_cocci_menhir.ml"
+# 13428 "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
@@ -11650,14 +13436,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11654 "parser_cocci_menhir.ml"
+# 13440 "parser_cocci_menhir.ml"
           
         in
         
-# 993 "parser_cocci_menhir.mly"
+# 1060 "parser_cocci_menhir.mly"
       (let (id,fn) = d in
       [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 11661 "parser_cocci_menhir.ml"
+# 13447 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11686,9 +13472,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11692 "parser_cocci_menhir.ml"
+# 13478 "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
@@ -11698,25 +13484,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11702 "parser_cocci_menhir.ml"
+# 13488 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 11709 "parser_cocci_menhir.ml"
+# 13495 "parser_cocci_menhir.ml"
           
         in
         
-# 998 "parser_cocci_menhir.mly"
+# 1065 "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 )
-# 11720 "parser_cocci_menhir.ml"
+# 13506 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11750,9 +13536,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11756 "parser_cocci_menhir.ml"
+# 13542 "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
@@ -11764,25 +13550,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11768 "parser_cocci_menhir.ml"
+# 13554 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 11775 "parser_cocci_menhir.ml"
+# 13561 "parser_cocci_menhir.ml"
           
         in
         
-# 998 "parser_cocci_menhir.mly"
+# 1065 "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 )
-# 11786 "parser_cocci_menhir.ml"
+# 13572 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11816,9 +13602,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11822 "parser_cocci_menhir.ml"
+# 13608 "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
@@ -11829,7 +13615,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11833 "parser_cocci_menhir.ml"
+# 13619 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -11837,18 +13623,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11841 "parser_cocci_menhir.ml"
+# 13627 "parser_cocci_menhir.ml"
           
         in
         
-# 998 "parser_cocci_menhir.mly"
+# 1065 "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 )
-# 11852 "parser_cocci_menhir.ml"
+# 13638 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11887,9 +13673,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11893 "parser_cocci_menhir.ml"
+# 13679 "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
@@ -11902,7 +13688,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11906 "parser_cocci_menhir.ml"
+# 13692 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -11910,18 +13696,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11914 "parser_cocci_menhir.ml"
+# 13700 "parser_cocci_menhir.ml"
           
         in
         
-# 998 "parser_cocci_menhir.mly"
+# 1065 "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 )
-# 11925 "parser_cocci_menhir.ml"
+# 13711 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11960,15 +13746,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11966 "parser_cocci_menhir.ml"
+# 13752 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11972 "parser_cocci_menhir.ml"
+# 13758 "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
@@ -11978,24 +13764,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11982 "parser_cocci_menhir.ml"
+# 13768 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 11989 "parser_cocci_menhir.ml"
+# 13775 "parser_cocci_menhir.ml"
           
         in
         
-# 1006 "parser_cocci_menhir.mly"
+# 1073 "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))] )
-# 11999 "parser_cocci_menhir.ml"
+# 13785 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12039,15 +13825,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12045 "parser_cocci_menhir.ml"
+# 13831 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12051 "parser_cocci_menhir.ml"
+# 13837 "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
@@ -12059,24 +13845,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12063 "parser_cocci_menhir.ml"
+# 13849 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 12070 "parser_cocci_menhir.ml"
+# 13856 "parser_cocci_menhir.ml"
           
         in
         
-# 1006 "parser_cocci_menhir.mly"
+# 1073 "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))] )
-# 12080 "parser_cocci_menhir.ml"
+# 13866 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12120,15 +13906,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12126 "parser_cocci_menhir.ml"
+# 13912 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12132 "parser_cocci_menhir.ml"
+# 13918 "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
@@ -12139,7 +13925,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 12143 "parser_cocci_menhir.ml"
+# 13929 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -12147,17 +13933,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12151 "parser_cocci_menhir.ml"
+# 13937 "parser_cocci_menhir.ml"
           
         in
         
-# 1006 "parser_cocci_menhir.mly"
+# 1073 "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))] )
-# 12161 "parser_cocci_menhir.ml"
+# 13947 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12206,15 +13992,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12212 "parser_cocci_menhir.ml"
+# 13998 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12218 "parser_cocci_menhir.ml"
+# 14004 "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
@@ -12227,7 +14013,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12231 "parser_cocci_menhir.ml"
+# 14017 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -12235,17 +14021,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12239 "parser_cocci_menhir.ml"
+# 14025 "parser_cocci_menhir.ml"
           
         in
         
-# 1006 "parser_cocci_menhir.mly"
+# 1073 "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))] )
-# 12249 "parser_cocci_menhir.ml"
+# 14035 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12304,36 +14090,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12310 "parser_cocci_menhir.ml"
+# 14096 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12315 "parser_cocci_menhir.ml"
+# 14101 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12321 "parser_cocci_menhir.ml"
+# 14107 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12326 "parser_cocci_menhir.ml"
+# 14112 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 102 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12332 "parser_cocci_menhir.ml"
+# 14118 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12337 "parser_cocci_menhir.ml"
+# 14123 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -12342,11 +14128,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 12346 "parser_cocci_menhir.ml"
+# 14132 "parser_cocci_menhir.ml"
           
         in
         
-# 1016 "parser_cocci_menhir.mly"
+# 1083 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -12354,7 +14140,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))] )
-# 12358 "parser_cocci_menhir.ml"
+# 14144 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12418,36 +14204,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12424 "parser_cocci_menhir.ml"
+# 14210 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12429 "parser_cocci_menhir.ml"
+# 14215 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12435 "parser_cocci_menhir.ml"
+# 14221 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12440 "parser_cocci_menhir.ml"
+# 14226 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 102 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12446 "parser_cocci_menhir.ml"
+# 14232 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12451 "parser_cocci_menhir.ml"
+# 14237 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
@@ -12458,11 +14244,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12462 "parser_cocci_menhir.ml"
+# 14248 "parser_cocci_menhir.ml"
           
         in
         
-# 1016 "parser_cocci_menhir.mly"
+# 1083 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -12470,7 +14256,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))] )
-# 12474 "parser_cocci_menhir.ml"
+# 14260 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12509,29 +14295,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _5 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12515 "parser_cocci_menhir.ml"
+# 14301 "parser_cocci_menhir.ml"
         ) = Obj.magic _5 in
         let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12520 "parser_cocci_menhir.ml"
+# 14306 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12526 "parser_cocci_menhir.ml"
+# 14312 "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 = 
-# 1024 "parser_cocci_menhir.mly"
+# 1091 "parser_cocci_menhir.mly"
       ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
                                  P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
-# 12535 "parser_cocci_menhir.ml"
+# 14321 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12600,42 +14386,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12606 "parser_cocci_menhir.ml"
+# 14392 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12612 "parser_cocci_menhir.ml"
+# 14398 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12617 "parser_cocci_menhir.ml"
+# 14403 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12623 "parser_cocci_menhir.ml"
+# 14409 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12628 "parser_cocci_menhir.ml"
+# 14414 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 102 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12634 "parser_cocci_menhir.ml"
+# 14420 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12639 "parser_cocci_menhir.ml"
+# 14425 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -12644,11 +14430,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 12648 "parser_cocci_menhir.ml"
+# 14434 "parser_cocci_menhir.ml"
           
         in
         
-# 1030 "parser_cocci_menhir.mly"
+# 1097 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -12656,7 +14442,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))])
-# 12660 "parser_cocci_menhir.ml"
+# 14446 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12730,42 +14516,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12736 "parser_cocci_menhir.ml"
+# 14522 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12742 "parser_cocci_menhir.ml"
+# 14528 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12747 "parser_cocci_menhir.ml"
+# 14533 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12753 "parser_cocci_menhir.ml"
+# 14539 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12758 "parser_cocci_menhir.ml"
+# 14544 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 102 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12764 "parser_cocci_menhir.ml"
+# 14550 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12769 "parser_cocci_menhir.ml"
+# 14555 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
@@ -12776,11 +14562,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12780 "parser_cocci_menhir.ml"
+# 14566 "parser_cocci_menhir.ml"
           
         in
         
-# 1030 "parser_cocci_menhir.mly"
+# 1097 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -12788,7 +14574,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))])
-# 12792 "parser_cocci_menhir.ml"
+# 14578 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12822,27 +14608,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12828 "parser_cocci_menhir.ml"
+# 14614 "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 : (
-# 55 "parser_cocci_menhir.mly"
+# 56 "parser_cocci_menhir.mly"
       (Data.clt)
-# 12835 "parser_cocci_menhir.ml"
+# 14621 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_pv_ in
         let _v : 'tv_decl_var = 
-# 1038 "parser_cocci_menhir.mly"
+# 1105 "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 )
-# 12846 "parser_cocci_menhir.ml"
+# 14632 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12860,158 +14646,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           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 _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_define_param_list = 
-# 755 "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)) )
-# 12874 "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_define_param_list = Obj.magic _1 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 = 
-# 779 "parser_cocci_menhir.mly"
-                                            ( _1 )
-# 12898 "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_define_param_list_option = 
-# 780 "parser_cocci_menhir.mly"
-                           ( Ast0.wrap(Ast0.DOTS([])) )
-# 12915 "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_define_param_list_start = 
-# 762 "parser_cocci_menhir.mly"
-          ( [Ast0.wrap(Ast0.DParam _1)] )
-# 12939 "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_define_param_list_start = Obj.magic _3 in
-        let _2 : (
-# 110 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 12971 "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_define_param_list_start = 
-# 764 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.DParam _1)::
-       Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 )
-# 12980 "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_list_dp_comma_args_TEllipsis__ = Obj.magic r in
-        let d : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13007 "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 = 
-# 767 "parser_cocci_menhir.mly"
-      ( (P.mkdpdots "..." d)::
-       (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) )
-# 13015 "parser_cocci_menhir.ml"
+# 842 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.DOTS
+            (_1
+               (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d)))
+               (fun c -> Ast0.DPComma c))) )
+# 14660 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13030,14 +14675,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 84 "parser_cocci_menhir.mly"
+# 85 "parser_cocci_menhir.mly"
        (Data.clt * token)
-# 13036 "parser_cocci_menhir.ml"
+# 14681 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_defineop = 
-# 714 "parser_cocci_menhir.mly"
+# 798 "parser_cocci_menhir.mly"
     ( let (clt,ident) = _1 in
       function body ->
        Ast0.wrap
@@ -13054,7 +14699,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                       "unexpected name for a #define")),
              Ast0.wrap Ast0.NoParams,
              body)) )
-# 13058 "parser_cocci_menhir.ml"
+# 14703 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13083,20 +14728,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13089 "parser_cocci_menhir.ml"
+# 14734 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_define_param_list_option = Obj.magic _2 in
         let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 86 "parser_cocci_menhir.mly"
        (Data.clt * token * int * int)
-# 13095 "parser_cocci_menhir.ml"
+# 14740 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_defineop = 
-# 731 "parser_cocci_menhir.mly"
+# 815 "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
@@ -13117,7 +14762,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                    (Semantic_cocci.Semantic
                       "unexpected name for a #define")),
              Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) )
-# 13121 "parser_cocci_menhir.ml"
+# 14766 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13139,9 +14784,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_dep = 
-# 230 "parser_cocci_menhir.mly"
+# 231 "parser_cocci_menhir.mly"
                    ( _1 )
-# 13145 "parser_cocci_menhir.ml"
+# 14790 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13173,9 +14818,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_dep = 
-# 231 "parser_cocci_menhir.mly"
+# 232 "parser_cocci_menhir.mly"
                    ( Ast.AndDep(_1, _3) )
-# 13179 "parser_cocci_menhir.ml"
+# 14824 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13207,9 +14852,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_dep = 
-# 232 "parser_cocci_menhir.mly"
+# 233 "parser_cocci_menhir.mly"
                    ( Ast.OrDep (_1, _3) )
-# 13213 "parser_cocci_menhir.ml"
+# 14858 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13224,9 +14869,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_depends = 
-# 226 "parser_cocci_menhir.mly"
+# 227 "parser_cocci_menhir.mly"
                            ( Ast.NoDep )
-# 13230 "parser_cocci_menhir.ml"
+# 14875 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13256,9 +14901,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_parents_ in
         let _v : 'tv_depends = 
-# 227 "parser_cocci_menhir.mly"
+# 228 "parser_cocci_menhir.mly"
                            ( parents )
-# 13262 "parser_cocci_menhir.ml"
+# 14907 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13283,16 +14928,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _2 : 'tv_ident = Obj.magic _2 in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13289 "parser_cocci_menhir.ml"
+# 14934 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_designator = 
-# 1139 "parser_cocci_menhir.mly"
+# 1209 "parser_cocci_menhir.mly"
      ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
-# 13296 "parser_cocci_menhir.ml"
+# 14941 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13321,22 +14966,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 105 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13327 "parser_cocci_menhir.ml"
+# 14972 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 105 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13333 "parser_cocci_menhir.ml"
+# 14978 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_designator = 
-# 1141 "parser_cocci_menhir.mly"
+# 1211 "parser_cocci_menhir.mly"
      ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
-# 13340 "parser_cocci_menhir.ml"
+# 14985 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13375,29 +15020,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _5 : (
-# 105 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13381 "parser_cocci_menhir.ml"
+# 15026 "parser_cocci_menhir.ml"
         ) = Obj.magic _5 in
         let _4 : 'tv_eexpr = Obj.magic _4 in
         let _3 : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13387 "parser_cocci_menhir.ml"
+# 15032 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 105 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13393 "parser_cocci_menhir.ml"
+# 15038 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : 'tv_designator = 
-# 1143 "parser_cocci_menhir.mly"
+# 1213 "parser_cocci_menhir.mly"
      ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
                             _4,P.clt2mcode "]" _5) )
-# 13401 "parser_cocci_menhir.ml"
+# 15046 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13419,9 +15064,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_dexpr = 
-# 1246 "parser_cocci_menhir.mly"
+# 1292 "parser_cocci_menhir.mly"
                                           ( _1 )
-# 13425 "parser_cocci_menhir.ml"
+# 15070 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13447,9 +15092,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_disable = 
-# 245 "parser_cocci_menhir.mly"
+# 246 "parser_cocci_menhir.mly"
                                                       ( List.map P.id2name _2 )
-# 13453 "parser_cocci_menhir.ml"
+# 15098 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13468,16 +15113,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13474 "parser_cocci_menhir.ml"
+# 15119 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_dot_expressions = 
-# 1255 "parser_cocci_menhir.mly"
+# 1301 "parser_cocci_menhir.mly"
             ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
-# 13481 "parser_cocci_menhir.ml"
+# 15126 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13499,9 +15144,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_dot_expressions = 
-# 1256 "parser_cocci_menhir.mly"
+# 1302 "parser_cocci_menhir.mly"
                    ( _1 )
-# 13505 "parser_cocci_menhir.ml"
+# 15150 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13513,34 +15158,47 @@ 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_ident = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_dparam = 
+# 838 "parser_cocci_menhir.mly"
+              ( Ast0.wrap(Ast0.DParam _1) )
+# 15174 "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 = {
-            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.next = _menhir_stack;
           } = _menhir_stack in
         let d : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13531 "parser_cocci_menhir.ml"
+# 15195 "parser_cocci_menhir.ml"
         ) = Obj.magic d in
-        let c : (
-# 110 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13536 "parser_cocci_menhir.ml"
-        ) = Obj.magic c in
-        let _startpos = _startpos_c_ in
+        let _startpos = _startpos_d_ in
         let _endpos = _endpos_d_ in
-        let _v : 'tv_dp_comma_args_TEllipsis_ = 
-# 772 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] )
-# 13544 "parser_cocci_menhir.ml"
+        let _v : 'tv_edots_when_TEllipsis_eexpr_ = 
+# 2102 "parser_cocci_menhir.mly"
+                                                  ( (d,None) )
+# 15202 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13552,31 +15210,41 @@ 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.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
           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 = 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 _2 : 'tv_ident = Obj.magic _2 in
-        let _1 : (
-# 110 "parser_cocci_menhir.mly"
+        let w : 'tv_eexpr = Obj.magic w in
+        let d : (
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13571 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_dp_comma_args_TEllipsis_ = 
-# 775 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1));
-       Ast0.wrap(Ast0.DParam _2)] )
-# 13580 "parser_cocci_menhir.ml"
+# 15241 "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_ = 
+# 2103 "parser_cocci_menhir.mly"
+                                                  ( (d,Some w) )
+# 15248 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13595,16 +15263,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let d : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13601 "parser_cocci_menhir.ml"
+# 15269 "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_ = 
-# 1986 "parser_cocci_menhir.mly"
+        let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = 
+# 2102 "parser_cocci_menhir.mly"
                                                   ( (d,None) )
-# 13608 "parser_cocci_menhir.ml"
+# 15276 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13639,18 +15307,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let w : 'tv_eexpr = Obj.magic w in
+        let w : 'tv_enum_decl_one = Obj.magic w in
         let d : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13647 "parser_cocci_menhir.ml"
+# 15315 "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_ = 
-# 1987 "parser_cocci_menhir.mly"
+        let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = 
+# 2103 "parser_cocci_menhir.mly"
                                                   ( (d,Some w) )
-# 13654 "parser_cocci_menhir.ml"
+# 15322 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13669,16 +15337,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let d : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13675 "parser_cocci_menhir.ml"
+# 15343 "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_ = 
-# 1986 "parser_cocci_menhir.mly"
+# 2102 "parser_cocci_menhir.mly"
                                                   ( (d,None) )
-# 13682 "parser_cocci_menhir.ml"
+# 15350 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13715,16 +15383,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let w : 'tv_initialize = Obj.magic w in
         let d : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13721 "parser_cocci_menhir.ml"
+# 15389 "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_ = 
-# 1987 "parser_cocci_menhir.mly"
+# 2103 "parser_cocci_menhir.mly"
                                                   ( (d,Some w) )
-# 13728 "parser_cocci_menhir.ml"
+# 15396 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13743,16 +15411,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let d : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13749 "parser_cocci_menhir.ml"
+# 15417 "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_ = 
-# 1986 "parser_cocci_menhir.mly"
+        let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ = 
+# 2102 "parser_cocci_menhir.mly"
                                                   ( (d,None) )
-# 13756 "parser_cocci_menhir.ml"
+# 15424 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13787,18 +15455,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let w : 'tv_struct_decl = Obj.magic w in
+        let w : 'tv_struct_decl_one = Obj.magic w in
         let d : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13795 "parser_cocci_menhir.ml"
+# 15463 "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_ = 
-# 1987 "parser_cocci_menhir.mly"
+        let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ = 
+# 2103 "parser_cocci_menhir.mly"
                                                   ( (d,Some w) )
-# 13802 "parser_cocci_menhir.ml"
+# 15470 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13820,9 +15488,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_eexpr = 
-# 1244 "parser_cocci_menhir.mly"
+# 1290 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 13826 "parser_cocci_menhir.ml"
+# 15494 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13840,22 +15508,34 @@ 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 : '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 = 
-# 1929 "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)) )
-# 13859 "parser_cocci_menhir.ml"
+        let _v : 'tv_eexpr_list_option = 
+# 2082 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.DOTS
+            (_1
+               (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None)))
+               (fun c -> Ast0.EComma c))) )
+# 15522 "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_ = 
+# 1844 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15539 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13873,13 +15553,13 @@ 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 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_eexpr_list_option = 
-# 1969 "parser_cocci_menhir.mly"
-                              ( _1 )
-# 13883 "parser_cocci_menhir.ml"
+        let _v : 'tv_empty_list_start_aexpr_TEllipsis_ = 
+# 1845 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15563 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13893,10 +15573,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_eexpr_list_option = 
-# 1970 "parser_cocci_menhir.mly"
-                           ( Ast0.wrap(Ast0.DOTS([])) )
-# 13900 "parser_cocci_menhir.ml"
+        let _v : 'tv_empty_list_start_dparam_TEllipsis_ = 
+# 1844 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15580 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13914,13 +15594,184 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_aexpr = Obj.magic _1 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_eexpr_list_start = 
-# 1957 "parser_cocci_menhir.mly"
-          ( [_1] )
-# 13924 "parser_cocci_menhir.ml"
+        let _v : 'tv_empty_list_start_dparam_TEllipsis_ = 
+# 1845 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15604 "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__ = 
+# 1844 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 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.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__ = 
+# 1845 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15645 "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_ = 
+# 1844 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15662 "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_ = 
+# 1845 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15686 "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_ = 
+# 1844 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15703 "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_ = 
+# 1845 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15727 "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 = 
+# 702 "parser_cocci_menhir.mly"
+     ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) )
+# 15751 "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_decl_one = 
+# 674 "parser_cocci_menhir.mly"
+               ( Ast0.wrap(Ast0.Ident(_1)) )
+# 15775 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13948,19 +15799,166 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_eexpr_list_start = Obj.magic _3 in
+        let _3 : 'tv_enum_val = Obj.magic _3 in
         let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13956 "parser_cocci_menhir.ml"
+# 15807 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_aexpr = 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_eexpr_list_start = 
-# 1959 "parser_cocci_menhir.mly"
-      ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 )
-# 13964 "parser_cocci_menhir.ml"
+        let _v : 'tv_enum_decl_one = 
+# 676 "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)) )
+# 15819 "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 = 
+# 683 "parser_cocci_menhir.mly"
+            ( Ast0.wrap(Ast0.Ident(_1)) )
+# 15843 "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 : (
+# 91 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 15864 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 685 "parser_cocci_menhir.mly"
+     ( let (x,clt) = _1 in
+     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 15872 "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 : (
+# 71 "parser_cocci_menhir.mly"
+       (Parse_aux.typed_expinfo)
+# 15893 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 688 "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)) )
+# 15902 "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 : (
+# 71 "parser_cocci_menhir.mly"
+       (Parse_aux.typed_expinfo)
+# 15923 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 692 "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)) )
+# 15932 "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 : (
+# 71 "parser_cocci_menhir.mly"
+       (Parse_aux.typed_expinfo)
+# 15953 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 696 "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)) )
+# 15962 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13980,9 +15978,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_exists = 
-# 248 "parser_cocci_menhir.mly"
+# 249 "parser_cocci_menhir.mly"
           ( Ast.Exists )
-# 13986 "parser_cocci_menhir.ml"
+# 15984 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14002,9 +16000,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_exists = 
-# 249 "parser_cocci_menhir.mly"
+# 250 "parser_cocci_menhir.mly"
           ( Ast.Forall )
-# 14008 "parser_cocci_menhir.ml"
+# 16006 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14019,9 +16017,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_exists = 
-# 250 "parser_cocci_menhir.mly"
+# 251 "parser_cocci_menhir.mly"
           ( Ast.Undetermined )
-# 14025 "parser_cocci_menhir.ml"
+# 16023 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14043,9 +16041,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_expr = 
-# 1242 "parser_cocci_menhir.mly"
+# 1288 "parser_cocci_menhir.mly"
                                 ( _1 )
-# 14049 "parser_cocci_menhir.ml"
+# 16047 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14067,9 +16065,119 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_r_ in
         let _endpos = _endpos_r_ in
         let _v : 'tv_expr_dots_TEllipsis_ = 
-# 1424 "parser_cocci_menhir.mly"
+# 1524 "parser_cocci_menhir.mly"
                                                        ( r )
-# 14073 "parser_cocci_menhir.ml"
+# 16071 "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 = 
+# 475 "parser_cocci_menhir.mly"
+                        ( P.ty_pointerify Type_cocci.Unknown m )
+# 16095 "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 = 
+# 477 "parser_cocci_menhir.mly"
+    ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m )
+# 16123 "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 = 
+# 479 "parser_cocci_menhir.mly"
+    ( P.ty_pointerify
+       (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m )
+# 16152 "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 = 
+# 482 "parser_cocci_menhir.mly"
+    ( P.ty_pointerify
+       (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m )
+# 16181 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14084,9 +16192,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_extends = 
-# 221 "parser_cocci_menhir.mly"
+# 222 "parser_cocci_menhir.mly"
                                                   ( () )
-# 14090 "parser_cocci_menhir.ml"
+# 16198 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14111,14 +16219,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let parent : (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 14115 "parser_cocci_menhir.ml"
+# 16223 "parser_cocci_menhir.ml"
         ) = Obj.magic parent in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_parent_ in
         let _v : 'tv_extends = 
-# 223 "parser_cocci_menhir.mly"
+# 224 "parser_cocci_menhir.mly"
     ( !Data.install_bindings (parent) )
-# 14122 "parser_cocci_menhir.ml"
+# 16230 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14142,23 +16250,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 86 "parser_cocci_menhir.mly"
+# 87 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 14148 "parser_cocci_menhir.ml"
+# 16256 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 86 "parser_cocci_menhir.mly"
+# 87 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 14153 "parser_cocci_menhir.ml"
+# 16261 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_filespec = 
-# 669 "parser_cocci_menhir.mly"
+# 739 "parser_cocci_menhir.mly"
     ( [Ast0.wrap
          (Ast0.FILEINFO(P.id2mcode _1,
                         P.id2mcode _2))] )
-# 14162 "parser_cocci_menhir.ml"
+# 16270 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14173,9 +16281,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_fninfo = 
-# 808 "parser_cocci_menhir.mly"
+# 874 "parser_cocci_menhir.mly"
                 ( [] )
-# 14179 "parser_cocci_menhir.ml"
+# 16287 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14203,13 +16311,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fninfo = 
-# 810 "parser_cocci_menhir.mly"
+# 876 "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 )
-# 14213 "parser_cocci_menhir.ml"
+# 16321 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14237,9 +16345,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_t_ in
         let _endpos = _endpos_r_ in
         let _v : 'tv_fninfo = 
-# 815 "parser_cocci_menhir.mly"
+# 881 "parser_cocci_menhir.mly"
                         ( (Ast0.FType(t))::r )
-# 14243 "parser_cocci_menhir.ml"
+# 16351 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14264,19 +16372,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _2 : 'tv_fninfo = Obj.magic _2 in
         let _1 : (
-# 55 "parser_cocci_menhir.mly"
+# 56 "parser_cocci_menhir.mly"
       (Data.clt)
-# 14270 "parser_cocci_menhir.ml"
+# 16378 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fninfo = 
-# 817 "parser_cocci_menhir.mly"
+# 883 "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 )
-# 14280 "parser_cocci_menhir.ml"
+# 16388 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14301,19 +16409,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _2 : 'tv_fninfo = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 58 "parser_cocci_menhir.mly"
       (string * Data.clt)
-# 14307 "parser_cocci_menhir.ml"
+# 16415 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fninfo = 
-# 822 "parser_cocci_menhir.mly"
+# 888 "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 )
-# 14317 "parser_cocci_menhir.ml"
+# 16425 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14328,9 +16436,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_fninfo_nt = 
-# 828 "parser_cocci_menhir.mly"
+# 894 "parser_cocci_menhir.mly"
                 ( [] )
-# 14334 "parser_cocci_menhir.ml"
+# 16442 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14358,13 +16466,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fninfo_nt = 
-# 830 "parser_cocci_menhir.mly"
+# 896 "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 )
-# 14368 "parser_cocci_menhir.ml"
+# 16476 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14389,19 +16497,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _2 : 'tv_fninfo_nt = Obj.magic _2 in
         let _1 : (
-# 55 "parser_cocci_menhir.mly"
+# 56 "parser_cocci_menhir.mly"
       (Data.clt)
-# 14395 "parser_cocci_menhir.ml"
+# 16503 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fninfo_nt = 
-# 836 "parser_cocci_menhir.mly"
+# 902 "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 )
-# 14405 "parser_cocci_menhir.ml"
+# 16513 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14426,19 +16534,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _2 : 'tv_fninfo_nt = Obj.magic _2 in
         let _1 : (
-# 57 "parser_cocci_menhir.mly"
+# 58 "parser_cocci_menhir.mly"
       (string * Data.clt)
-# 14432 "parser_cocci_menhir.ml"
+# 16540 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fninfo_nt = 
-# 841 "parser_cocci_menhir.mly"
+# 907 "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 )
-# 14442 "parser_cocci_menhir.ml"
+# 16550 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14453,9 +16561,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_fun_after_dots = 
-# 1877 "parser_cocci_menhir.mly"
+# 2015 "parser_cocci_menhir.mly"
                                ([])
-# 14459 "parser_cocci_menhir.ml"
+# 16567 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14481,9 +16589,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_dots = 
-# 1878 "parser_cocci_menhir.mly"
+# 2016 "parser_cocci_menhir.mly"
                                (_2)
-# 14487 "parser_cocci_menhir.ml"
+# 16595 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14511,9 +16619,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_dots = 
-# 1879 "parser_cocci_menhir.mly"
+# 2017 "parser_cocci_menhir.mly"
                                (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 14517 "parser_cocci_menhir.ml"
+# 16625 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14541,9 +16649,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_dots = 
-# 1880 "parser_cocci_menhir.mly"
+# 2018 "parser_cocci_menhir.mly"
                                     (_1@_2)
-# 14547 "parser_cocci_menhir.ml"
+# 16655 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14558,9 +16666,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_fun_after_dots_or = 
-# 1887 "parser_cocci_menhir.mly"
+# 2025 "parser_cocci_menhir.mly"
                                ([])
-# 14564 "parser_cocci_menhir.ml"
+# 16672 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14586,9 +16694,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_dots_or = 
-# 1888 "parser_cocci_menhir.mly"
+# 2026 "parser_cocci_menhir.mly"
                                (_2)
-# 14592 "parser_cocci_menhir.ml"
+# 16700 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14616,9 +16724,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_dots_or = 
-# 1889 "parser_cocci_menhir.mly"
+# 2027 "parser_cocci_menhir.mly"
                                (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 14622 "parser_cocci_menhir.ml"
+# 16730 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14646,9 +16754,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_dots_or = 
-# 1890 "parser_cocci_menhir.mly"
+# 2028 "parser_cocci_menhir.mly"
                                     (_1@_2)
-# 14652 "parser_cocci_menhir.ml"
+# 16760 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14676,9 +16784,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_exp = 
-# 1883 "parser_cocci_menhir.mly"
+# 2021 "parser_cocci_menhir.mly"
                                (_1::_2)
-# 14682 "parser_cocci_menhir.ml"
+# 16790 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14693,9 +16801,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_fun_after_exp_or = 
-# 1893 "parser_cocci_menhir.mly"
+# 2031 "parser_cocci_menhir.mly"
                                ([])
-# 14699 "parser_cocci_menhir.ml"
+# 16807 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14723,9 +16831,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_exp_or = 
-# 1894 "parser_cocci_menhir.mly"
+# 2032 "parser_cocci_menhir.mly"
                                (_1::_2)
-# 14729 "parser_cocci_menhir.ml"
+# 16837 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14740,9 +16848,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_fun_after_stm = 
-# 1872 "parser_cocci_menhir.mly"
+# 2010 "parser_cocci_menhir.mly"
                                ([])
-# 14746 "parser_cocci_menhir.ml"
+# 16854 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14770,9 +16878,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_stm = 
-# 1873 "parser_cocci_menhir.mly"
+# 2011 "parser_cocci_menhir.mly"
                                (_1::_2)
-# 14776 "parser_cocci_menhir.ml"
+# 16884 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14800,9 +16908,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_stm = 
-# 1874 "parser_cocci_menhir.mly"
+# 2012 "parser_cocci_menhir.mly"
                                (_1@_2)
-# 14806 "parser_cocci_menhir.ml"
+# 16914 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14824,9 +16932,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_fun_start = 
-# 1869 "parser_cocci_menhir.mly"
+# 2007 "parser_cocci_menhir.mly"
                  ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 14830 "parser_cocci_menhir.ml"
+# 16938 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14848,9 +16956,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_func_ident = 
-# 1666 "parser_cocci_menhir.mly"
+# 1773 "parser_cocci_menhir.mly"
          ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 14854 "parser_cocci_menhir.ml"
+# 16962 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14869,17 +16977,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 64 "parser_cocci_menhir.mly"
+# 65 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 14875 "parser_cocci_menhir.ml"
+# 16983 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_func_ident = 
-# 1668 "parser_cocci_menhir.mly"
+# 1775 "parser_cocci_menhir.mly"
          ( let (nm,constraints,pure,clt) = _1 in
         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 14883 "parser_cocci_menhir.ml"
+# 16991 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14898,17 +17006,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 64 "parser_cocci_menhir.mly"
+# 65 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 14904 "parser_cocci_menhir.ml"
+# 17012 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_func_ident = 
-# 1671 "parser_cocci_menhir.mly"
+# 1778 "parser_cocci_menhir.mly"
          ( let (nm,constraints,pure,clt) = _1 in
         Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 14912 "parser_cocci_menhir.ml"
+# 17020 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14927,18 +17035,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 64 "parser_cocci_menhir.mly"
+# 65 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 14933 "parser_cocci_menhir.ml"
+# 17041 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_func_ident = 
-# 1674 "parser_cocci_menhir.mly"
+# 1781 "parser_cocci_menhir.mly"
   ( let (nm,constraints,pure,clt) = _1 in
         Ast0.wrap
           (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 14942 "parser_cocci_menhir.ml"
+# 17050 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14996,33 +17104,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rb : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15002 "parser_cocci_menhir.ml"
+# 17110 "parser_cocci_menhir.ml"
         ) = Obj.magic rb in
         let b : 'tv_fun_start = Obj.magic b in
         let lb : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15008 "parser_cocci_menhir.ml"
+# 17116 "parser_cocci_menhir.ml"
         ) = Obj.magic lb in
         let rp : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15013 "parser_cocci_menhir.ml"
+# 17121 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let d : 'tv_decl_list_decl_ = Obj.magic d in
         let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15019 "parser_cocci_menhir.ml"
+# 17127 "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 = 
-# 799 "parser_cocci_menhir.mly"
+# 865 "parser_cocci_menhir.mly"
       ( P.verify_parameter_declarations (Ast0.undots d);
        Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
                               f, i,
@@ -15030,7 +17138,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                               P.clt2mcode ")" rp,
                               P.clt2mcode "{" lb, b,
                               P.clt2mcode "}" rb)) )
-# 15034 "parser_cocci_menhir.ml"
+# 17142 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15074,20 +17182,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pt : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15080 "parser_cocci_menhir.ml"
+# 17188 "parser_cocci_menhir.ml"
         ) = Obj.magic pt in
         let rp : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15085 "parser_cocci_menhir.ml"
+# 17193 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
         let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15091 "parser_cocci_menhir.ml"
+# 17199 "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
@@ -15097,11 +17205,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 15101 "parser_cocci_menhir.ml"
+# 17209 "parser_cocci_menhir.ml"
           
         in
         
-# 787 "parser_cocci_menhir.mly"
+# 853 "parser_cocci_menhir.mly"
       ( Ast0.wrap
          (Ast0.UnInit
             (s,
@@ -15109,7 +17217,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                (Ast0.FunctionType(Some t,
                                   P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
              id, P.clt2mcode ";" pt)) )
-# 15113 "parser_cocci_menhir.ml"
+# 17221 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15158,20 +17266,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pt : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15164 "parser_cocci_menhir.ml"
+# 17272 "parser_cocci_menhir.ml"
         ) = Obj.magic pt in
         let rp : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15169 "parser_cocci_menhir.ml"
+# 17277 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
         let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15175 "parser_cocci_menhir.ml"
+# 17283 "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
@@ -15183,11 +17291,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 15187 "parser_cocci_menhir.ml"
+# 17295 "parser_cocci_menhir.ml"
           
         in
         
-# 787 "parser_cocci_menhir.mly"
+# 853 "parser_cocci_menhir.mly"
       ( Ast0.wrap
          (Ast0.UnInit
             (s,
@@ -15195,7 +17303,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                (Ast0.FunctionType(Some t,
                                   P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
              id, P.clt2mcode ";" pt)) )
-# 15199 "parser_cocci_menhir.ml"
+# 17307 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15217,9 +17325,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_ident = 
-# 1679 "parser_cocci_menhir.mly"
+# 1786 "parser_cocci_menhir.mly"
          ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 15223 "parser_cocci_menhir.ml"
+# 17331 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15238,17 +17346,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 64 "parser_cocci_menhir.mly"
+# 65 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 15244 "parser_cocci_menhir.ml"
+# 17352 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_ident = 
-# 1681 "parser_cocci_menhir.mly"
+# 1788 "parser_cocci_menhir.mly"
          ( let (nm,constraints,pure,clt) = _1 in
          Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 15252 "parser_cocci_menhir.ml"
+# 17360 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15270,9 +17378,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_i_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_ident_or_const = 
-# 1639 "parser_cocci_menhir.mly"
+# 1746 "parser_cocci_menhir.mly"
                     ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
-# 15276 "parser_cocci_menhir.ml"
+# 17384 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15291,17 +17399,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 15297 "parser_cocci_menhir.ml"
+# 17405 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_ident_or_const = 
-# 1641 "parser_cocci_menhir.mly"
+# 1748 "parser_cocci_menhir.mly"
   ( let (x,clt) = _1 in
         Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 15305 "parser_cocci_menhir.ml"
+# 17413 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15320,16 +17428,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 83 "parser_cocci_menhir.mly"
+# 84 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 15326 "parser_cocci_menhir.ml"
+# 17434 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_incl = 
-# 261 "parser_cocci_menhir.mly"
+# 262 "parser_cocci_menhir.mly"
                       ( let (x,_) = _1 in Data.Include(x) )
-# 15333 "parser_cocci_menhir.ml"
+# 17441 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15352,16 +17460,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 15358 "parser_cocci_menhir.ml"
+# 17466 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_incl = 
-# 262 "parser_cocci_menhir.mly"
+# 263 "parser_cocci_menhir.mly"
                       ( Data.Iso(Common.Left(P.id2name _2)) )
-# 15365 "parser_cocci_menhir.ml"
+# 17473 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15384,16 +17492,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 82 "parser_cocci_menhir.mly"
+# 83 "parser_cocci_menhir.mly"
        (string)
-# 15390 "parser_cocci_menhir.ml"
+# 17498 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_incl = 
-# 263 "parser_cocci_menhir.mly"
+# 264 "parser_cocci_menhir.mly"
                       ( Data.Iso(Common.Right _2) )
-# 15397 "parser_cocci_menhir.ml"
+# 17505 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15419,14 +17527,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_incl = 
-# 265 "parser_cocci_menhir.mly"
+# 266 "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) )
-# 15430 "parser_cocci_menhir.ml"
+# 17540 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15452,13 +17562,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 151 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
       (Data.incl_iso list)
-# 15458 "parser_cocci_menhir.ml"
+# 17568 "parser_cocci_menhir.ml"
         ) = 
-# 257 "parser_cocci_menhir.mly"
+# 258 "parser_cocci_menhir.mly"
                        ( _1 )
-# 15462 "parser_cocci_menhir.ml"
+# 17572 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15484,13 +17594,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 151 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
       (Data.incl_iso list)
-# 15490 "parser_cocci_menhir.ml"
+# 17600 "parser_cocci_menhir.ml"
         ) = 
-# 258 "parser_cocci_menhir.mly"
+# 259 "parser_cocci_menhir.mly"
                        ( _1 )
-# 15494 "parser_cocci_menhir.ml"
+# 17604 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15509,14 +17619,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 83 "parser_cocci_menhir.mly"
+# 84 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 15515 "parser_cocci_menhir.ml"
+# 17625 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_includes = 
-# 675 "parser_cocci_menhir.mly"
+# 745 "parser_cocci_menhir.mly"
     ( Ast0.wrap
              (Ast0.Include(P.clt2mcode "#include"
                              (P.drop_pos (P.drop_aft (P.id2clt _1))),
@@ -15527,7 +17637,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                            P.clt2mcode
                              (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
                              (P.drop_bef clt))) )
-# 15531 "parser_cocci_menhir.ml"
+# 17641 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15546,14 +17656,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 83 "parser_cocci_menhir.mly"
+# 84 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 15552 "parser_cocci_menhir.ml"
+# 17662 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_includes = 
-# 686 "parser_cocci_menhir.mly"
+# 756 "parser_cocci_menhir.mly"
     ( Ast0.wrap
              (Ast0.Include(P.clt2mcode "#include"
                              (P.drop_pos (P.drop_aft (P.id2clt _1))),
@@ -15564,7 +17674,51 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                            P.clt2mcode
                              (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
                              (P.drop_bef clt))) )
-# 15568 "parser_cocci_menhir.ml"
+# 17678 "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__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 : (
+# 85 "parser_cocci_menhir.mly"
+       (Data.clt * token)
+# 17703 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_includes = 
+# 767 "parser_cocci_menhir.mly"
+    ( let (clt,ident) = _1 in
+      Ast0.wrap
+      (Ast0.Undef
+        (P.clt2mcode "#undef" 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")))) )
+# 17722 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15590,9 +17744,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_d_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_includes = 
-# 697 "parser_cocci_menhir.mly"
+# 781 "parser_cocci_menhir.mly"
     ( d (Ast0.wrap(Ast0.DOTS([]))) )
-# 15596 "parser_cocci_menhir.ml"
+# 17750 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15624,10 +17778,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_d_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_includes = 
-# 699 "parser_cocci_menhir.mly"
+# 783 "parser_cocci_menhir.mly"
     ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
       d (Ast0.wrap(Ast0.DOTS([ty]))) )
-# 15631 "parser_cocci_menhir.ml"
+# 17785 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15659,7 +17813,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_includes = 
-# 702 "parser_cocci_menhir.mly"
+# 786 "parser_cocci_menhir.mly"
     ( let body =
        match b with
          [e] ->
@@ -15669,7 +17823,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
            | _ -> b)
        | _ -> b in
       _1 (Ast0.wrap(Ast0.DOTS(body))) )
-# 15673 "parser_cocci_menhir.ml"
+# 17827 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15691,9 +17845,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_initialize = 
-# 1110 "parser_cocci_menhir.mly"
+# 1178 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 15697 "parser_cocci_menhir.ml"
+# 17851 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15714,70 +17868,35 @@ 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 _3 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15728 "parser_cocci_menhir.ml"
-        ) = Obj.magic _3 in
-        let _2 : 'tv_initialize_list = Obj.magic _2 in
-        let _1 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15734 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_initialize = 
-# 1112 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 15741 "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 = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let _2 : (
-# 104 "parser_cocci_menhir.mly"
+        let _3 : (
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15767 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
+# 17882 "parser_cocci_menhir.ml"
+        ) = Obj.magic _3 in
+        let _2 : 'tv_initialize_list = Obj.magic _2 in
         let _1 : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15772 "parser_cocci_menhir.ml"
+# 17888 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
+        let _endpos = _endpos__3_ in
         let _v : 'tv_initialize = 
-# 1114 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
-                        P.clt2mcode "}" _2)) )
-# 15781 "parser_cocci_menhir.ml"
+# 1180 "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)) )
+# 17900 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15796,17 +17915,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 68 "parser_cocci_menhir.mly"
+# 69 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 15802 "parser_cocci_menhir.ml"
+# 17921 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_initialize = 
-# 1118 "parser_cocci_menhir.mly"
+# 1187 "parser_cocci_menhir.mly"
       (let (nm,pure,clt) = _1 in
       Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
-# 15810 "parser_cocci_menhir.ml"
+# 17929 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15828,9 +17947,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_initialize2 = 
-# 1124 "parser_cocci_menhir.mly"
+# 1193 "parser_cocci_menhir.mly"
                             ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 15834 "parser_cocci_menhir.ml"
+# 17953 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15859,62 +17978,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15865 "parser_cocci_menhir.ml"
+# 17984 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_initialize_list = Obj.magic _2 in
         let _1 : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15871 "parser_cocci_menhir.ml"
+# 17990 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_initialize2 = 
-# 1126 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 15878 "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 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15904 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15909 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_initialize2 = 
-# 1128 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
-                      P.clt2mcode "}" _2)) )
-# 15918 "parser_cocci_menhir.ml"
+# 1195 "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)) )
+# 18002 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15944,17 +18028,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_initialize2 = Obj.magic _3 in
         let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15950 "parser_cocci_menhir.ml"
+# 18034 "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 = 
-# 1133 "parser_cocci_menhir.mly"
+# 1203 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
-# 15958 "parser_cocci_menhir.ml"
+# 18042 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15984,17 +18068,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_initialize2 = Obj.magic _3 in
         let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15990 "parser_cocci_menhir.ml"
+# 18074 "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 = 
-# 1135 "parser_cocci_menhir.mly"
+# 1205 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
-# 15998 "parser_cocci_menhir.ml"
+# 18082 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16012,146 +18096,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_initialize_list_start = 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__1_ in
         let _v : 'tv_initialize_list = 
-# 1147 "parser_cocci_menhir.mly"
-                         ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 16022 "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 : (
-# 110 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 16048 "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 = 
-# 1150 "parser_cocci_menhir.mly"
-                     ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] )
-# 16056 "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_initialize_list_start = Obj.magic _3 in
-        let _2 : (
-# 110 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 16088 "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 = 
-# 1152 "parser_cocci_menhir.mly"
-    ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 )
-# 16096 "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_initialize_list_start = Obj.magic _2 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_initialize_list_start = 
-# 1154 "parser_cocci_menhir.mly"
-    ( _2 )
-# 16124 "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_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 = 
-# 1157 "parser_cocci_menhir.mly"
-    ( (P.mkidots "..." d)::
-      (List.concat(List.map (function x -> x (P.mkidots "...")) r)) )
-# 16155 "parser_cocci_menhir.ml"
+# 1218 "parser_cocci_menhir.mly"
+     ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) )
+# 18106 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16171,9 +18122,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_invalid = 
-# 1252 "parser_cocci_menhir.mly"
+# 1298 "parser_cocci_menhir.mly"
            ( raise (Semantic_cocci.Semantic "not matchable") )
-# 16177 "parser_cocci_menhir.ml"
+# 18128 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16188,9 +18139,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_is_expression = 
-# 253 "parser_cocci_menhir.mly"
+# 254 "parser_cocci_menhir.mly"
               ( false )
-# 16194 "parser_cocci_menhir.ml"
+# 18145 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16210,9 +18161,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_is_expression = 
-# 254 "parser_cocci_menhir.mly"
+# 255 "parser_cocci_menhir.mly"
               ( true )
-# 16216 "parser_cocci_menhir.ml"
+# 18167 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16238,9 +18189,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_ctype_ = 
-# 2042 "parser_cocci_menhir.mly"
+# 2158 "parser_cocci_menhir.mly"
                 ( Common.Left t )
-# 16244 "parser_cocci_menhir.ml"
+# 18195 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16266,9 +18217,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_ctype_ = 
-# 2043 "parser_cocci_menhir.mly"
+# 2159 "parser_cocci_menhir.mly"
                      ( Common.Right t )
-# 16272 "parser_cocci_menhir.ml"
+# 18223 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16294,9 +18245,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_decl_var_ = 
-# 2042 "parser_cocci_menhir.mly"
+# 2158 "parser_cocci_menhir.mly"
                 ( Common.Left t )
-# 16300 "parser_cocci_menhir.ml"
+# 18251 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16322,9 +18273,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_decl_var_ = 
-# 2043 "parser_cocci_menhir.mly"
+# 2159 "parser_cocci_menhir.mly"
                      ( Common.Right t )
-# 16328 "parser_cocci_menhir.ml"
+# 18279 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16350,9 +18301,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_eexpr_ = 
-# 2042 "parser_cocci_menhir.mly"
+# 2158 "parser_cocci_menhir.mly"
                 ( Common.Left t )
-# 16356 "parser_cocci_menhir.ml"
+# 18307 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16378,9 +18329,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_eexpr_ = 
-# 2043 "parser_cocci_menhir.mly"
+# 2159 "parser_cocci_menhir.mly"
                      ( Common.Right t )
-# 16384 "parser_cocci_menhir.ml"
+# 18335 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16406,9 +18357,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_nest_start_ = 
-# 2042 "parser_cocci_menhir.mly"
+# 2158 "parser_cocci_menhir.mly"
                 ( Common.Left t )
-# 16412 "parser_cocci_menhir.ml"
+# 18363 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16434,9 +18385,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_nest_start_ = 
-# 2043 "parser_cocci_menhir.mly"
+# 2159 "parser_cocci_menhir.mly"
                      ( Common.Right t )
-# 16440 "parser_cocci_menhir.ml"
+# 18391 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16462,9 +18413,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_single_statement_ = 
-# 2042 "parser_cocci_menhir.mly"
+# 2158 "parser_cocci_menhir.mly"
                 ( Common.Left t )
-# 16468 "parser_cocci_menhir.ml"
+# 18419 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16490,9 +18441,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_single_statement_ = 
-# 2043 "parser_cocci_menhir.mly"
+# 2159 "parser_cocci_menhir.mly"
                      ( Common.Right t )
-# 16496 "parser_cocci_menhir.ml"
+# 18447 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16528,13 +18479,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 167 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16534 "parser_cocci_menhir.ml"
+# 18485 "parser_cocci_menhir.ml"
         ) = 
-# 2010 "parser_cocci_menhir.mly"
+# 2126 "parser_cocci_menhir.mly"
     ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
-# 16538 "parser_cocci_menhir.ml"
+# 18489 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16570,13 +18521,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 167 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16576 "parser_cocci_menhir.ml"
+# 18527 "parser_cocci_menhir.ml"
         ) = 
-# 2012 "parser_cocci_menhir.mly"
+# 2128 "parser_cocci_menhir.mly"
     ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
-# 16580 "parser_cocci_menhir.ml"
+# 18531 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16612,13 +18563,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 167 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16618 "parser_cocci_menhir.ml"
+# 18569 "parser_cocci_menhir.ml"
         ) = 
-# 2014 "parser_cocci_menhir.mly"
+# 2130 "parser_cocci_menhir.mly"
     ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
-# 16622 "parser_cocci_menhir.ml"
+# 18573 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16654,15 +18605,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 167 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16660 "parser_cocci_menhir.ml"
+# 18611 "parser_cocci_menhir.ml"
         ) = 
-# 2016 "parser_cocci_menhir.mly"
+# 2132 "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 )
-# 16666 "parser_cocci_menhir.ml"
+# 18617 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16698,13 +18649,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 167 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16704 "parser_cocci_menhir.ml"
+# 18655 "parser_cocci_menhir.ml"
         ) = 
-# 2020 "parser_cocci_menhir.mly"
+# 2136 "parser_cocci_menhir.mly"
     ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
-# 16708 "parser_cocci_menhir.ml"
+# 18659 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16740,13 +18691,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 167 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16746 "parser_cocci_menhir.ml"
+# 18697 "parser_cocci_menhir.ml"
         ) = 
-# 2022 "parser_cocci_menhir.mly"
+# 2138 "parser_cocci_menhir.mly"
     ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
-# 16750 "parser_cocci_menhir.ml"
+# 18701 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16782,13 +18733,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 167 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16788 "parser_cocci_menhir.ml"
+# 18739 "parser_cocci_menhir.ml"
         ) = 
-# 2024 "parser_cocci_menhir.mly"
+# 2140 "parser_cocci_menhir.mly"
     ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
-# 16792 "parser_cocci_menhir.ml"
+# 18743 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16824,11 +18775,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 167 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16830 "parser_cocci_menhir.ml"
+# 18781 "parser_cocci_menhir.ml"
         ) = 
-# 2026 "parser_cocci_menhir.mly"
+# 2142 "parser_cocci_menhir.mly"
     ( let check_one = function
        [x] -> x
       | _ ->
@@ -16843,7 +18794,363 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
          | Common.Right x -> Common.Right(check_one x))
        dl in
     let fn x = Ast0.DeclTag x in P.iso_adjust fn fn d1 dl )
-# 16847 "parser_cocci_menhir.ml"
+# 18798 "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_metadec = Obj.magic m in
+        let _startpos = _startpos_m_ in
+        let _endpos = _endpos_m_ in
+        let _v : (
+# 171 "parser_cocci_menhir.mly"
+      ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
+# 18822 "parser_cocci_menhir.ml"
+        ) = 
+# 188 "parser_cocci_menhir.mly"
+                         ( m "" )
+# 18826 "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__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 : (
+# 155 "parser_cocci_menhir.mly"
+      (Ast_cocci.rulename)
+# 18854 "parser_cocci_menhir.ml"
+        ) = 
+# 203 "parser_cocci_menhir.mly"
+                      ( P.make_iso_rule_name_result (P.id2name nm) )
+# 18858 "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 : (
+# 62 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 18879 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_iter_ident = 
+# 1800 "parser_cocci_menhir.mly"
+         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 18886 "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 : (
+# 66 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 18907 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_iter_ident = 
+# 1802 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 18915 "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_TMul_ = 
+# 114 "standard.mly"
+    ( [] )
+# 18932 "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.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 : (
+# 103 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 18959 "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 )
+# 18966 "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"
+    ( [] )
+# 18983 "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.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 _startpos = _startpos_x_ in
+        let _endpos = _endpos_xs_ in
+        let _v : 'tv_list_array_dec_ = 
+# 116 "standard.mly"
+    ( x :: xs )
+# 19013 "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"
+    ( [] )
+# 19030 "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.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_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 )
+# 19060 "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"
+    ( [] )
+# 19077 "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.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_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 )
+# 19107 "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_designator_ = 
+# 114 "standard.mly"
+    ( [] )
+# 19124 "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.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 )
+# 19154 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16854,24 +19161,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 = 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 : (
-# 170 "parser_cocci_menhir.mly"
-      ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 16871 "parser_cocci_menhir.ml"
-        ) = 
-# 187 "parser_cocci_menhir.mly"
-                         ( m "" )
-# 16875 "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"
+    ( [] )
+# 19171 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16883,27 +19179,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 = nm;
-            MenhirLib.EngineTypes.startp = _startpos_nm_;
-            MenhirLib.EngineTypes.endp = _endpos_nm_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             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 : (
-# 154 "parser_cocci_menhir.mly"
-      (Ast_cocci.rulename)
-# 16903 "parser_cocci_menhir.ml"
-        ) = 
-# 202 "parser_cocci_menhir.mly"
-                      ( P.make_iso_rule_name_result (P.id2name nm) )
-# 16907 "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 )
+# 19201 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16914,24 +19208,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 : (
-# 61 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 16928 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_iter_ident = 
-# 1693 "parser_cocci_menhir.mly"
-         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 16935 "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"
+    ( [] )
+# 19218 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16943,24 +19226,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 : (
-# 65 "parser_cocci_menhir.mly"
-       (Parse_aux.idinfo)
-# 16956 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_iter_ident = 
-# 1695 "parser_cocci_menhir.mly"
-         ( let (nm,constraints,pure,clt) = _1 in
-         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 16964 "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 )
+# 19248 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16974,10 +19258,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_ = 
+        let _v : 'tv_list_iso_decl_var__ = 
 # 114 "standard.mly"
     ( [] )
-# 16981 "parser_cocci_menhir.ml"
+# 19265 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17000,18 +19284,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let xs : 'tv_list_TMul_ = Obj.magic xs in
-        let x : (
-# 102 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 17008 "parser_cocci_menhir.ml"
-        ) = Obj.magic x 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_TMul_ = 
+        let _v : 'tv_list_iso_decl_var__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17015 "parser_cocci_menhir.ml"
+# 19295 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17025,10 +19305,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_ = 
+        let _v : 'tv_list_iso_eexpr__ = 
 # 114 "standard.mly"
     ( [] )
-# 17032 "parser_cocci_menhir.ml"
+# 19312 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17051,14 +19331,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_array_dec_ = 
+        let _v : 'tv_list_iso_eexpr__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17062 "parser_cocci_menhir.ml"
+# 19342 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17072,10 +19352,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_case_line_ = 
+        let _v : 'tv_list_iso_nest_start__ = 
 # 114 "standard.mly"
     ( [] )
-# 17079 "parser_cocci_menhir.ml"
+# 19359 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17098,14 +19378,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_case_line_ = 
+        let _v : 'tv_list_iso_nest_start__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17109 "parser_cocci_menhir.ml"
+# 19389 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17119,10 +19399,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_comma_decls_TEllipsis_decl__ = 
+        let _v : 'tv_list_iso_single_statement__ = 
 # 114 "standard.mly"
     ( [] )
-# 17126 "parser_cocci_menhir.ml"
+# 19406 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17145,14 +19425,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_comma_decls_TEllipsis_decl__ = 
+        let _v : 'tv_list_iso_single_statement__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17156 "parser_cocci_menhir.ml"
+# 19436 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17166,10 +19446,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_comma_decls_TEllipsis_name_opt_decl__ = 
+        let _v : 'tv_list_mzl_ctype__ = 
 # 114 "standard.mly"
     ( [] )
-# 17173 "parser_cocci_menhir.ml"
+# 19453 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17192,14 +19472,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_comma_decls_TEllipsis_name_opt_decl__ = 
+        let _v : 'tv_list_mzl_ctype__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17203 "parser_cocci_menhir.ml"
+# 19483 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17213,10 +19493,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_decl_var_ = 
+        let _v : 'tv_list_mzl_eexpr__ = 
 # 114 "standard.mly"
     ( [] )
-# 17220 "parser_cocci_menhir.ml"
+# 19500 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17239,14 +19519,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_decl_var_ = 
+        let _v : 'tv_list_mzl_eexpr__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17250 "parser_cocci_menhir.ml"
+# 19530 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17260,10 +19540,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_designator_ = 
+        let _v : 'tv_list_mzl_fun_after_dots_or__ = 
 # 114 "standard.mly"
     ( [] )
-# 17267 "parser_cocci_menhir.ml"
+# 19547 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17286,14 +19566,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_designator_ = 
+        let _v : 'tv_list_mzl_fun_after_dots_or__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17297 "parser_cocci_menhir.ml"
+# 19577 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17307,10 +19587,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_dp_comma_args_TEllipsis__ = 
+        let _v : 'tv_list_mzl_fun_start__ = 
 # 114 "standard.mly"
     ( [] )
-# 17314 "parser_cocci_menhir.ml"
+# 19594 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17333,14 +19613,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_dp_comma_args_TEllipsis__ = 
+        let _v : 'tv_list_mzl_fun_start__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17344 "parser_cocci_menhir.ml"
+# 19624 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17354,10 +19634,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_incl_ = 
+        let _v : 'tv_list_mzl_rule_elem_statement__ = 
 # 114 "standard.mly"
     ( [] )
-# 17361 "parser_cocci_menhir.ml"
+# 19641 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17380,14 +19660,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_incl_ = 
+        let _v : 'tv_list_mzl_rule_elem_statement__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17391 "parser_cocci_menhir.ml"
+# 19671 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17401,10 +19681,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_iso_ctype__ = 
+        let _v : 'tv_list_mzl_statement__ = 
 # 114 "standard.mly"
     ( [] )
-# 17408 "parser_cocci_menhir.ml"
+# 19688 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17427,14 +19707,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_iso_ctype__ = 
+        let _v : 'tv_list_mzl_statement__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17438 "parser_cocci_menhir.ml"
+# 19718 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17448,10 +19728,72 @@ 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_iso_decl_var__ = 
+        let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = 
+# 114 "standard.mly"
+    ( [] )
+# 19735 "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.semv = y0;
+            MenhirLib.EngineTypes.startp = _startpos_y0_;
+            MenhirLib.EngineTypes.endp = _endpos_y0_;
+            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 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) )
+# 19774 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 116 "standard.mly"
+    ( x :: xs )
+# 19780 "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_whenppdecs_ = 
 # 114 "standard.mly"
     ( [] )
-# 17455 "parser_cocci_menhir.ml"
+# 19797 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17474,14 +19816,312 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_iso_decl_var__ = 
+        let _v : 'tv_list_whenppdecs_ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17485 "parser_cocci_menhir.ml"
+# 19827 "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_pure_ident_or_meta_ident = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_list_len = 
+# 337 "parser_cocci_menhir.mly"
+                           ( Common.Left _1 )
+# 19851 "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 : (
+# 91 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 19872 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_list_len = 
+# 338 "parser_cocci_menhir.mly"
+       ( let (x,clt) = _1 in Common.Right (int_of_string x) )
+# 19879 "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_choose_iso_ = 
+# 57 "standard.mly"
+    ( [] )
+# 19896 "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_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 )
+# 19920 "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"
+    ( [] )
+# 19937 "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_disable = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_loption_disable_ = 
+# 59 "standard.mly"
+    ( x )
+# 19961 "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_filespec_ = 
+# 57 "standard.mly"
+    ( [] )
+# 19978 "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_filespec = Obj.magic x in
+        let _startpos = _startpos_x_ in
+        let _endpos = _endpos_x_ in
+        let _v : 'tv_loption_filespec_ = 
+# 59 "standard.mly"
+    ( x )
+# 20002 "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"
+    ( [] )
+# 20019 "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_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 )
+# 20043 "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_not_pos_ = 
+# 57 "standard.mly"
+    ( [] )
+# 20060 "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_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 )
+# 20084 "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_plus_start_ = 
+# 57 "standard.mly"
+    ( [] )
+# 20101 "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_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 )
+# 20125 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17492,13 +20132,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_list_iso_eexpr__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17502 "parser_cocci_menhir.ml"
+        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 = 
+# 518 "parser_cocci_menhir.mly"
+    ( [Ast0_cocci.ast0_type_to_type t] )
+# 20149 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17510,25 +20157,27 @@ 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__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_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 )
-# 17532 "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 = 
+# 520 "parser_cocci_menhir.mly"
+    ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] )
+# 20181 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17539,13 +20188,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_iso_nest_start__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17549 "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 = 
+# 522 "parser_cocci_menhir.mly"
+    ( List.map
+       (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
+       t )
+# 20221 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17557,25 +20229,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_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 )
-# 17579 "parser_cocci_menhir.ml"
+        let _3 : 'tv_pure_ident = Obj.magic _3 in
+        let _1 : (
+# 49 "parser_cocci_menhir.mly"
+      (string)
+# 20252 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_meta_ident = 
+# 1562 "parser_cocci_menhir.mly"
+                                   ( (Some _1,P.id2name _3) )
+# 20259 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17586,13 +20266,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_iso_single_statement__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17596 "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 : (
+# 49 "parser_cocci_menhir.mly"
+      (string)
+# 20290 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_meta_ident = 
+# 1563 "parser_cocci_menhir.mly"
+                                   ( (Some _1,_3) )
+# 20297 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17604,25 +20305,23 @@ 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 = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          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 )
-# 17626 "parser_cocci_menhir.ml"
+        let m : 'tv_metadec = Obj.magic m in
+        let _startpos = _startpos_m_ in
+        let _endpos = _endpos_m_ in
+        let _v : (
+# 163 "parser_cocci_menhir.mly"
+      ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
+# 20321 "parser_cocci_menhir.ml"
+        ) = 
+# 187 "parser_cocci_menhir.mly"
+                       ( m (!Ast0.rule_name) )
+# 20325 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17633,13 +20332,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"
-    ( [] )
-# 17643 "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 =
+          
+# 349 "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) )
+# 20372 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 278 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20378 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17651,25 +20386,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_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 )
-# 17673 "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 =
+          
+# 353 "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) )
+# 20430 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 278 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20436 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17680,13 +20443,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_mzl_eexpr__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17690 "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 =
+          
+# 358 "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) )
+# 20488 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 278 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20494 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17698,25 +20502,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_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 )
-# 17720 "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 =
+          
+# 363 "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) )
+# 20541 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 278 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20547 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17727,13 +20554,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_fun_after_dots_or__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17737 "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 =
+          
+# 367 "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) )
+# 20594 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 278 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20600 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17745,25 +20608,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_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 )
-# 17767 "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 =
+          
+# 371 "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) )
+# 20647 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 278 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20653 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17774,13 +20660,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_fun_start__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17784 "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 =
+          
+# 375 "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) )
+# 20700 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 278 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20706 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17792,25 +20714,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_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 )
-# 17814 "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 =
+          
+# 379 "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) )
+# 20753 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 278 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20759 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17821,13 +20766,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_mzl_rule_elem_statement__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17831 "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 =
+          
+# 383 "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) )
+# 20810 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 278 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20816 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17839,25 +20824,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_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 )
-# 17861 "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 =
+          
+# 387 "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")) )
+# 20864 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 278 "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;
@@ -17868,13 +20877,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_mzl_statement__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17878 "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 =
+          
+# 392 "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")) )
+# 20922 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 278 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20928 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17886,25 +20936,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_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 )
-# 17908 "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 =
+          
+# 397 "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")) )
+# 20980 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 278 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20986 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17915,13 +20993,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_pair_edots_when_TEllipsis_eexpr__dexpr__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17925 "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 =
+          
+# 342 "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) )
+# 21025 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 281 "parser_cocci_menhir.mly"
+    ( P.create_fresh_metadec kindfn ids )
+# 21031 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17933,40 +21039,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.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__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
+        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 =
           
-# 70 "standard.mly"
-    ( (x, y) )
-# 17964 "parser_cocci_menhir.ml"
+# 404 "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) )
+# 21091 "parser_cocci_menhir.ml"
           
         in
         
-# 116 "standard.mly"
-    ( x :: xs )
-# 17970 "parser_cocci_menhir.ml"
+# 287 "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) )
+# 21101 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17977,13 +21108,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_whenppdecs_ = 
-# 114 "standard.mly"
-    ( [] )
-# 17987 "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 =
+          
+# 423 "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) )
+# 21148 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 296 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21154 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17995,25 +21162,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_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 )
-# 18017 "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 =
+          
+# 427 "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) )
+# 21206 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 296 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21212 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18025,19 +21220,48 @@ 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__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 _1 : 'tv_pure_ident_or_meta_ident = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_list_len = 
-# 334 "parser_cocci_menhir.mly"
-                           ( Common.Left _1 )
-# 18041 "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 =
+          
+# 432 "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) )
+# 21259 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 296 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21265 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18049,23 +21273,48 @@ 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__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 _1 : (
-# 90 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 18062 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_list_len = 
-# 335 "parser_cocci_menhir.mly"
-       ( let (x,clt) = _1 in Common.Right (int_of_string x) )
-# 18069 "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 =
+          
+# 436 "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) )
+# 21312 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 296 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21318 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18076,13 +21325,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_loption_choose_iso_ = 
-# 57 "standard.mly"
-    ( [] )
-# 18086 "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 =
+          
+# 442 "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) )
+# 21365 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 301 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21371 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18094,19 +21379,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 = x;
-          MenhirLib.EngineTypes.startp = _startpos_x_;
-          MenhirLib.EngineTypes.endp = _endpos_x_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          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 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 )
-# 18110 "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 )
+# 21424 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 446 "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))) )
+# 21437 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 301 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21443 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18117,13 +21450,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_loption_disable_ = 
-# 57 "standard.mly"
-    ( [] )
-# 18127 "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 )
+# 21504 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 446 "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))) )
+# 21517 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 301 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21523 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18135,19 +21531,68 @@ 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.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 = 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 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 )
-# 18151 "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
+          
+# 455 "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))) )
+# 21590 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 301 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21596 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18158,13 +21603,57 @@ 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"
-    ( [] )
-# 18168 "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.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 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
+          
+# 465 "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) )
+# 21651 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 301 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21657 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18176,19 +21665,55 @@ 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.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 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 )
-# 18192 "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 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 )
+# 21703 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 470 "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) )
+# 21711 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 301 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21717 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18199,13 +21724,64 @@ 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"
-    ( [] )
-# 18209 "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.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 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 )
+# 21771 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 470 "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) )
+# 21779 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 301 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21785 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18217,19 +21793,48 @@ 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.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 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 )
-# 18233 "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 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 =
+          
+# 487 "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) )
+# 21832 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 306 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21838 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18240,13 +21845,73 @@ 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"
-    ( [] )
-# 18250 "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 = 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 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
+          
+# 491 "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)
+    )
+# 21909 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 306 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21915 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18258,19 +21923,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 = x;
-          MenhirLib.EngineTypes.startp = _startpos_x_;
-          MenhirLib.EngineTypes.endp = _endpos_x_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          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 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 )
-# 18274 "parser_cocci_menhir.ml"
+        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 = 
+# 312 "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 )
+# 21965 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18281,13 +21972,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_plus_start_ = 
-# 57 "standard.mly"
-    ( [] )
-# 18291 "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 = 
+# 322 "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 )
+# 22031 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18299,19 +22039,61 @@ 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.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 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 )
-# 18315 "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 = 
+# 330 "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 )
+# 22097 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18323,19 +22105,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 = 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 = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            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 = 
-# 499 "parser_cocci_menhir.mly"
-    ( [Ast0_cocci.ast0_type_to_type t] )
-# 18339 "parser_cocci_menhir.ml"
+        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_ = 
+# 2096 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22127 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18347,35 +22135,25 @@ 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 = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
           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 = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            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 = 
-# 501 "parser_cocci_menhir.mly"
-    ( List.map
-       (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
-       t )
-# 18379 "parser_cocci_menhir.ml"
+        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_ = 
+# 2096 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22157 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18387,33 +22165,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 = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
           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 = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _3 : 'tv_pure_ident = Obj.magic _3 in
-        let _1 : (
-# 49 "parser_cocci_menhir.mly"
-      (string)
-# 18410 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_meta_ident = 
-# 1462 "parser_cocci_menhir.mly"
-                                   ( (Some _1,P.id2name _3) )
-# 18417 "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_ = 
+# 2096 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22187 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18425,33 +22195,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 = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
           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 = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in
-        let _1 : (
-# 49 "parser_cocci_menhir.mly"
-      (string)
-# 18448 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_meta_ident = 
-# 1463 "parser_cocci_menhir.mly"
-                                   ( (Some _1,_3) )
-# 18455 "parser_cocci_menhir.ml"
+        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_ = 
+# 2096 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22217 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18463,23 +22225,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 = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
-          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 m : 'tv_metadec = Obj.magic m in
-        let _startpos = _startpos_m_ in
-        let _endpos = _endpos_m_ in
-        let _v : (
-# 162 "parser_cocci_menhir.mly"
-      ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 18479 "parser_cocci_menhir.ml"
-        ) = 
-# 186 "parser_cocci_menhir.mly"
-                       ( m (!Ast0.rule_name) )
-# 18483 "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_ = 
+# 2096 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22247 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18491,48 +22255,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 = 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 =
-          
-# 346 "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) )
-# 18530 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 275 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18536 "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_ = 
+# 2096 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22277 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18544,53 +22285,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 = 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 =
-          
-# 350 "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) )
-# 18588 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 275 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18594 "parser_cocci_menhir.ml"
+        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_ = 
+# 2096 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22307 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18602,53 +22315,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.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 = f;
+            MenhirLib.EngineTypes.startp = _startpos_f_;
+            MenhirLib.EngineTypes.endp = _endpos_f_;
+            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 =
-          
-# 355 "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) )
-# 18646 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 275 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18652 "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 = 
+# 713 "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 )
+# 22339 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18660,48 +22347,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 = 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 = f;
+            MenhirLib.EngineTypes.startp = _startpos_f_;
+            MenhirLib.EngineTypes.endp = _endpos_f_;
+            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 =
-          
-# 360 "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) )
-# 18699 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 275 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18705 "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 = 
+# 727 "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 )
+# 22371 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18713,48 +22379,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 =
-          
-# 364 "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) )
-# 18752 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 275 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18758 "parser_cocci_menhir.ml"
+        let _1 : 'tv_minus_exp_body = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 143 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 22399 "parser_cocci_menhir.ml"
+        ) = 
+# 183 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 22403 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18766,48 +22411,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 = 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__5_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 368 "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) )
-# 18805 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 275 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18811 "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 : (
+# 143 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 22431 "parser_cocci_menhir.ml"
+        ) = 
+# 183 "parser_cocci_menhir.mly"
+                                                                       ( m )
+# 22435 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18819,52 +22443,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 =
-          
-# 372 "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) )
-# 18862 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 275 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18868 "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 : (
+# 143 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 22463 "parser_cocci_menhir.ml"
+        ) = 
+# 184 "parser_cocci_menhir.mly"
+                         ( m )
+# 22467 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18876,49 +22475,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 =
-          
-# 376 "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")) )
-# 18916 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 275 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18922 "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 : (
+# 140 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 22495 "parser_cocci_menhir.ml"
+        ) = 
+# 179 "parser_cocci_menhir.mly"
+                           ( _1 )
+# 22499 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18930,53 +22507,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 =
-          
-# 381 "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")) )
-# 18974 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 275 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18980 "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 : (
+# 140 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 22527 "parser_cocci_menhir.ml"
+        ) = 
+# 179 "parser_cocci_menhir.mly"
+                                                           ( m )
+# 22531 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18988,53 +22539,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 =
-          
-# 386 "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")) )
-# 19032 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 275 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 19038 "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 : (
+# 140 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 22559 "parser_cocci_menhir.ml"
+        ) = 
+# 180 "parser_cocci_menhir.mly"
+                     ( m )
+# 22563 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19046,40 +22571,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 = 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 = _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_seed_ = Obj.magic ids in
+        let _1 : 'tv_fundecl = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ in
-        let _v : 'tv_metadec = let kindfn =
-          
-# 339 "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) )
-# 19077 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 278 "parser_cocci_menhir.mly"
-    ( P.create_fresh_metadec kindfn ids )
-# 19083 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_minus_start = 
+# 1921 "parser_cocci_menhir.mly"
+                         ( [Ast0.wrap(Ast0.DECL(_1))] )
+# 22587 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19091,62 +22595,43 @@ 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 _1 : 'tv_ctype = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_minus_start = 
+# 1922 "parser_cocci_menhir.mly"
+                         ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
+# 22611 "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 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 =
-          
-# 393 "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 ->
-        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) )
-# 19140 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 284 "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) )
-# 19150 "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 = 
+# 1923 "parser_cocci_menhir.mly"
+                    ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
+# 22635 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19158,48 +22643,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 =
-          
-# 409 "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) )
-# 19197 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 293 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19203 "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 = 
+# 1925 "parser_cocci_menhir.mly"
+    ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
+# 22659 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19211,53 +22667,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 =
-          
-# 413 "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) )
-# 19255 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 293 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19261 "parser_cocci_menhir.ml"
+        let b : 'tv_ctype = Obj.magic b in
+        let a : (
+# 81 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 22686 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_ctype_ = 
+# 2099 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 22693 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19269,48 +22701,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 =
-          
-# 418 "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) )
-# 19308 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 293 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19314 "parser_cocci_menhir.ml"
+        let b : 'tv_eexpr = Obj.magic b in
+        let a : (
+# 81 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 22720 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_eexpr_ = 
+# 2099 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 22727 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19322,48 +22735,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 =
-          
-# 422 "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) )
-# 19361 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 293 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19367 "parser_cocci_menhir.ml"
+        let b : 'tv_fun_after_dots_or = Obj.magic b in
+        let a : (
+# 81 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 22754 "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_ = 
+# 2099 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 22761 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19375,48 +22769,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_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 =
-          
-# 428 "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) )
-# 19414 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 298 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19420 "parser_cocci_menhir.ml"
+        let b : 'tv_fun_start = Obj.magic b in
+        let a : (
+# 81 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 22788 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_fun_start_ = 
+# 2099 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 22795 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19428,67 +22803,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.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 = 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_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 )
-# 19473 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 432 "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))) )
-# 19486 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 298 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19492 "parser_cocci_menhir.ml"
+        let b : 'tv_rule_elem_statement = Obj.magic b in
+        let a : (
+# 81 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 22822 "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_ = 
+# 2099 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 22829 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19500,75 +22837,29 @@ 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 = 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.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.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_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 )
-# 19553 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 432 "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))) )
-# 19566 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 298 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19572 "parser_cocci_menhir.ml"
+        let b : 'tv_statement = Obj.magic b in
+        let a : (
+# 81 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 22856 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_statement_ = 
+# 2099 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 22863 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19580,68 +22871,19 @@ 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.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_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
-          
-# 441 "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))) )
-# 19639 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 298 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19645 "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 = 
+# 934 "parser_cocci_menhir.mly"
+            ( _1 )
+# 22887 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19653,56 +22895,80 @@ 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 = 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.semv = m0;
-              MenhirLib.EngineTypes.startp = _startpos_m0_;
-              MenhirLib.EngineTypes.endp = _endpos_m0_;
+              MenhirLib.EngineTypes.semv = lp1;
+              MenhirLib.EngineTypes.startp = _startpos_lp1_;
+              MenhirLib.EngineTypes.endp = _endpos_lp1_;
               MenhirLib.EngineTypes.next = {
-                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 = ispure;
-                  MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                  MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                  MenhirLib.EngineTypes.semv = s;
+                  MenhirLib.EngineTypes.startp = _startpos_s_;
+                  MenhirLib.EngineTypes.endp = _endpos_s_;
                   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 = 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_or_sub__ = 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
-          
-# 451 "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) )
-# 19700 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 298 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19706 "parser_cocci_menhir.ml"
+        let rp1 : (
+# 81 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 22938 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp1 in
+        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+        let lp1 : (
+# 80 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 22944 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp1 in
+        let rp : (
+# 81 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 22949 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let s : (
+# 103 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 22954 "parser_cocci_menhir.ml"
+        ) = Obj.magic s in
+        let lp : (
+# 80 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 22959 "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 = 
+# 937 "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)) )
+# 22972 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19714,60 +22980,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.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_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__7_ in
-        let _v : 'tv_metadec = let kindfn =
-          let vl = vl0 in
-          
-# 456 "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) )
-# 19765 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 298 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19771 "parser_cocci_menhir.ml"
+        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 = 
+# 2041 "parser_cocci_menhir.mly"
+                                     (_1@_2)
+# 23002 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19779,55 +23010,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.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.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_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 )
-# 19817 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 461 "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) )
-# 19825 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 298 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19831 "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 = 
+# 2042 "parser_cocci_menhir.mly"
+                                (_2)
+# 23030 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19839,63 +23038,42 @@ 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_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 )
-# 19885 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 461 "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) )
-# 19893 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 298 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19899 "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 = 
+# 2043 "parser_cocci_menhir.mly"
+                                ((Ast0.wrap(Ast0.Exp(_1)))::_2)
+# 23060 "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_exp = 
+# 2051 "parser_cocci_menhir.mly"
+                                ([])
+# 23077 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19907,48 +23085,42 @@ 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_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 =
-          
-# 467 "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) )
-# 19946 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 303 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19952 "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 = 
+# 2052 "parser_cocci_menhir.mly"
+                                (_1::_2)
+# 23107 "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 = 
+# 2046 "parser_cocci_menhir.mly"
+                                ([])
+# 23124 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19960,72 +23132,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.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_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
-          
-# 471 "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)
-    )
-# 20023 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 303 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 20029 "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 = 
+# 2047 "parser_cocci_menhir.mly"
+                                (_1::_2)
+# 23154 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20037,45 +23162,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.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 = 
-# 309 "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 )
-# 20079 "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 = 
+# 2048 "parser_cocci_menhir.mly"
+                                (_1@_2)
+# 23184 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20087,61 +23192,41 @@ 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.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__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;
-                          };
-                        };
-                      };
-                    };
-                  };
-                };
+              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 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 = 
-# 319 "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 )
-# 20145 "parser_cocci_menhir.ml"
+        let c : (
+# 77 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23215 "parser_cocci_menhir.ml"
+        ) = Obj.magic c in
+        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
+        let _1 : (
+# 77 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23221 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_c_ in
+        let _v : 'tv_nest_expressions = 
+# 1307 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
+                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+                             P.clt2mcode "...>" c, None, false)) )
+# 23230 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20153,61 +23238,41 @@ 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.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__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;
-                          };
-                        };
-                      };
-                    };
-                  };
-                };
+              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 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 = 
-# 327 "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 )
-# 20211 "parser_cocci_menhir.ml"
+        let c : (
+# 77 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23261 "parser_cocci_menhir.ml"
+        ) = Obj.magic c in
+        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
+        let _1 : (
+# 77 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23267 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_c_ in
+        let _v : 'tv_nest_expressions = 
+# 1311 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
+                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+                             P.clt2mcode "...+>" c, None, true)) )
+# 23276 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20219,25 +23284,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_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_ = 
-# 1980 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20241 "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 = 
+# 2038 "parser_cocci_menhir.mly"
+                   ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 23300 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20249,25 +23308,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_ = 
-# 1980 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20271 "parser_cocci_menhir.ml"
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : (
+# 174 "parser_cocci_menhir.mly"
+      (unit)
+# 23322 "parser_cocci_menhir.ml"
+        ) = 
+# 2166 "parser_cocci_menhir.mly"
+                    ( () )
+# 23326 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20279,25 +23334,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_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_ = 
-# 1980 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20301 "parser_cocci_menhir.ml"
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 174 "parser_cocci_menhir.mly"
+      (unit)
+# 23352 "parser_cocci_menhir.ml"
+        ) = 
+# 2167 "parser_cocci_menhir.mly"
+                    ( () )
+# 23356 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20309,25 +23364,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_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_ = 
-# 1980 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20331 "parser_cocci_menhir.ml"
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : (
+# 174 "parser_cocci_menhir.mly"
+      (unit)
+# 23378 "parser_cocci_menhir.ml"
+        ) = 
+# 2168 "parser_cocci_menhir.mly"
+                    ( () )
+# 23382 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20339,25 +23390,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_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_ = 
-# 1980 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20361 "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__ = 
+# 1529 "parser_cocci_menhir.mly"
+  ( function dot_builder ->
+      g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
+# 23413 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20369,25 +23421,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_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_ = 
-# 1980 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20391 "parser_cocci_menhir.ml"
+        let x : (
+# 103 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23434 "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 ] )
+# 23441 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20399,25 +23449,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_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_ = 
-# 1980 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20421 "parser_cocci_menhir.ml"
+        let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
+        let x : (
+# 103 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23468 "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 )
+# 23475 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20429,27 +23483,54 @@ 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.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_nonempty_list_start_aexpr_TEllipsis_ = 
+# 1848 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 23499 "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 = f;
-            MenhirLib.EngineTypes.startp = _startpos_f_;
-            MenhirLib.EngineTypes.endp = _endpos_f_;
+            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 = 
-# 643 "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 )
-# 20453 "parser_cocci_menhir.ml"
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23525 "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_ = 
+# 1850 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 23534 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20461,27 +23542,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_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 = 
-# 657 "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 )
-# 20485 "parser_cocci_menhir.ml"
+        let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23566 "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_ = 
+# 1853 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 23576 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20493,27 +23584,51 @@ 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 _1 : 'tv_minus_exp_body = Obj.magic _1 in
+        let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : (
-# 142 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20513 "parser_cocci_menhir.ml"
-        ) = 
-# 182 "parser_cocci_menhir.mly"
-                                   ( _1 )
-# 20517 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
+# 1856 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 23604 "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 : (
+# 77 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23625 "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_ = 
+# 1857 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 23632 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20525,27 +23640,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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23658 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 77 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23663 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
         let _endpos = _endpos__2_ in
-        let _v : (
-# 142 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20545 "parser_cocci_menhir.ml"
-        ) = 
-# 182 "parser_cocci_menhir.mly"
-                                                                       ( m )
-# 20549 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
+# 1859 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 23671 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20557,27 +23679,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 : (
-# 142 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20577 "parser_cocci_menhir.ml"
-        ) = 
-# 183 "parser_cocci_menhir.mly"
-                         ( m )
-# 20581 "parser_cocci_menhir.ml"
+        let r : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic r in
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23703 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 77 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23708 "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_ = 
+# 1862 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 23718 "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_ = 
+# 1848 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 23742 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20589,6 +23750,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 = {
@@ -20599,17 +23761,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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23768 "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 : (
-# 139 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20609 "parser_cocci_menhir.ml"
-        ) = 
-# 178 "parser_cocci_menhir.mly"
-                           ( _1 )
-# 20613 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
+# 1850 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 23777 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20621,27 +23785,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.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 = _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 m : 'tv_minus_body = Obj.magic m in
-        let _startpos = _startpos_m_ in
-        let _endpos = _endpos__2_ in
-        let _v : (
-# 139 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20641 "parser_cocci_menhir.ml"
-        ) = 
-# 178 "parser_cocci_menhir.mly"
-                                                           ( m )
-# 20645 "parser_cocci_menhir.ml"
+        let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23809 "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_ = 
+# 1853 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 23819 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20653,27 +23827,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 : (
-# 139 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20673 "parser_cocci_menhir.ml"
-        ) = 
-# 179 "parser_cocci_menhir.mly"
-                     ( m )
-# 20677 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
+# 1856 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 23847 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20686,18 +23856,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 = 
-# 1788 "parser_cocci_menhir.mly"
-                         ( [Ast0.wrap(Ast0.DECL(_1))] )
-# 20701 "parser_cocci_menhir.ml"
+        let d : (
+# 77 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23868 "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_ = 
+# 1857 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 23875 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20709,19 +23883,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 = 
-# 1789 "parser_cocci_menhir.mly"
-                         ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 20725 "parser_cocci_menhir.ml"
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23901 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 77 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23906 "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_ = 
+# 1859 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 23914 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20733,19 +23922,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 = 
-# 1790 "parser_cocci_menhir.mly"
-                    ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 20749 "parser_cocci_menhir.ml"
+        let r : 'tv_continue_list_dparam_TEllipsis_ = Obj.magic r in
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23946 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 77 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23951 "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_ = 
+# 1862 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 23961 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20763,13 +23975,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 = 
-# 1792 "parser_cocci_menhir.mly"
-    ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
-# 20773 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
+# 1848 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 23985 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20781,29 +23993,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 : (
-# 80 "parser_cocci_menhir.mly"
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 20800 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_ctype_ = 
-# 1983 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20807 "parser_cocci_menhir.ml"
+# 24011 "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__ = 
+# 1850 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24020 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20815,29 +24028,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 : (
-# 80 "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 : (
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 20834 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_eexpr_ = 
-# 1983 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20841 "parser_cocci_menhir.ml"
+# 24052 "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__ = 
+# 1853 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 24062 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20849,29 +24070,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 : (
-# 80 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20868 "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_ = 
-# 1983 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20875 "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__ = 
+# 1856 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 24090 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20883,29 +24098,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 : (
-# 80 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20902 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_fun_start_ = 
-# 1983 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20909 "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__ = 
+# 1857 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24114 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20917,29 +24122,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 : (
-# 80 "parser_cocci_menhir.mly"
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 20936 "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_ = 
-# 1983 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20943 "parser_cocci_menhir.ml"
+# 24140 "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__ = 
+# 1859 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24149 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20951,29 +24157,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 : (
-# 80 "parser_cocci_menhir.mly"
+        let r : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic r in
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 20970 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_statement_ = 
-# 1983 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20977 "parser_cocci_menhir.ml"
+# 24181 "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__ = 
+# 1862 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 24192 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20991,98 +24206,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 = 
-# 868 "parser_cocci_menhir.mly"
-            ( _1 )
-# 21001 "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 : (
-# 80 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 21052 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp1 in
-        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
-        let lp1 : (
-# 79 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 21058 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp1 in
-        let rp : (
-# 80 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 21063 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let s : (
-# 102 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 21068 "parser_cocci_menhir.ml"
-        ) = Obj.magic s in
-        let lp : (
-# 79 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 21073 "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 = 
-# 871 "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)) )
-# 21086 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1848 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 24216 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21105,14 +24235,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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24242 "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 = 
-# 1903 "parser_cocci_menhir.mly"
-                                     (_1@_2)
-# 21116 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1850 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24251 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21124,23 +24259,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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24283 "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 = 
-# 1904 "parser_cocci_menhir.mly"
-                                (_2)
-# 21144 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1853 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 24293 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21157,20 +24306,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 = 
-# 1905 "parser_cocci_menhir.mly"
-                                ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 21174 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1856 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 24321 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21181,13 +24328,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 = 
-# 1913 "parser_cocci_menhir.mly"
-                                ([])
-# 21191 "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__ = 
+# 1857 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24345 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21204,20 +24358,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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24371 "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 = 
-# 1914 "parser_cocci_menhir.mly"
-                                (_1::_2)
-# 21221 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1859 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24380 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21228,13 +24387,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 = 
-# 1908 "parser_cocci_menhir.mly"
-                                ([])
-# 21238 "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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24412 "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__ = 
+# 1862 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 24423 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21246,25 +24431,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 = 
-# 1909 "parser_cocci_menhir.mly"
-                                (_1::_2)
-# 21268 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1848 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 24447 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21287,14 +24466,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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24473 "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 = 
-# 1910 "parser_cocci_menhir.mly"
-                                (_1@_2)
-# 21298 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1850 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24482 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21306,13 +24490,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;
@@ -21322,25 +24506,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let c : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 21329 "parser_cocci_menhir.ml"
-        ) = Obj.magic c in
-        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
-        let _1 : (
-# 76 "parser_cocci_menhir.mly"
+        let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21335 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+# 24514 "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 = 
-# 1261 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
-                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
-                             P.clt2mcode "...>" c, None, false)) )
-# 21344 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1853 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 24524 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21352,41 +24532,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 : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 21375 "parser_cocci_menhir.ml"
-        ) = Obj.magic c in
-        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
-        let _1 : (
-# 76 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 21381 "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 = 
-# 1265 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
-                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
-                             P.clt2mcode "...+>" c, None, true)) )
-# 21390 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1856 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 24552 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21399,18 +24561,108 @@ 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 = 
-# 1900 "parser_cocci_menhir.mly"
-                   ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 21414 "parser_cocci_menhir.ml"
+        let d : (
+# 77 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24573 "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_ = 
+# 1857 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24580 "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 = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24606 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 77 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24611 "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_ = 
+# 1859 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24619 "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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24651 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 77 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24656 "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_ = 
+# 1862 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 24666 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21423,20 +24675,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_one_dec_name_opt_decl_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : (
-# 173 "parser_cocci_menhir.mly"
-      (unit)
-# 21436 "parser_cocci_menhir.ml"
-        ) = 
-# 2050 "parser_cocci_menhir.mly"
-                    ( () )
-# 21440 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 1848 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 24690 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21448,25 +24698,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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24716 "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 : (
-# 173 "parser_cocci_menhir.mly"
-      (unit)
-# 21466 "parser_cocci_menhir.ml"
-        ) = 
-# 2051 "parser_cocci_menhir.mly"
-                    ( () )
-# 21470 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 1850 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24725 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21478,21 +24733,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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24757 "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 : (
-# 173 "parser_cocci_menhir.mly"
-      (unit)
-# 21492 "parser_cocci_menhir.ml"
-        ) = 
-# 2052 "parser_cocci_menhir.mly"
-                    ( () )
-# 21496 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 1853 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 24767 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21504,26 +24775,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__ = 
-# 1429 "parser_cocci_menhir.mly"
-  ( function dot_builder ->
-      g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
-# 21527 "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_ = 
+# 1856 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 24795 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21536,22 +24804,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 : (
-# 102 "parser_cocci_menhir.mly"
+        let d : (
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21548 "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 ] )
-# 21555 "parser_cocci_menhir.ml"
+# 24816 "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_ = 
+# 1857 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24823 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21563,29 +24831,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 : (
-# 102 "parser_cocci_menhir.mly"
+        let _2 : (
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21582 "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 )
-# 21589 "parser_cocci_menhir.ml"
+# 24849 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 77 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24854 "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_ = 
+# 1859 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24862 "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 : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24894 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 77 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24899 "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_ = 
+# 1862 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 24909 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21611,13 +24931,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_not_ceq = 
-# 1602 "parser_cocci_menhir.mly"
+# 1709 "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] )
-# 21621 "parser_cocci_menhir.ml"
+# 24941 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21651,13 +24971,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_not_ceq = 
-# 1608 "parser_cocci_menhir.mly"
+# 1715 "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 )
-# 21661 "parser_cocci_menhir.ml"
+# 24981 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21679,9 +24999,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_ceq_ in
         let _endpos = _endpos_ceq_ in
         let _v : 'tv_not_ceq_or_sub = 
-# 1578 "parser_cocci_menhir.mly"
+# 1685 "parser_cocci_menhir.mly"
                   (Ast0.NotExpCstrt ceq)
-# 21685 "parser_cocci_menhir.ml"
+# 25005 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21703,9 +25023,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_not_ceq_or_sub = 
-# 1579 "parser_cocci_menhir.mly"
+# 1686 "parser_cocci_menhir.mly"
                   (Ast0.SubExpCstrt s)
-# 21709 "parser_cocci_menhir.ml"
+# 25029 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21731,14 +25051,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_not_eqe = 
-# 1583 "parser_cocci_menhir.mly"
+# 1690 "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))))]
         )
-# 21742 "parser_cocci_menhir.ml"
+# 25062 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21772,7 +25092,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_not_eqe = 
-# 1590 "parser_cocci_menhir.mly"
+# 1697 "parser_cocci_menhir.mly"
   ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -21782,7 +25102,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
             l
         )
-# 21786 "parser_cocci_menhir.ml"
+# 25106 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21808,7 +25128,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_not_eqid = 
-# 1540 "parser_cocci_menhir.mly"
+# 1647 "parser_cocci_menhir.mly"
          ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -21822,7 +25142,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                   (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
               Ast.IdNegIdSet([],[i])
           | (None,i) -> Ast.IdNegIdSet([i],[])) )
-# 21826 "parser_cocci_menhir.ml"
+# 25146 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21856,7 +25176,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_not_eqid = 
-# 1554 "parser_cocci_menhir.mly"
+# 1661 "parser_cocci_menhir.mly"
   ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -21874,7 +25194,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               ([],[]) l in
           Ast.IdNegIdSet(str,meta)
         )
-# 21878 "parser_cocci_menhir.ml"
+# 25198 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21900,7 +25220,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_not_pos = 
-# 1646 "parser_cocci_menhir.mly"
+# 1753 "parser_cocci_menhir.mly"
          ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -21909,7 +25229,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             P.check_inherited_constraint i
               (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in
           [i] )
-# 21913 "parser_cocci_menhir.ml"
+# 25233 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21943,7 +25263,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_not_pos = 
-# 1655 "parser_cocci_menhir.mly"
+# 1762 "parser_cocci_menhir.mly"
   ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -21953,7 +25273,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               P.check_inherited_constraint i
                 (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)))
             l )
-# 21957 "parser_cocci_menhir.ml"
+# 25277 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21975,9 +25295,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_one_dec_decl_ = 
-# 1725 "parser_cocci_menhir.mly"
+# 1823 "parser_cocci_menhir.mly"
         ( _1 )
-# 21981 "parser_cocci_menhir.ml"
+# 25301 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21996,14 +25316,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 69 "parser_cocci_menhir.mly"
+# 70 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 22002 "parser_cocci_menhir.ml"
+# 25322 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_one_dec_decl_ = 
-# 1727 "parser_cocci_menhir.mly"
+# 1825 "parser_cocci_menhir.mly"
     ( let (nm,lenname,pure,clt) = _1 in
     let nm = P.clt2mcode nm clt in
       let lenname =
@@ -22012,7 +25332,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
        | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
        | Ast.CstLen n -> Ast0.CstListLen n in
     Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
-# 22016 "parser_cocci_menhir.ml"
+# 25336 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22034,9 +25354,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_ = 
-# 1725 "parser_cocci_menhir.mly"
+# 1823 "parser_cocci_menhir.mly"
         ( _1 )
-# 22040 "parser_cocci_menhir.ml"
+# 25360 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22055,14 +25375,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 69 "parser_cocci_menhir.mly"
+# 70 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 22061 "parser_cocci_menhir.ml"
+# 25381 "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_ = 
-# 1727 "parser_cocci_menhir.mly"
+# 1825 "parser_cocci_menhir.mly"
     ( let (nm,lenname,pure,clt) = _1 in
     let nm = P.clt2mcode nm clt in
       let lenname =
@@ -22071,7 +25391,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
        | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
        | Ast.CstLen n -> Ast0.CstListLen n in
     Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
-# 22075 "parser_cocci_menhir.ml"
+# 25395 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22095,17 +25415,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22101 "parser_cocci_menhir.ml"
+# 25421 "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 = 
-# 1046 "parser_cocci_menhir.mly"
+# 1113 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
-# 22109 "parser_cocci_menhir.ml"
+# 25429 "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 : (
+# 69 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 25450 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_one_decl_var = 
+# 1114 "parser_cocci_menhir.mly"
+              ( P.meta_decl _1 )
+# 25457 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22134,9 +25482,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22140 "parser_cocci_menhir.ml"
+# 25488 "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
@@ -22146,14 +25494,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22150 "parser_cocci_menhir.ml"
+# 25498 "parser_cocci_menhir.ml"
           
         in
         
-# 1048 "parser_cocci_menhir.mly"
+# 1116 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 22157 "parser_cocci_menhir.ml"
+# 25505 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22187,9 +25535,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22193 "parser_cocci_menhir.ml"
+# 25541 "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
@@ -22201,14 +25549,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22205 "parser_cocci_menhir.ml"
+# 25553 "parser_cocci_menhir.ml"
           
         in
         
-# 1048 "parser_cocci_menhir.mly"
+# 1116 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 22212 "parser_cocci_menhir.ml"
+# 25560 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22230,9 +25578,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_f_ in
         let _v : 'tv_one_decl_var = 
-# 1050 "parser_cocci_menhir.mly"
+# 1118 "parser_cocci_menhir.mly"
                ( f )
-# 22236 "parser_cocci_menhir.ml"
+# 25584 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22271,15 +25619,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22277 "parser_cocci_menhir.ml"
+# 25625 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22283 "parser_cocci_menhir.ml"
+# 25631 "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
@@ -22289,14 +25637,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22293 "parser_cocci_menhir.ml"
+# 25641 "parser_cocci_menhir.ml"
           
         in
         
-# 1052 "parser_cocci_menhir.mly"
+# 1120 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
-# 22300 "parser_cocci_menhir.ml"
+# 25648 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22340,15 +25688,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22346 "parser_cocci_menhir.ml"
+# 25694 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22352 "parser_cocci_menhir.ml"
+# 25700 "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
@@ -22360,14 +25708,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22364 "parser_cocci_menhir.ml"
+# 25712 "parser_cocci_menhir.ml"
           
         in
         
-# 1052 "parser_cocci_menhir.mly"
+# 1120 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
-# 22371 "parser_cocci_menhir.ml"
+# 25719 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22396,9 +25744,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22402 "parser_cocci_menhir.ml"
+# 25750 "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
@@ -22408,22 +25756,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22412 "parser_cocci_menhir.ml"
+# 25760 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22419 "parser_cocci_menhir.ml"
+# 25767 "parser_cocci_menhir.ml"
           
         in
         
-# 1057 "parser_cocci_menhir.mly"
+# 1125 "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)) )
-# 22427 "parser_cocci_menhir.ml"
+# 25775 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22457,9 +25805,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22463 "parser_cocci_menhir.ml"
+# 25811 "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
@@ -22471,22 +25819,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22475 "parser_cocci_menhir.ml"
+# 25823 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22482 "parser_cocci_menhir.ml"
+# 25830 "parser_cocci_menhir.ml"
           
         in
         
-# 1057 "parser_cocci_menhir.mly"
+# 1125 "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)) )
-# 22490 "parser_cocci_menhir.ml"
+# 25838 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22520,9 +25868,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22526 "parser_cocci_menhir.ml"
+# 25874 "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
@@ -22533,7 +25881,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22537 "parser_cocci_menhir.ml"
+# 25885 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22541,15 +25889,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22545 "parser_cocci_menhir.ml"
+# 25893 "parser_cocci_menhir.ml"
           
         in
         
-# 1057 "parser_cocci_menhir.mly"
+# 1125 "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)) )
-# 22553 "parser_cocci_menhir.ml"
+# 25901 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22588,9 +25936,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22594 "parser_cocci_menhir.ml"
+# 25942 "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
@@ -22603,7 +25951,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22607 "parser_cocci_menhir.ml"
+# 25955 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22611,15 +25959,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22615 "parser_cocci_menhir.ml"
+# 25963 "parser_cocci_menhir.ml"
           
         in
         
-# 1057 "parser_cocci_menhir.mly"
+# 1125 "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)) )
-# 22623 "parser_cocci_menhir.ml"
+# 25971 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22658,15 +26006,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22664 "parser_cocci_menhir.ml"
+# 26012 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22670 "parser_cocci_menhir.ml"
+# 26018 "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
@@ -22676,24 +26024,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22680 "parser_cocci_menhir.ml"
+# 26028 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22687 "parser_cocci_menhir.ml"
+# 26035 "parser_cocci_menhir.ml"
           
         in
         
-# 1062 "parser_cocci_menhir.mly"
+# 1130 "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)) )
-# 22697 "parser_cocci_menhir.ml"
+# 26045 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22737,15 +26085,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22743 "parser_cocci_menhir.ml"
+# 26091 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22749 "parser_cocci_menhir.ml"
+# 26097 "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
@@ -22757,24 +26105,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22761 "parser_cocci_menhir.ml"
+# 26109 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22768 "parser_cocci_menhir.ml"
+# 26116 "parser_cocci_menhir.ml"
           
         in
         
-# 1062 "parser_cocci_menhir.mly"
+# 1130 "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)) )
-# 22778 "parser_cocci_menhir.ml"
+# 26126 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22818,15 +26166,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22824 "parser_cocci_menhir.ml"
+# 26172 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22830 "parser_cocci_menhir.ml"
+# 26178 "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
@@ -22837,7 +26185,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22841 "parser_cocci_menhir.ml"
+# 26189 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22845,17 +26193,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22849 "parser_cocci_menhir.ml"
+# 26197 "parser_cocci_menhir.ml"
           
         in
         
-# 1062 "parser_cocci_menhir.mly"
+# 1130 "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)) )
-# 22859 "parser_cocci_menhir.ml"
+# 26207 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22904,15 +26252,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22910 "parser_cocci_menhir.ml"
+# 26258 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22916 "parser_cocci_menhir.ml"
+# 26264 "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
@@ -22925,7 +26273,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22929 "parser_cocci_menhir.ml"
+# 26277 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22933,17 +26281,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22937 "parser_cocci_menhir.ml"
+# 26285 "parser_cocci_menhir.ml"
           
         in
         
-# 1062 "parser_cocci_menhir.mly"
+# 1130 "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)) )
-# 22947 "parser_cocci_menhir.ml"
+# 26295 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23002,36 +26350,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23008 "parser_cocci_menhir.ml"
+# 26356 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23013 "parser_cocci_menhir.ml"
+# 26361 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23019 "parser_cocci_menhir.ml"
+# 26367 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23024 "parser_cocci_menhir.ml"
+# 26372 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 102 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23030 "parser_cocci_menhir.ml"
+# 26378 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23035 "parser_cocci_menhir.ml"
+# 26383 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -23040,11 +26388,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 23044 "parser_cocci_menhir.ml"
+# 26392 "parser_cocci_menhir.ml"
           
         in
         
-# 1072 "parser_cocci_menhir.mly"
+# 1140 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -23052,7 +26400,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)) )
-# 23056 "parser_cocci_menhir.ml"
+# 26404 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23116,36 +26464,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23122 "parser_cocci_menhir.ml"
+# 26470 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23127 "parser_cocci_menhir.ml"
+# 26475 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23133 "parser_cocci_menhir.ml"
+# 26481 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23138 "parser_cocci_menhir.ml"
+# 26486 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 102 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23144 "parser_cocci_menhir.ml"
+# 26492 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23149 "parser_cocci_menhir.ml"
+# 26497 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
@@ -23156,11 +26504,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 23160 "parser_cocci_menhir.ml"
+# 26508 "parser_cocci_menhir.ml"
           
         in
         
-# 1072 "parser_cocci_menhir.mly"
+# 1140 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -23168,7 +26516,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)) )
-# 23172 "parser_cocci_menhir.ml"
+# 26520 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23207,29 +26555,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _5 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23213 "parser_cocci_menhir.ml"
+# 26561 "parser_cocci_menhir.ml"
         ) = Obj.magic _5 in
         let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23218 "parser_cocci_menhir.ml"
+# 26566 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23224 "parser_cocci_menhir.ml"
+# 26572 "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 = 
-# 1080 "parser_cocci_menhir.mly"
+# 1148 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
                                  P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
-# 23233 "parser_cocci_menhir.ml"
+# 26581 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23298,42 +26646,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23304 "parser_cocci_menhir.ml"
+# 26652 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23310 "parser_cocci_menhir.ml"
+# 26658 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23315 "parser_cocci_menhir.ml"
+# 26663 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23321 "parser_cocci_menhir.ml"
+# 26669 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23326 "parser_cocci_menhir.ml"
+# 26674 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 102 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23332 "parser_cocci_menhir.ml"
+# 26680 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23337 "parser_cocci_menhir.ml"
+# 26685 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -23342,11 +26690,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 23346 "parser_cocci_menhir.ml"
+# 26694 "parser_cocci_menhir.ml"
           
         in
         
-# 1086 "parser_cocci_menhir.mly"
+# 1154 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -23354,7 +26702,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)))
-# 23358 "parser_cocci_menhir.ml"
+# 26706 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23428,42 +26776,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23434 "parser_cocci_menhir.ml"
+# 26782 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23440 "parser_cocci_menhir.ml"
+# 26788 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23445 "parser_cocci_menhir.ml"
+# 26793 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23451 "parser_cocci_menhir.ml"
+# 26799 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23456 "parser_cocci_menhir.ml"
+# 26804 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 102 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23462 "parser_cocci_menhir.ml"
+# 26810 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23467 "parser_cocci_menhir.ml"
+# 26815 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
@@ -23474,11 +26822,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 23478 "parser_cocci_menhir.ml"
+# 26826 "parser_cocci_menhir.ml"
           
         in
         
-# 1086 "parser_cocci_menhir.mly"
+# 1154 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -23486,7 +26834,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)))
-# 23490 "parser_cocci_menhir.ml"
+# 26838 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23503,7 +26851,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TLocal_ = 
 # 29 "standard.mly"
     ( None )
-# 23507 "parser_cocci_menhir.ml"
+# 26855 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23527,7 +26875,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TLocal_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23531 "parser_cocci_menhir.ml"
+# 26879 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23544,7 +26892,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TPosAny_ = 
 # 29 "standard.mly"
     ( None )
-# 23548 "parser_cocci_menhir.ml"
+# 26896 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23568,7 +26916,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TPosAny_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23572 "parser_cocci_menhir.ml"
+# 26920 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23585,7 +26933,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_eexpr_ = 
 # 29 "standard.mly"
     ( None )
-# 23589 "parser_cocci_menhir.ml"
+# 26937 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23609,7 +26957,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_eexpr_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23613 "parser_cocci_menhir.ml"
+# 26961 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23626,7 +26974,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_not_ceq_or_sub_ = 
 # 29 "standard.mly"
     ( None )
-# 23630 "parser_cocci_menhir.ml"
+# 26978 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23650,7 +26998,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_not_ceq_or_sub_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23654 "parser_cocci_menhir.ml"
+# 27002 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23667,7 +27015,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_re_or_not_eqe_or_sub_ = 
 # 29 "standard.mly"
     ( None )
-# 23671 "parser_cocci_menhir.ml"
+# 27019 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23691,7 +27039,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_re_or_not_eqe_or_sub_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23695 "parser_cocci_menhir.ml"
+# 27043 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23708,7 +27056,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_re_or_not_eqid_ = 
 # 29 "standard.mly"
     ( None )
-# 23712 "parser_cocci_menhir.ml"
+# 27060 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23732,7 +27080,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_re_or_not_eqid_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23736 "parser_cocci_menhir.ml"
+# 27084 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23747,9 +27095,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 = 
-# 1850 "parser_cocci_menhir.mly"
+# 1988 "parser_cocci_menhir.mly"
                                                                          ([])
-# 23753 "parser_cocci_menhir.ml"
+# 27101 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23775,9 +27123,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1851 "parser_cocci_menhir.mly"
+# 1989 "parser_cocci_menhir.mly"
                                                                          (_2)
-# 23781 "parser_cocci_menhir.ml"
+# 27129 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23805,9 +27153,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1853 "parser_cocci_menhir.mly"
+# 1991 "parser_cocci_menhir.mly"
                      ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 23811 "parser_cocci_menhir.ml"
+# 27159 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23835,9 +27183,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1854 "parser_cocci_menhir.mly"
+# 1992 "parser_cocci_menhir.mly"
                                              ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 23841 "parser_cocci_menhir.ml"
+# 27189 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23865,9 +27213,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1856 "parser_cocci_menhir.mly"
+# 1994 "parser_cocci_menhir.mly"
                 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 23871 "parser_cocci_menhir.ml"
+# 27219 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23882,9 +27230,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 = 
-# 1846 "parser_cocci_menhir.mly"
+# 1984 "parser_cocci_menhir.mly"
                                                                          ([])
-# 23888 "parser_cocci_menhir.ml"
+# 27236 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23912,9 +27260,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_exp = 
-# 1847 "parser_cocci_menhir.mly"
+# 1985 "parser_cocci_menhir.mly"
                                           ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 23918 "parser_cocci_menhir.ml"
+# 27266 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23929,9 +27277,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 = 
-# 1859 "parser_cocci_menhir.mly"
+# 1997 "parser_cocci_menhir.mly"
                                                                          ([])
-# 23935 "parser_cocci_menhir.ml"
+# 27283 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23959,9 +27307,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_stm = 
-# 1860 "parser_cocci_menhir.mly"
+# 1998 "parser_cocci_menhir.mly"
                                           ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 23965 "parser_cocci_menhir.ml"
+# 27313 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23989,9 +27337,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_stm = 
-# 1861 "parser_cocci_menhir.mly"
+# 1999 "parser_cocci_menhir.mly"
                                              ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 23995 "parser_cocci_menhir.ml"
+# 27343 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24019,9 +27367,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_stm = 
-# 1863 "parser_cocci_menhir.mly"
+# 2001 "parser_cocci_menhir.mly"
                 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 24025 "parser_cocci_menhir.ml"
+# 27373 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24049,9 +27397,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_b_ in
         let _v : 'tv_plus_body = 
-# 651 "parser_cocci_menhir.mly"
+# 721 "parser_cocci_menhir.mly"
     ( Top_level.top_level (f@b(*@ew*)) )
-# 24055 "parser_cocci_menhir.ml"
+# 27403 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24079,9 +27427,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_b_ in
         let _v : 'tv_plus_exp_body = 
-# 665 "parser_cocci_menhir.mly"
+# 735 "parser_cocci_menhir.mly"
     ( Top_level.top_level (f@[b](*@ew*)) )
-# 24085 "parser_cocci_menhir.ml"
+# 27433 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24107,13 +27455,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 148 "parser_cocci_menhir.mly"
+# 149 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 24113 "parser_cocci_menhir.ml"
+# 27461 "parser_cocci_menhir.ml"
         ) = 
-# 184 "parser_cocci_menhir.mly"
+# 185 "parser_cocci_menhir.mly"
                                  ( _1 )
-# 24117 "parser_cocci_menhir.ml"
+# 27465 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24139,13 +27487,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_p_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 148 "parser_cocci_menhir.mly"
+# 149 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 24145 "parser_cocci_menhir.ml"
+# 27493 "parser_cocci_menhir.ml"
         ) = 
-# 184 "parser_cocci_menhir.mly"
+# 185 "parser_cocci_menhir.mly"
                                                                     ( p )
-# 24149 "parser_cocci_menhir.ml"
+# 27497 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24171,13 +27519,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_p_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 148 "parser_cocci_menhir.mly"
+# 149 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 24177 "parser_cocci_menhir.ml"
+# 27525 "parser_cocci_menhir.ml"
         ) = 
-# 185 "parser_cocci_menhir.mly"
+# 186 "parser_cocci_menhir.mly"
                         ( p )
-# 24181 "parser_cocci_menhir.ml"
+# 27529 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24203,13 +27551,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 145 "parser_cocci_menhir.mly"
+# 146 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 24209 "parser_cocci_menhir.ml"
+# 27557 "parser_cocci_menhir.ml"
         ) = 
-# 180 "parser_cocci_menhir.mly"
+# 181 "parser_cocci_menhir.mly"
                          ( _1 )
-# 24213 "parser_cocci_menhir.ml"
+# 27561 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24235,13 +27583,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_p_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 145 "parser_cocci_menhir.mly"
+# 146 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 24241 "parser_cocci_menhir.ml"
+# 27589 "parser_cocci_menhir.ml"
         ) = 
-# 180 "parser_cocci_menhir.mly"
+# 181 "parser_cocci_menhir.mly"
                                                         ( p )
-# 24245 "parser_cocci_menhir.ml"
+# 27593 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24267,13 +27615,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_p_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 145 "parser_cocci_menhir.mly"
+# 146 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 24273 "parser_cocci_menhir.ml"
+# 27621 "parser_cocci_menhir.ml"
         ) = 
-# 181 "parser_cocci_menhir.mly"
+# 182 "parser_cocci_menhir.mly"
                     ( p )
-# 24277 "parser_cocci_menhir.ml"
+# 27625 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24295,9 +27643,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_plus_start = 
-# 1835 "parser_cocci_menhir.mly"
+# 1973 "parser_cocci_menhir.mly"
                           ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 24301 "parser_cocci_menhir.ml"
+# 27649 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24319,9 +27667,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_plus_start = 
-# 1836 "parser_cocci_menhir.mly"
+# 1974 "parser_cocci_menhir.mly"
                      ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 24325 "parser_cocci_menhir.ml"
+# 27673 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24349,9 +27697,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1838 "parser_cocci_menhir.mly"
+# 1976 "parser_cocci_menhir.mly"
                                           ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 24355 "parser_cocci_menhir.ml"
+# 27703 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24379,9 +27727,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1840 "parser_cocci_menhir.mly"
+# 1978 "parser_cocci_menhir.mly"
                      ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 24385 "parser_cocci_menhir.ml"
+# 27733 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24409,9 +27757,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1841 "parser_cocci_menhir.mly"
+# 1979 "parser_cocci_menhir.mly"
                                              ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 24415 "parser_cocci_menhir.ml"
+# 27763 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24439,9 +27787,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1843 "parser_cocci_menhir.mly"
+# 1981 "parser_cocci_menhir.mly"
                 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 24445 "parser_cocci_menhir.ml"
+# 27793 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24462,14 +27810,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _1 : (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 24466 "parser_cocci_menhir.ml"
+# 27814 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pnrule = 
-# 235 "parser_cocci_menhir.mly"
+# 236 "parser_cocci_menhir.mly"
                    ( Ast.Dep      _1 )
-# 24473 "parser_cocci_menhir.ml"
+# 27821 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24494,14 +27842,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _2 : (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 24498 "parser_cocci_menhir.ml"
+# 27846 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_pnrule = 
-# 236 "parser_cocci_menhir.mly"
+# 237 "parser_cocci_menhir.mly"
                    ( Ast.AntiDep  _2 )
-# 24505 "parser_cocci_menhir.ml"
+# 27853 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24526,14 +27874,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _2 : (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 24530 "parser_cocci_menhir.ml"
+# 27878 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_pnrule = 
-# 237 "parser_cocci_menhir.mly"
+# 238 "parser_cocci_menhir.mly"
                    ( Ast.EverDep  _2 )
-# 24537 "parser_cocci_menhir.ml"
+# 27885 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24558,14 +27906,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _2 : (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 24562 "parser_cocci_menhir.ml"
+# 27910 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_pnrule = 
-# 238 "parser_cocci_menhir.mly"
+# 239 "parser_cocci_menhir.mly"
                    ( Ast.NeverDep _2 )
-# 24569 "parser_cocci_menhir.ml"
+# 27917 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24595,9 +27943,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_pnrule = 
-# 239 "parser_cocci_menhir.mly"
+# 240 "parser_cocci_menhir.mly"
                    ( _2 )
-# 24601 "parser_cocci_menhir.ml"
+# 27949 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24619,9 +27967,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_ = 
-# 1362 "parser_cocci_menhir.mly"
+# 1462 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 24625 "parser_cocci_menhir.ml"
+# 27973 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24655,24 +28003,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 105 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24661 "parser_cocci_menhir.ml"
+# 28009 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 105 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24667 "parser_cocci_menhir.ml"
+# 28015 "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_ = 
-# 1364 "parser_cocci_menhir.mly"
+# 1464 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 24676 "parser_cocci_menhir.ml"
+# 28024 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24702,17 +28050,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_ident = Obj.magic _3 in
         let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24708 "parser_cocci_menhir.ml"
+# 28056 "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_ = 
-# 1367 "parser_cocci_menhir.mly"
+# 1467 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 24716 "parser_cocci_menhir.ml"
+# 28064 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24742,18 +28090,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_ident = Obj.magic _3 in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 108 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24748 "parser_cocci_menhir.ml"
+# 28096 "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_ = 
-# 1369 "parser_cocci_menhir.mly"
+# 1469 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 24757 "parser_cocci_menhir.ml"
+# 28105 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24777,17 +28125,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24783 "parser_cocci_menhir.ml"
+# 28131 "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_ = 
-# 1372 "parser_cocci_menhir.mly"
+# 1472 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 24791 "parser_cocci_menhir.ml"
+# 28139 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24811,17 +28159,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24817 "parser_cocci_menhir.ml"
+# 28165 "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_ = 
-# 1374 "parser_cocci_menhir.mly"
+# 1474 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 24825 "parser_cocci_menhir.ml"
+# 28173 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24855,25 +28203,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24861 "parser_cocci_menhir.ml"
+# 28209 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24867 "parser_cocci_menhir.ml"
+# 28215 "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_ = 
-# 1376 "parser_cocci_menhir.mly"
+# 1476 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 24877 "parser_cocci_menhir.ml"
+# 28225 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24895,9 +28243,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_postfix_expr_eexpr_invalid_ = 
-# 1362 "parser_cocci_menhir.mly"
+# 1462 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 24901 "parser_cocci_menhir.ml"
+# 28249 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24931,24 +28279,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 105 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24937 "parser_cocci_menhir.ml"
+# 28285 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 105 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24943 "parser_cocci_menhir.ml"
+# 28291 "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_ = 
-# 1364 "parser_cocci_menhir.mly"
+# 1464 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 24952 "parser_cocci_menhir.ml"
+# 28300 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24978,17 +28326,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_ident = Obj.magic _3 in
         let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24984 "parser_cocci_menhir.ml"
+# 28332 "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_ = 
-# 1367 "parser_cocci_menhir.mly"
+# 1467 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 24992 "parser_cocci_menhir.ml"
+# 28340 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25018,18 +28366,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_ident = Obj.magic _3 in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 108 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25024 "parser_cocci_menhir.ml"
+# 28372 "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_ = 
-# 1369 "parser_cocci_menhir.mly"
+# 1469 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 25033 "parser_cocci_menhir.ml"
+# 28381 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25053,17 +28401,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25059 "parser_cocci_menhir.ml"
+# 28407 "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_ = 
-# 1372 "parser_cocci_menhir.mly"
+# 1472 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 25067 "parser_cocci_menhir.ml"
+# 28415 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25087,17 +28435,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25093 "parser_cocci_menhir.ml"
+# 28441 "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_ = 
-# 1374 "parser_cocci_menhir.mly"
+# 1474 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 25101 "parser_cocci_menhir.ml"
+# 28449 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25131,25 +28479,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25137 "parser_cocci_menhir.ml"
+# 28485 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25143 "parser_cocci_menhir.ml"
+# 28491 "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_ = 
-# 1376 "parser_cocci_menhir.mly"
+# 1476 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 25153 "parser_cocci_menhir.ml"
+# 28501 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25171,9 +28519,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_ = 
-# 1362 "parser_cocci_menhir.mly"
+# 1462 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 25177 "parser_cocci_menhir.ml"
+# 28525 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25207,24 +28555,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 105 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25213 "parser_cocci_menhir.ml"
+# 28561 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 105 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25219 "parser_cocci_menhir.ml"
+# 28567 "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_ = 
-# 1364 "parser_cocci_menhir.mly"
+# 1464 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 25228 "parser_cocci_menhir.ml"
+# 28576 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25254,17 +28602,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_ident = Obj.magic _3 in
         let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25260 "parser_cocci_menhir.ml"
+# 28608 "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_ = 
-# 1367 "parser_cocci_menhir.mly"
+# 1467 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 25268 "parser_cocci_menhir.ml"
+# 28616 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25294,18 +28642,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_ident = Obj.magic _3 in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 108 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25300 "parser_cocci_menhir.ml"
+# 28648 "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_ = 
-# 1369 "parser_cocci_menhir.mly"
+# 1469 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 25309 "parser_cocci_menhir.ml"
+# 28657 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25329,17 +28677,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25335 "parser_cocci_menhir.ml"
+# 28683 "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_ = 
-# 1372 "parser_cocci_menhir.mly"
+# 1472 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 25343 "parser_cocci_menhir.ml"
+# 28691 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25363,17 +28711,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25369 "parser_cocci_menhir.ml"
+# 28717 "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_ = 
-# 1374 "parser_cocci_menhir.mly"
+# 1474 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 25377 "parser_cocci_menhir.ml"
+# 28725 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25407,25 +28755,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25413 "parser_cocci_menhir.ml"
+# 28761 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25419 "parser_cocci_menhir.ml"
+# 28767 "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_ = 
-# 1376 "parser_cocci_menhir.mly"
+# 1476 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 25429 "parser_cocci_menhir.ml"
+# 28777 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25447,9 +28795,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_postfix_expr_expr_invalid_ = 
-# 1362 "parser_cocci_menhir.mly"
+# 1462 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 25453 "parser_cocci_menhir.ml"
+# 28801 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25483,24 +28831,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 105 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25489 "parser_cocci_menhir.ml"
+# 28837 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 105 "parser_cocci_menhir.mly"
+# 106 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25495 "parser_cocci_menhir.ml"
+# 28843 "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_ = 
-# 1364 "parser_cocci_menhir.mly"
+# 1464 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 25504 "parser_cocci_menhir.ml"
+# 28852 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25530,17 +28878,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_ident = Obj.magic _3 in
         let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25536 "parser_cocci_menhir.ml"
+# 28884 "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_ = 
-# 1367 "parser_cocci_menhir.mly"
+# 1467 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 25544 "parser_cocci_menhir.ml"
+# 28892 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25570,18 +28918,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_ident = Obj.magic _3 in
         let _2 : (
-# 107 "parser_cocci_menhir.mly"
+# 108 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25576 "parser_cocci_menhir.ml"
+# 28924 "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_ = 
-# 1369 "parser_cocci_menhir.mly"
+# 1469 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 25585 "parser_cocci_menhir.ml"
+# 28933 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25605,17 +28953,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25611 "parser_cocci_menhir.ml"
+# 28959 "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_ = 
-# 1372 "parser_cocci_menhir.mly"
+# 1472 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 25619 "parser_cocci_menhir.ml"
+# 28967 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25639,17 +28987,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25645 "parser_cocci_menhir.ml"
+# 28993 "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_ = 
-# 1374 "parser_cocci_menhir.mly"
+# 1474 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 25653 "parser_cocci_menhir.ml"
+# 29001 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25683,25 +29031,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25689 "parser_cocci_menhir.ml"
+# 29037 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25695 "parser_cocci_menhir.ml"
+# 29043 "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_ = 
-# 1376 "parser_cocci_menhir.mly"
+# 1476 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 25705 "parser_cocci_menhir.ml"
+# 29053 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25723,9 +29071,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_ = 
-# 1381 "parser_cocci_menhir.mly"
+# 1481 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 25729 "parser_cocci_menhir.ml"
+# 29077 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25744,17 +29092,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25750 "parser_cocci_menhir.ml"
+# 29098 "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_ = 
-# 1383 "parser_cocci_menhir.mly"
+# 1483 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 25758 "parser_cocci_menhir.ml"
+# 29106 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25773,17 +29121,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25779 "parser_cocci_menhir.ml"
+# 29127 "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_ = 
-# 1386 "parser_cocci_menhir.mly"
+# 1486 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 25787 "parser_cocci_menhir.ml"
+# 29135 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25802,17 +29150,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25808 "parser_cocci_menhir.ml"
+# 29156 "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_ = 
-# 1389 "parser_cocci_menhir.mly"
+# 1489 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 25816 "parser_cocci_menhir.ml"
+# 29164 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25831,17 +29179,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25837 "parser_cocci_menhir.ml"
+# 29185 "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_ = 
-# 1392 "parser_cocci_menhir.mly"
+# 1492 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 25845 "parser_cocci_menhir.ml"
+# 29193 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25860,18 +29208,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25866 "parser_cocci_menhir.ml"
+# 29214 "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_ = 
-# 1395 "parser_cocci_menhir.mly"
+# 1495 "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)) )
-# 25875 "parser_cocci_menhir.ml"
+# 29223 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25890,17 +29238,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 66 "parser_cocci_menhir.mly"
+# 67 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 25896 "parser_cocci_menhir.ml"
+# 29244 "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_ = 
-# 1399 "parser_cocci_menhir.mly"
+# 1499 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 25904 "parser_cocci_menhir.ml"
+# 29252 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25919,18 +29267,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25925 "parser_cocci_menhir.ml"
+# 29273 "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_ = 
-# 1402 "parser_cocci_menhir.mly"
+# 1502 "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)) )
-# 25934 "parser_cocci_menhir.ml"
+# 29282 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25949,18 +29297,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25955 "parser_cocci_menhir.ml"
+# 29303 "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_ = 
-# 1406 "parser_cocci_menhir.mly"
+# 1506 "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)) )
-# 25964 "parser_cocci_menhir.ml"
+# 29312 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25979,18 +29327,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25985 "parser_cocci_menhir.ml"
+# 29333 "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_ = 
-# 1410 "parser_cocci_menhir.mly"
+# 1510 "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)) )
-# 25994 "parser_cocci_menhir.ml"
+# 29342 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26019,23 +29367,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26025 "parser_cocci_menhir.ml"
+# 29373 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26031 "parser_cocci_menhir.ml"
+# 29379 "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_ = 
-# 1414 "parser_cocci_menhir.mly"
+# 1514 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 26039 "parser_cocci_menhir.ml"
+# 29387 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26064,25 +29412,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26070 "parser_cocci_menhir.ml"
+# 29418 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26076 "parser_cocci_menhir.ml"
+# 29424 "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_ = 
-# 1417 "parser_cocci_menhir.mly"
+# 1517 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 26086 "parser_cocci_menhir.ml"
+# 29434 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26104,9 +29452,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_ = 
-# 1421 "parser_cocci_menhir.mly"
+# 1521 "parser_cocci_menhir.mly"
                  ( _1 )
-# 26110 "parser_cocci_menhir.ml"
+# 29458 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26128,9 +29476,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1381 "parser_cocci_menhir.mly"
+# 1481 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 26134 "parser_cocci_menhir.ml"
+# 29482 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26149,17 +29497,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26155 "parser_cocci_menhir.ml"
+# 29503 "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_ = 
-# 1383 "parser_cocci_menhir.mly"
+# 1483 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 26163 "parser_cocci_menhir.ml"
+# 29511 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26178,17 +29526,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26184 "parser_cocci_menhir.ml"
+# 29532 "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_ = 
-# 1386 "parser_cocci_menhir.mly"
+# 1486 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 26192 "parser_cocci_menhir.ml"
+# 29540 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26207,17 +29555,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26213 "parser_cocci_menhir.ml"
+# 29561 "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_ = 
-# 1389 "parser_cocci_menhir.mly"
+# 1489 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 26221 "parser_cocci_menhir.ml"
+# 29569 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26236,17 +29584,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26242 "parser_cocci_menhir.ml"
+# 29590 "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_ = 
-# 1392 "parser_cocci_menhir.mly"
+# 1492 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 26250 "parser_cocci_menhir.ml"
+# 29598 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26265,18 +29613,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26271 "parser_cocci_menhir.ml"
+# 29619 "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_ = 
-# 1395 "parser_cocci_menhir.mly"
+# 1495 "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)) )
-# 26280 "parser_cocci_menhir.ml"
+# 29628 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26295,17 +29643,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 66 "parser_cocci_menhir.mly"
+# 67 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 26301 "parser_cocci_menhir.ml"
+# 29649 "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_ = 
-# 1399 "parser_cocci_menhir.mly"
+# 1499 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 26309 "parser_cocci_menhir.ml"
+# 29657 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26324,18 +29672,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26330 "parser_cocci_menhir.ml"
+# 29678 "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_ = 
-# 1402 "parser_cocci_menhir.mly"
+# 1502 "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)) )
-# 26339 "parser_cocci_menhir.ml"
+# 29687 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26354,18 +29702,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26360 "parser_cocci_menhir.ml"
+# 29708 "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_ = 
-# 1406 "parser_cocci_menhir.mly"
+# 1506 "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)) )
-# 26369 "parser_cocci_menhir.ml"
+# 29717 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26384,18 +29732,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26390 "parser_cocci_menhir.ml"
+# 29738 "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_ = 
-# 1410 "parser_cocci_menhir.mly"
+# 1510 "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)) )
-# 26399 "parser_cocci_menhir.ml"
+# 29747 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26424,23 +29772,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26430 "parser_cocci_menhir.ml"
+# 29778 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26436 "parser_cocci_menhir.ml"
+# 29784 "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_ = 
-# 1414 "parser_cocci_menhir.mly"
+# 1514 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 26444 "parser_cocci_menhir.ml"
+# 29792 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26469,25 +29817,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26475 "parser_cocci_menhir.ml"
+# 29823 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26481 "parser_cocci_menhir.ml"
+# 29829 "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_ = 
-# 1417 "parser_cocci_menhir.mly"
+# 1517 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 26491 "parser_cocci_menhir.ml"
+# 29839 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26509,9 +29857,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1421 "parser_cocci_menhir.mly"
+# 1521 "parser_cocci_menhir.mly"
                  ( _1 )
-# 26515 "parser_cocci_menhir.ml"
+# 29863 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26533,9 +29881,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_ = 
-# 1381 "parser_cocci_menhir.mly"
+# 1481 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 26539 "parser_cocci_menhir.ml"
+# 29887 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26554,17 +29902,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26560 "parser_cocci_menhir.ml"
+# 29908 "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_ = 
-# 1383 "parser_cocci_menhir.mly"
+# 1483 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 26568 "parser_cocci_menhir.ml"
+# 29916 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26583,17 +29931,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26589 "parser_cocci_menhir.ml"
+# 29937 "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_ = 
-# 1386 "parser_cocci_menhir.mly"
+# 1486 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 26597 "parser_cocci_menhir.ml"
+# 29945 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26612,17 +29960,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26618 "parser_cocci_menhir.ml"
+# 29966 "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_ = 
-# 1389 "parser_cocci_menhir.mly"
+# 1489 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 26626 "parser_cocci_menhir.ml"
+# 29974 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26641,17 +29989,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26647 "parser_cocci_menhir.ml"
+# 29995 "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_ = 
-# 1392 "parser_cocci_menhir.mly"
+# 1492 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 26655 "parser_cocci_menhir.ml"
+# 30003 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26670,18 +30018,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26676 "parser_cocci_menhir.ml"
+# 30024 "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_ = 
-# 1395 "parser_cocci_menhir.mly"
+# 1495 "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)) )
-# 26685 "parser_cocci_menhir.ml"
+# 30033 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26700,17 +30048,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 66 "parser_cocci_menhir.mly"
+# 67 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 26706 "parser_cocci_menhir.ml"
+# 30054 "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_ = 
-# 1399 "parser_cocci_menhir.mly"
+# 1499 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 26714 "parser_cocci_menhir.ml"
+# 30062 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26729,18 +30077,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26735 "parser_cocci_menhir.ml"
+# 30083 "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_ = 
-# 1402 "parser_cocci_menhir.mly"
+# 1502 "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)) )
-# 26744 "parser_cocci_menhir.ml"
+# 30092 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26759,18 +30107,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26765 "parser_cocci_menhir.ml"
+# 30113 "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_ = 
-# 1406 "parser_cocci_menhir.mly"
+# 1506 "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)) )
-# 26774 "parser_cocci_menhir.ml"
+# 30122 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26789,18 +30137,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26795 "parser_cocci_menhir.ml"
+# 30143 "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_ = 
-# 1410 "parser_cocci_menhir.mly"
+# 1510 "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)) )
-# 26804 "parser_cocci_menhir.ml"
+# 30152 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26829,23 +30177,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26835 "parser_cocci_menhir.ml"
+# 30183 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26841 "parser_cocci_menhir.ml"
+# 30189 "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_ = 
-# 1414 "parser_cocci_menhir.mly"
+# 1514 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 26849 "parser_cocci_menhir.ml"
+# 30197 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26874,25 +30222,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26880 "parser_cocci_menhir.ml"
+# 30228 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26886 "parser_cocci_menhir.ml"
+# 30234 "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_ = 
-# 1417 "parser_cocci_menhir.mly"
+# 1517 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 26896 "parser_cocci_menhir.ml"
+# 30244 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26914,9 +30262,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_ = 
-# 1421 "parser_cocci_menhir.mly"
+# 1521 "parser_cocci_menhir.mly"
                  ( _1 )
-# 26920 "parser_cocci_menhir.ml"
+# 30268 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26938,9 +30286,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1381 "parser_cocci_menhir.mly"
+# 1481 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 26944 "parser_cocci_menhir.ml"
+# 30292 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26959,17 +30307,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26965 "parser_cocci_menhir.ml"
+# 30313 "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_ = 
-# 1383 "parser_cocci_menhir.mly"
+# 1483 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 26973 "parser_cocci_menhir.ml"
+# 30321 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26988,17 +30336,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26994 "parser_cocci_menhir.ml"
+# 30342 "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_ = 
-# 1386 "parser_cocci_menhir.mly"
+# 1486 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 27002 "parser_cocci_menhir.ml"
+# 30350 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27017,17 +30365,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 27023 "parser_cocci_menhir.ml"
+# 30371 "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_ = 
-# 1389 "parser_cocci_menhir.mly"
+# 1489 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 27031 "parser_cocci_menhir.ml"
+# 30379 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27046,17 +30394,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 27052 "parser_cocci_menhir.ml"
+# 30400 "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_ = 
-# 1392 "parser_cocci_menhir.mly"
+# 1492 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 27060 "parser_cocci_menhir.ml"
+# 30408 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27075,18 +30423,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 27081 "parser_cocci_menhir.ml"
+# 30429 "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_ = 
-# 1395 "parser_cocci_menhir.mly"
+# 1495 "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)) )
-# 27090 "parser_cocci_menhir.ml"
+# 30438 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27105,17 +30453,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 66 "parser_cocci_menhir.mly"
+# 67 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 27111 "parser_cocci_menhir.ml"
+# 30459 "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_ = 
-# 1399 "parser_cocci_menhir.mly"
+# 1499 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 27119 "parser_cocci_menhir.ml"
+# 30467 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27134,18 +30482,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 27140 "parser_cocci_menhir.ml"
+# 30488 "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_ = 
-# 1402 "parser_cocci_menhir.mly"
+# 1502 "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)) )
-# 27149 "parser_cocci_menhir.ml"
+# 30497 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27164,18 +30512,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 27170 "parser_cocci_menhir.ml"
+# 30518 "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_ = 
-# 1406 "parser_cocci_menhir.mly"
+# 1506 "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)) )
-# 27179 "parser_cocci_menhir.ml"
+# 30527 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27194,18 +30542,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 70 "parser_cocci_menhir.mly"
+# 71 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 27200 "parser_cocci_menhir.ml"
+# 30548 "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_ = 
-# 1410 "parser_cocci_menhir.mly"
+# 1510 "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)) )
-# 27209 "parser_cocci_menhir.ml"
+# 30557 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27234,23 +30582,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 27240 "parser_cocci_menhir.ml"
+# 30588 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 27246 "parser_cocci_menhir.ml"
+# 30594 "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_ = 
-# 1414 "parser_cocci_menhir.mly"
+# 1514 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 27254 "parser_cocci_menhir.ml"
+# 30602 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27279,25 +30627,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 27285 "parser_cocci_menhir.ml"
+# 30633 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 27291 "parser_cocci_menhir.ml"
+# 30639 "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_ = 
-# 1417 "parser_cocci_menhir.mly"
+# 1517 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 27301 "parser_cocci_menhir.ml"
+# 30649 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27319,9 +30667,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1421 "parser_cocci_menhir.mly"
+# 1521 "parser_cocci_menhir.mly"
                  ( _1 )
-# 27325 "parser_cocci_menhir.ml"
+# 30673 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27341,9 +30689,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure = 
-# 195 "parser_cocci_menhir.mly"
+# 196 "parser_cocci_menhir.mly"
                  ( Ast0.Pure )
-# 27347 "parser_cocci_menhir.ml"
+# 30695 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27363,9 +30711,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure = 
-# 196 "parser_cocci_menhir.mly"
+# 197 "parser_cocci_menhir.mly"
                  ( Ast0.Context )
-# 27369 "parser_cocci_menhir.ml"
+# 30717 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27389,9 +30737,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_pure = 
-# 197 "parser_cocci_menhir.mly"
+# 198 "parser_cocci_menhir.mly"
                  ( Ast0.PureContext )
-# 27395 "parser_cocci_menhir.ml"
+# 30743 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27415,9 +30763,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_pure = 
-# 198 "parser_cocci_menhir.mly"
+# 199 "parser_cocci_menhir.mly"
                  ( Ast0.PureContext )
-# 27421 "parser_cocci_menhir.ml"
+# 30769 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27432,9 +30780,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 = 
-# 199 "parser_cocci_menhir.mly"
+# 200 "parser_cocci_menhir.mly"
                  ( Ast0.Impure )
-# 27438 "parser_cocci_menhir.ml"
+# 30786 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27453,16 +30801,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 61 "parser_cocci_menhir.mly"
+# 62 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 27459 "parser_cocci_menhir.ml"
+# 30807 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident = 
-# 1435 "parser_cocci_menhir.mly"
+# 1535 "parser_cocci_menhir.mly"
             ( _1 )
-# 27466 "parser_cocci_menhir.ml"
+# 30814 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27482,9 +30830,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1438 "parser_cocci_menhir.mly"
+# 1538 "parser_cocci_menhir.mly"
                  ( "identifier" )
-# 27488 "parser_cocci_menhir.ml"
+# 30836 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27504,9 +30852,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1439 "parser_cocci_menhir.mly"
+# 1539 "parser_cocci_menhir.mly"
                  ( "expression" )
-# 27510 "parser_cocci_menhir.ml"
+# 30858 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27526,9 +30874,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1440 "parser_cocci_menhir.mly"
+# 1540 "parser_cocci_menhir.mly"
                 ( "statement" )
-# 27532 "parser_cocci_menhir.ml"
+# 30880 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27548,9 +30896,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1441 "parser_cocci_menhir.mly"
+# 1541 "parser_cocci_menhir.mly"
                ( "function" )
-# 27554 "parser_cocci_menhir.ml"
+# 30902 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27570,9 +30918,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1442 "parser_cocci_menhir.mly"
+# 1542 "parser_cocci_menhir.mly"
             ( "local" )
-# 27576 "parser_cocci_menhir.ml"
+# 30924 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27592,9 +30940,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1443 "parser_cocci_menhir.mly"
+# 1543 "parser_cocci_menhir.mly"
            ( "type" )
-# 27598 "parser_cocci_menhir.ml"
+# 30946 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27614,9 +30962,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1444 "parser_cocci_menhir.mly"
+# 1544 "parser_cocci_menhir.mly"
                 ( "parameter" )
-# 27620 "parser_cocci_menhir.ml"
+# 30968 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27636,9 +30984,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1445 "parser_cocci_menhir.mly"
+# 1545 "parser_cocci_menhir.mly"
                    ( "idexpression" )
-# 27642 "parser_cocci_menhir.ml"
+# 30990 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27658,9 +31006,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1446 "parser_cocci_menhir.mly"
+# 1546 "parser_cocci_menhir.mly"
                   ( "initialiser" )
-# 27664 "parser_cocci_menhir.ml"
+# 31012 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27680,9 +31028,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1447 "parser_cocci_menhir.mly"
+# 1547 "parser_cocci_menhir.mly"
            ( "list" )
-# 27686 "parser_cocci_menhir.ml"
+# 31034 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27702,9 +31050,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1448 "parser_cocci_menhir.mly"
+# 1548 "parser_cocci_menhir.mly"
             ( "fresh" )
-# 27708 "parser_cocci_menhir.ml"
+# 31056 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27724,9 +31072,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1449 "parser_cocci_menhir.mly"
+# 1549 "parser_cocci_menhir.mly"
                ( "constant" )
-# 27730 "parser_cocci_menhir.ml"
+# 31078 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27746,9 +31094,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1450 "parser_cocci_menhir.mly"
+# 1550 "parser_cocci_menhir.mly"
             ( "error" )
-# 27752 "parser_cocci_menhir.ml"
+# 31100 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27768,9 +31116,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1451 "parser_cocci_menhir.mly"
+# 1551 "parser_cocci_menhir.mly"
             ( "words" )
-# 27774 "parser_cocci_menhir.ml"
+# 31122 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27790,9 +31138,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1452 "parser_cocci_menhir.mly"
+# 1552 "parser_cocci_menhir.mly"
            ( "pure" )
-# 27796 "parser_cocci_menhir.ml"
+# 31144 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27812,9 +31160,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1453 "parser_cocci_menhir.mly"
+# 1553 "parser_cocci_menhir.mly"
               ( "context" )
-# 27818 "parser_cocci_menhir.ml"
+# 31166 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27834,9 +31182,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1454 "parser_cocci_menhir.mly"
+# 1554 "parser_cocci_menhir.mly"
                 ( "generated" )
-# 27840 "parser_cocci_menhir.ml"
+# 31188 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27856,9 +31204,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1455 "parser_cocci_menhir.mly"
+# 1555 "parser_cocci_menhir.mly"
               ( "typedef" )
-# 27862 "parser_cocci_menhir.ml"
+# 31210 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27878,9 +31226,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1456 "parser_cocci_menhir.mly"
+# 1556 "parser_cocci_menhir.mly"
                ( "declarer" )
-# 27884 "parser_cocci_menhir.ml"
+# 31232 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27900,9 +31248,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1457 "parser_cocci_menhir.mly"
+# 1557 "parser_cocci_menhir.mly"
                ( "iterator" )
-# 27906 "parser_cocci_menhir.ml"
+# 31254 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27922,9 +31270,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1458 "parser_cocci_menhir.mly"
+# 1558 "parser_cocci_menhir.mly"
            ( "name" )
-# 27928 "parser_cocci_menhir.ml"
+# 31276 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27944,9 +31292,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1459 "parser_cocci_menhir.mly"
+# 1559 "parser_cocci_menhir.mly"
                ( "position" )
-# 27950 "parser_cocci_menhir.ml"
+# 31298 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27968,9 +31316,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 = 
-# 1466 "parser_cocci_menhir.mly"
+# 1566 "parser_cocci_menhir.mly"
                                  ( (None,P.id2name _1) )
-# 27974 "parser_cocci_menhir.ml"
+# 31322 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27992,9 +31340,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 = 
-# 1467 "parser_cocci_menhir.mly"
+# 1567 "parser_cocci_menhir.mly"
                                  ( (None,_1) )
-# 27998 "parser_cocci_menhir.ml"
+# 31346 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28016,9 +31364,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 = 
-# 1468 "parser_cocci_menhir.mly"
+# 1568 "parser_cocci_menhir.mly"
                                  ( _1 )
-# 28022 "parser_cocci_menhir.ml"
+# 31370 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28046,13 +31394,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_i_ in
         let _endpos = _endpos_optc_ in
         let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = 
-# 1494 "parser_cocci_menhir.mly"
+# 1594 "parser_cocci_menhir.mly"
     (
       match optc with
          None   -> (i, Ast0.NoConstraint)
        | Some c -> (i, c)
     )
-# 28056 "parser_cocci_menhir.ml"
+# 31404 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28080,13 +31428,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_i_ in
         let _endpos = _endpos_optc_ in
         let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = 
-# 1494 "parser_cocci_menhir.mly"
+# 1594 "parser_cocci_menhir.mly"
     (
       match optc with
          None   -> (i, Ast0.NoConstraint)
        | Some c -> (i, c)
     )
-# 28090 "parser_cocci_menhir.ml"
+# 31438 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28114,13 +31462,13 @@ 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_ = 
-# 1512 "parser_cocci_menhir.mly"
+# 1619 "parser_cocci_menhir.mly"
     (
       match c with
          None -> (i, Ast.IdNoConstraint)
        | Some constraint_ -> (i,constraint_)
     )
-# 28124 "parser_cocci_menhir.ml"
+# 31472 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28148,14 +31496,14 @@ 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_virt_re_or_not_eqid_ = 
-# 1502 "parser_cocci_menhir.mly"
+# 1602 "parser_cocci_menhir.mly"
     (
       Common.Left
         (match c with
          None -> (i, Ast.IdNoConstraint)
        | Some constraint_ -> (i,constraint_))
     )
-# 28159 "parser_cocci_menhir.ml"
+# 31507 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28185,9 +31533,15 @@ 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_idconstraint_virt_re_or_not_eqid_ = 
-# 1508 "parser_cocci_menhir.mly"
-                           ( Common.Right (P.id2name _3) )
-# 28191 "parser_cocci_menhir.ml"
+# 1609 "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
+    )
+# 31545 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28209,9 +31563,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 = 
-# 1471 "parser_cocci_menhir.mly"
+# 1571 "parser_cocci_menhir.mly"
                                 ( (_1,Ast.NoVal) )
-# 28215 "parser_cocci_menhir.ml"
+# 31569 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28243,11 +31597,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 = 
-# 1474 "parser_cocci_menhir.mly"
+# 1574 "parser_cocci_menhir.mly"
   ( match _3 with
           [Ast.SeedString s] -> (_1,Ast.StringSeed s)
         | _ -> (_1,Ast.ListSeed _3) )
-# 28251 "parser_cocci_menhir.ml"
+# 31605 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28275,11 +31629,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_ = 
-# 1488 "parser_cocci_menhir.mly"
+# 1588 "parser_cocci_menhir.mly"
     (
       (i, l)
     )
-# 28283 "parser_cocci_menhir.ml"
+# 31637 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28301,9 +31655,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_re_ in
         let _endpos = _endpos_re_ in
         let _v : 'tv_re_or_not_eqe_or_sub = 
-# 1573 "parser_cocci_menhir.mly"
+# 1680 "parser_cocci_menhir.mly"
                   (Ast0.NotIdCstrt  re)
-# 28307 "parser_cocci_menhir.ml"
+# 31661 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28325,9 +31679,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_ne_ in
         let _endpos = _endpos_ne_ in
         let _v : 'tv_re_or_not_eqe_or_sub = 
-# 1574 "parser_cocci_menhir.mly"
+# 1681 "parser_cocci_menhir.mly"
                   (Ast0.NotExpCstrt ne)
-# 28331 "parser_cocci_menhir.ml"
+# 31685 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28349,9 +31703,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_re_or_not_eqe_or_sub = 
-# 1575 "parser_cocci_menhir.mly"
+# 1682 "parser_cocci_menhir.mly"
                   (Ast0.SubExpCstrt s)
-# 28355 "parser_cocci_menhir.ml"
+# 31709 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28373,9 +31727,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_re_ in
         let _endpos = _endpos_re_ in
         let _v : 'tv_re_or_not_eqid = 
-# 1519 "parser_cocci_menhir.mly"
+# 1626 "parser_cocci_menhir.mly"
                   (Ast.IdRegExpConstraint re)
-# 28379 "parser_cocci_menhir.ml"
+# 31733 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28397,9 +31751,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_ne_ in
         let _endpos = _endpos_ne_ in
         let _v : 'tv_re_or_not_eqid = 
-# 1520 "parser_cocci_menhir.mly"
+# 1627 "parser_cocci_menhir.mly"
                   (ne)
-# 28403 "parser_cocci_menhir.ml"
+# 31757 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28422,21 +31776,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let re : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 28428 "parser_cocci_menhir.ml"
+# 31782 "parser_cocci_menhir.ml"
         ) = Obj.magic re in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_re_ in
         let _v : 'tv_regexp_eqid = 
-# 1524 "parser_cocci_menhir.mly"
+# 1631 "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)
         )
-# 28440 "parser_cocci_menhir.ml"
+# 31794 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28459,21 +31813,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let re : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 28465 "parser_cocci_menhir.ml"
+# 31819 "parser_cocci_menhir.ml"
         ) = Obj.magic re in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_re_ in
         let _v : 'tv_regexp_eqid = 
-# 1531 "parser_cocci_menhir.mly"
+# 1638 "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)
         )
-# 28477 "parser_cocci_menhir.ml"
+# 31831 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28488,13 +31842,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 : (
-# 136 "parser_cocci_menhir.mly"
+# 137 "parser_cocci_menhir.mly"
       (unit)
-# 28494 "parser_cocci_menhir.ml"
+# 31848 "parser_cocci_menhir.ml"
         ) = 
-# 177 "parser_cocci_menhir.mly"
+# 178 "parser_cocci_menhir.mly"
         ( )
-# 28498 "parser_cocci_menhir.ml"
+# 31852 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28516,9 +31870,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_rule_elem_statement = 
-# 943 "parser_cocci_menhir.mly"
+# 1009 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
-# 28522 "parser_cocci_menhir.ml"
+# 31876 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28542,17 +31896,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28548 "parser_cocci_menhir.ml"
+# 31902 "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 = 
-# 944 "parser_cocci_menhir.mly"
+# 1010 "parser_cocci_menhir.mly"
                ( P.exp_stm _1 _2 )
-# 28556 "parser_cocci_menhir.ml"
+# 31910 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28581,22 +31935,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28587 "parser_cocci_menhir.ml"
+# 31941 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28593 "parser_cocci_menhir.ml"
+# 31947 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_rule_elem_statement = 
-# 945 "parser_cocci_menhir.mly"
+# 1011 "parser_cocci_menhir.mly"
                         ( P.ret_exp _1 _2 _3 )
-# 28600 "parser_cocci_menhir.ml"
+# 31954 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28620,21 +31974,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28626 "parser_cocci_menhir.ml"
+# 31980 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28631 "parser_cocci_menhir.ml"
+# 31985 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_rule_elem_statement = 
-# 946 "parser_cocci_menhir.mly"
+# 1012 "parser_cocci_menhir.mly"
                   ( P.ret _1 _2 )
-# 28638 "parser_cocci_menhir.ml"
+# 31992 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28658,21 +32012,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28664 "parser_cocci_menhir.ml"
+# 32018 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28669 "parser_cocci_menhir.ml"
+# 32023 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_rule_elem_statement = 
-# 947 "parser_cocci_menhir.mly"
+# 1013 "parser_cocci_menhir.mly"
                  ( P.break _1 _2 )
-# 28676 "parser_cocci_menhir.ml"
+# 32030 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28696,21 +32050,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28702 "parser_cocci_menhir.ml"
+# 32056 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28707 "parser_cocci_menhir.ml"
+# 32061 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_rule_elem_statement = 
-# 948 "parser_cocci_menhir.mly"
+# 1014 "parser_cocci_menhir.mly"
                     ( P.cont _1 _2 )
-# 28714 "parser_cocci_menhir.ml"
+# 32068 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28739,26 +32093,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28745 "parser_cocci_menhir.ml"
+# 32099 "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 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28751 "parser_cocci_menhir.ml"
+# 32105 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_rule_elem_statement = 
-# 950 "parser_cocci_menhir.mly"
+# 1016 "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)) )
-# 28762 "parser_cocci_menhir.ml"
+# 32116 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28812,20 +32166,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__7_ in
         let _v : (
-# 158 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 28818 "parser_cocci_menhir.ml"
+# 32172 "parser_cocci_menhir.ml"
         ) = let nm =
           
 # 39 "standard.mly"
     ( None )
-# 28823 "parser_cocci_menhir.ml"
+# 32177 "parser_cocci_menhir.ml"
           
         in
         
-# 207 "parser_cocci_menhir.mly"
+# 208 "parser_cocci_menhir.mly"
       ( P.make_cocci_rule_name_result nm d i a e ee )
-# 28829 "parser_cocci_menhir.ml"
+# 32183 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28885,21 +32239,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos__8_ in
         let _v : (
-# 158 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 28891 "parser_cocci_menhir.ml"
+# 32245 "parser_cocci_menhir.ml"
         ) = let nm =
           let x = x0 in
           
 # 41 "standard.mly"
     ( Some x )
-# 28897 "parser_cocci_menhir.ml"
+# 32251 "parser_cocci_menhir.ml"
           
         in
         
-# 207 "parser_cocci_menhir.mly"
+# 208 "parser_cocci_menhir.mly"
       ( P.make_cocci_rule_name_result nm d i a e ee )
-# 28903 "parser_cocci_menhir.ml"
+# 32257 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28957,13 +32311,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__8_ in
         let _v : (
-# 158 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 28963 "parser_cocci_menhir.ml"
+# 32317 "parser_cocci_menhir.ml"
         ) = 
-# 212 "parser_cocci_menhir.mly"
+# 213 "parser_cocci_menhir.mly"
       ( P.make_generated_rule_name_result None d i a e ee )
-# 28967 "parser_cocci_menhir.ml"
+# 32321 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29003,13 +32357,80 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : (
-# 158 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 29009 "parser_cocci_menhir.ml"
-        ) = 
-# 214 "parser_cocci_menhir.mly"
-      ( P.make_script_rule_name_result lang d )
-# 29013 "parser_cocci_menhir.ml"
+# 32363 "parser_cocci_menhir.ml"
+        ) = let nm =
+          
+# 39 "standard.mly"
+    ( None )
+# 32368 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 215 "parser_cocci_menhir.mly"
+      ( P.make_script_rule_name_result lang nm d )
+# 32374 "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 : (
+# 159 "parser_cocci_menhir.mly"
+      (Ast_cocci.rulename)
+# 32422 "parser_cocci_menhir.ml"
+        ) = let nm =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 32428 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 215 "parser_cocci_menhir.mly"
+      ( P.make_script_rule_name_result lang nm d )
+# 32434 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29049,13 +32470,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : (
-# 158 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 29055 "parser_cocci_menhir.ml"
+# 32476 "parser_cocci_menhir.ml"
         ) = 
-# 216 "parser_cocci_menhir.mly"
+# 217 "parser_cocci_menhir.mly"
       ( P.make_initial_script_rule_name_result lang d )
-# 29059 "parser_cocci_menhir.ml"
+# 32480 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29095,13 +32516,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : (
-# 158 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 29101 "parser_cocci_menhir.ml"
+# 32522 "parser_cocci_menhir.ml"
         ) = 
-# 218 "parser_cocci_menhir.mly"
+# 219 "parser_cocci_menhir.mly"
       ( P.make_final_script_rule_name_result lang d )
-# 29105 "parser_cocci_menhir.ml"
+# 32526 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29113,7 +32534,6 @@ 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 = {
@@ -29124,19 +32544,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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__2_ in
         let _v : (
-# 164 "parser_cocci_menhir.mly"
-       ((string option (*string*) * string option (*ast*)) * Ast_cocci.meta_name * Ast_cocci.metavar)
-# 29135 "parser_cocci_menhir.ml"
+# 165 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 32554 "parser_cocci_menhir.ml"
         ) = 
-# 2056 "parser_cocci_menhir.mly"
-  ( let (nm,mv) = _2 in
-    ((Some (P.id2name py), None), nm, mv) )
-# 29140 "parser_cocci_menhir.ml"
+# 2172 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name py), None), None) )
+# 32558 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29148,27 +32566,69 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _6;
-          MenhirLib.EngineTypes.startp = _startpos__6_;
-          MenhirLib.EngineTypes.endp = _endpos__6_;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            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 = ast;
-              MenhirLib.EngineTypes.startp = _startpos_ast_;
-              MenhirLib.EngineTypes.endp = _endpos_ast_;
+              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 : (
+# 165 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 32592 "parser_cocci_menhir.ml"
+        ) = 
+# 2174 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name py), None), Some _2) )
+# 32596 "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.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.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.startp = _startpos__1_;
+                      MenhirLib.EngineTypes.endp = _endpos__1_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
                     };
                   };
                 };
@@ -29178,16 +32638,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         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__6_ in
+        let _endpos = _endpos__7_ in
         let _v : (
-# 164 "parser_cocci_menhir.mly"
-       ((string option (*string*) * string option (*ast*)) * Ast_cocci.meta_name * Ast_cocci.metavar)
-# 29186 "parser_cocci_menhir.ml"
+# 165 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 32646 "parser_cocci_menhir.ml"
         ) = 
-# 2059 "parser_cocci_menhir.mly"
-  ( let (nm,mv) = _6 in
-    ((None, Some (P.id2name ast)), nm, mv) )
-# 29191 "parser_cocci_menhir.ml"
+# 2176 "parser_cocci_menhir.mly"
+  ( ((None, Some (P.id2name ast)), Some _6) )
+# 32650 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29199,27 +32658,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _6;
-          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.startp = _startpos__5_;
-            MenhirLib.EngineTypes.endp = _endpos__5_;
+            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.startp = _startpos__3_;
-                MenhirLib.EngineTypes.endp = _endpos__3_;
+                MenhirLib.EngineTypes.startp = _startpos__4_;
+                MenhirLib.EngineTypes.endp = _endpos__4_;
                 MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = str;
-                  MenhirLib.EngineTypes.startp = _startpos_str_;
-                  MenhirLib.EngineTypes.endp = _endpos_str_;
+                  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 = 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;
+                      };
                     };
                   };
                 };
@@ -29229,16 +32692,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         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__6_ in
+        let _endpos = _endpos__7_ in
         let _v : (
-# 164 "parser_cocci_menhir.mly"
-       ((string option (*string*) * string option (*ast*)) * Ast_cocci.meta_name * Ast_cocci.metavar)
-# 29237 "parser_cocci_menhir.ml"
+# 165 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 32700 "parser_cocci_menhir.ml"
         ) = 
-# 2062 "parser_cocci_menhir.mly"
-  ( let (nm,mv) = _6 in
-    ((Some (P.id2name str), None), nm, mv) )
-# 29242 "parser_cocci_menhir.ml"
+# 2178 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name str), None), Some _6) )
+# 32704 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29250,28 +32712,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _6;
-          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.startp = _startpos__5_;
-            MenhirLib.EngineTypes.endp = _endpos__5_;
+            MenhirLib.EngineTypes.semv = _6;
+            MenhirLib.EngineTypes.startp = _startpos__6_;
+            MenhirLib.EngineTypes.endp = _endpos__6_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = ast;
-              MenhirLib.EngineTypes.startp = _startpos_ast_;
-              MenhirLib.EngineTypes.endp = _endpos_ast_;
+              MenhirLib.EngineTypes.startp = _startpos__5_;
+              MenhirLib.EngineTypes.endp = _endpos__5_;
               MenhirLib.EngineTypes.next = {
-                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.semv = str;
-                  MenhirLib.EngineTypes.startp = _startpos_str_;
-                  MenhirLib.EngineTypes.endp = _endpos_str_;
+                  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 = 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;
+                      };
                     };
                   };
                 };
@@ -29282,16 +32748,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         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__6_ in
+        let _endpos = _endpos__7_ in
         let _v : (
-# 164 "parser_cocci_menhir.mly"
-       ((string option (*string*) * string option (*ast*)) * Ast_cocci.meta_name * Ast_cocci.metavar)
-# 29290 "parser_cocci_menhir.ml"
+# 165 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 32756 "parser_cocci_menhir.ml"
         ) = 
-# 2065 "parser_cocci_menhir.mly"
-  ( let (nm,mv) = _6 in
-    ((Some (P.id2name str), Some (P.id2name ast)), nm, mv) )
-# 29295 "parser_cocci_menhir.ml"
+# 2180 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) )
+# 32760 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29303,25 +32768,21 @@ 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 = cocci;
+          MenhirLib.EngineTypes.startp = _startpos_cocci_;
+          MenhirLib.EngineTypes.endp = _endpos_cocci_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = cocci;
-            MenhirLib.EngineTypes.startp = _startpos_cocci_;
-            MenhirLib.EngineTypes.endp = _endpos_cocci_;
+            MenhirLib.EngineTypes.startp = _startpos__3_;
+            MenhirLib.EngineTypes.endp = _endpos__3_;
             MenhirLib.EngineTypes.next = {
-              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.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;
                 };
               };
             };
@@ -29330,16 +32791,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _2 : (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 29334 "parser_cocci_menhir.ml"
+# 32795 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__5_ in
+        let _endpos = _endpos_cocci_ in
         let _v : 'tv_script_name_decl = 
-# 2070 "parser_cocci_menhir.mly"
+# 2184 "parser_cocci_menhir.mly"
       ( let nm = P.id2name cocci in
         let mv = Parse_aux.lookup _2 nm in
         ((_2, nm), mv) )
-# 29343 "parser_cocci_menhir.ml"
+# 32804 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29351,38 +32812,37 @@ 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 = cocci;
+          MenhirLib.EngineTypes.startp = _startpos_cocci_;
+          MenhirLib.EngineTypes.endp = _endpos_cocci_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = cocci;
-            MenhirLib.EngineTypes.startp = _startpos_cocci_;
-            MenhirLib.EngineTypes.endp = _endpos_cocci_;
+            MenhirLib.EngineTypes.startp = _startpos__3_;
+            MenhirLib.EngineTypes.endp = _endpos__3_;
             MenhirLib.EngineTypes.next = {
-              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.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 cocci : 'tv_pure_ident = Obj.magic cocci in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__5_ in
+        let _endpos = _endpos_cocci_ in
         let _v : 'tv_script_name_decl = 
-# 2074 "parser_cocci_menhir.mly"
+# 2188 "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) )
-# 29386 "parser_cocci_menhir.ml"
+        (name,mv) )
+# 32846 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29401,16 +32861,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 29407 "parser_cocci_menhir.ml"
+# 32867 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_seed_elem = 
-# 1479 "parser_cocci_menhir.mly"
+# 1579 "parser_cocci_menhir.mly"
           ( let (x,_) = _1 in Ast.SeedString x )
-# 29414 "parser_cocci_menhir.ml"
+# 32874 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29429,16 +32889,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 64 "parser_cocci_menhir.mly"
+# 65 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 29435 "parser_cocci_menhir.ml"
+# 32895 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_seed_elem = 
-# 1480 "parser_cocci_menhir.mly"
+# 1580 "parser_cocci_menhir.mly"
           ( let (x,_,_,_) = _1 in Ast.SeedId x )
-# 29442 "parser_cocci_menhir.ml"
+# 32902 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29469,16 +32929,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _1 : (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 29473 "parser_cocci_menhir.ml"
+# 32933 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_seed_elem = 
-# 1482 "parser_cocci_menhir.mly"
+# 1582 "parser_cocci_menhir.mly"
     ( let nm = (_1,P.id2name _3) in
       P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
       Ast.SeedId nm )
-# 29482 "parser_cocci_menhir.ml"
+# 32942 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29497,16 +32957,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let x : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 29503 "parser_cocci_menhir.ml"
+# 32963 "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 ] )
-# 29510 "parser_cocci_menhir.ml"
+# 32970 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29535,16 +32995,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
         let x : (
-# 90 "parser_cocci_menhir.mly"
+# 91 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 29541 "parser_cocci_menhir.ml"
+# 33001 "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 )
-# 29548 "parser_cocci_menhir.ml"
+# 33008 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29568,7 +33028,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29572 "parser_cocci_menhir.ml"
+# 33032 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29602,7 +33062,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29606 "parser_cocci_menhir.ml"
+# 33066 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29626,7 +33086,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ctype_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29630 "parser_cocci_menhir.ml"
+# 33090 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29660,7 +33120,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ctype_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29664 "parser_cocci_menhir.ml"
+# 33124 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29684,7 +33144,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29688 "parser_cocci_menhir.ml"
+# 33148 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29718,7 +33178,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29722 "parser_cocci_menhir.ml"
+# 33182 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29742,7 +33202,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29746 "parser_cocci_menhir.ml"
+# 33206 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29776,7 +33236,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29780 "parser_cocci_menhir.ml"
+# 33240 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29800,7 +33260,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29804 "parser_cocci_menhir.ml"
+# 33264 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29834,7 +33294,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29838 "parser_cocci_menhir.ml"
+# 33298 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29858,7 +33318,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29862 "parser_cocci_menhir.ml"
+# 33322 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29892,7 +33352,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29896 "parser_cocci_menhir.ml"
+# 33356 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29916,7 +33376,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29920 "parser_cocci_menhir.ml"
+# 33380 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29950,7 +33410,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29954 "parser_cocci_menhir.ml"
+# 33414 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29974,7 +33434,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29978 "parser_cocci_menhir.ml"
+# 33438 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30008,7 +33468,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 30012 "parser_cocci_menhir.ml"
+# 33472 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30032,7 +33492,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 30036 "parser_cocci_menhir.ml"
+# 33496 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30066,7 +33526,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         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 )
-# 30070 "parser_cocci_menhir.ml"
+# 33530 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30090,7 +33550,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 ] )
-# 30094 "parser_cocci_menhir.ml"
+# 33554 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30124,7 +33584,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 )
-# 30128 "parser_cocci_menhir.ml"
+# 33588 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30148,7 +33608,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 30152 "parser_cocci_menhir.ml"
+# 33612 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30182,7 +33642,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 30186 "parser_cocci_menhir.ml"
+# 33646 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30206,7 +33666,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 30210 "parser_cocci_menhir.ml"
+# 33670 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30240,7 +33700,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 30244 "parser_cocci_menhir.ml"
+# 33704 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30264,7 +33724,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 ] )
-# 30268 "parser_cocci_menhir.ml"
+# 33728 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30298,7 +33758,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 )
-# 30302 "parser_cocci_menhir.ml"
+# 33762 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30322,7 +33782,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 30326 "parser_cocci_menhir.ml"
+# 33786 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30356,7 +33816,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 30360 "parser_cocci_menhir.ml"
+# 33820 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30380,7 +33840,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 30384 "parser_cocci_menhir.ml"
+# 33844 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30414,7 +33874,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 30418 "parser_cocci_menhir.ml"
+# 33878 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30436,9 +33896,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_single_statement = 
-# 958 "parser_cocci_menhir.mly"
+# 1024 "parser_cocci_menhir.mly"
                                       ( _1 )
-# 30442 "parser_cocci_menhir.ml"
+# 33902 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30467,26 +33927,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30473 "parser_cocci_menhir.ml"
+# 33933 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30479 "parser_cocci_menhir.ml"
+# 33939 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_single_statement = 
-# 962 "parser_cocci_menhir.mly"
+# 1028 "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)) )
-# 30490 "parser_cocci_menhir.ml"
+# 33950 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30508,9 +33968,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_statement = 
-# 885 "parser_cocci_menhir.mly"
+# 951 "parser_cocci_menhir.mly"
            ( _1 )
-# 30514 "parser_cocci_menhir.ml"
+# 33974 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30529,16 +33989,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 30535 "parser_cocci_menhir.ml"
+# 33995 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_statement = 
-# 887 "parser_cocci_menhir.mly"
+# 953 "parser_cocci_menhir.mly"
     ( P.meta_stm _1 )
-# 30542 "parser_cocci_menhir.ml"
+# 34002 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30562,17 +34022,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30568 "parser_cocci_menhir.ml"
+# 34028 "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 = 
-# 889 "parser_cocci_menhir.mly"
+# 955 "parser_cocci_menhir.mly"
     ( P.exp_stm _1 _2 )
-# 30576 "parser_cocci_menhir.ml"
+# 34036 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30612,27 +34072,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _5 : 'tv_single_statement = Obj.magic _5 in
         let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30618 "parser_cocci_menhir.ml"
+# 34078 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30624 "parser_cocci_menhir.ml"
+# 34084 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30629 "parser_cocci_menhir.ml"
+# 34089 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : 'tv_statement = 
-# 891 "parser_cocci_menhir.mly"
+# 957 "parser_cocci_menhir.mly"
     ( P.ifthen _1 _2 _3 _4 _5 )
-# 30636 "parser_cocci_menhir.ml"
+# 34096 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30682,33 +34142,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _7 : 'tv_single_statement = Obj.magic _7 in
         let _6 : (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30688 "parser_cocci_menhir.ml"
+# 34148 "parser_cocci_menhir.ml"
         ) = Obj.magic _6 in
         let _5 : 'tv_single_statement = Obj.magic _5 in
         let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30694 "parser_cocci_menhir.ml"
+# 34154 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30700 "parser_cocci_menhir.ml"
+# 34160 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30705 "parser_cocci_menhir.ml"
+# 34165 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__7_ in
         let _v : 'tv_statement = 
-# 893 "parser_cocci_menhir.mly"
+# 959 "parser_cocci_menhir.mly"
     ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
-# 30712 "parser_cocci_menhir.ml"
+# 34172 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30768,39 +34228,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _9 : 'tv_single_statement = Obj.magic _9 in
         let _8 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30774 "parser_cocci_menhir.ml"
+# 34234 "parser_cocci_menhir.ml"
         ) = Obj.magic _8 in
         let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
         let _6 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30780 "parser_cocci_menhir.ml"
+# 34240 "parser_cocci_menhir.ml"
         ) = Obj.magic _6 in
         let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
         let _4 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30786 "parser_cocci_menhir.ml"
+# 34246 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
         let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30792 "parser_cocci_menhir.ml"
+# 34252 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30797 "parser_cocci_menhir.ml"
+# 34257 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__9_ in
         let _v : 'tv_statement = 
-# 896 "parser_cocci_menhir.mly"
+# 962 "parser_cocci_menhir.mly"
     ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
-# 30804 "parser_cocci_menhir.ml"
+# 34264 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30840,27 +34300,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _5 : 'tv_single_statement = Obj.magic _5 in
         let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30846 "parser_cocci_menhir.ml"
+# 34306 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30852 "parser_cocci_menhir.ml"
+# 34312 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30857 "parser_cocci_menhir.ml"
+# 34317 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : 'tv_statement = 
-# 898 "parser_cocci_menhir.mly"
+# 964 "parser_cocci_menhir.mly"
     ( P.whileloop _1 _2 _3 _4 _5 )
-# 30864 "parser_cocci_menhir.ml"
+# 34324 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30909,38 +34369,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _7 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30915 "parser_cocci_menhir.ml"
+# 34375 "parser_cocci_menhir.ml"
         ) = Obj.magic _7 in
         let _6 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30920 "parser_cocci_menhir.ml"
+# 34380 "parser_cocci_menhir.ml"
         ) = Obj.magic _6 in
         let _5 : 'tv_eexpr = Obj.magic _5 in
         let _4 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30926 "parser_cocci_menhir.ml"
+# 34386 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30931 "parser_cocci_menhir.ml"
+# 34391 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_single_statement = Obj.magic _2 in
         let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30937 "parser_cocci_menhir.ml"
+# 34397 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__7_ in
         let _v : 'tv_statement = 
-# 900 "parser_cocci_menhir.mly"
+# 966 "parser_cocci_menhir.mly"
     ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
-# 30944 "parser_cocci_menhir.ml"
+# 34404 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30980,23 +34440,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _5 : 'tv_single_statement = Obj.magic _5 in
         let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30986 "parser_cocci_menhir.ml"
+# 34446 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30992 "parser_cocci_menhir.ml"
+# 34452 "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 = 
-# 902 "parser_cocci_menhir.mly"
+# 968 "parser_cocci_menhir.mly"
     ( P.iterator _1 _2 _3 _4 _5 )
-# 31000 "parser_cocci_menhir.ml"
+# 34460 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31050,39 +34510,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _8 : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31056 "parser_cocci_menhir.ml"
+# 34516 "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 : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31063 "parser_cocci_menhir.ml"
+# 34523 "parser_cocci_menhir.ml"
         ) = Obj.magic _5 in
         let _4 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31068 "parser_cocci_menhir.ml"
+# 34528 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31074 "parser_cocci_menhir.ml"
+# 34534 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31079 "parser_cocci_menhir.ml"
+# 34539 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__8_ in
         let _v : 'tv_statement = 
-# 904 "parser_cocci_menhir.mly"
+# 970 "parser_cocci_menhir.mly"
     ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
-# 31086 "parser_cocci_menhir.ml"
+# 34546 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31111,22 +34571,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31117 "parser_cocci_menhir.ml"
+# 34577 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31123 "parser_cocci_menhir.ml"
+# 34583 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_statement = 
-# 905 "parser_cocci_menhir.mly"
+# 971 "parser_cocci_menhir.mly"
                         ( P.ret_exp _1 _2 _3 )
-# 31130 "parser_cocci_menhir.ml"
+# 34590 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31150,21 +34610,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31156 "parser_cocci_menhir.ml"
+# 34616 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 59 "parser_cocci_menhir.mly"
+# 60 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31161 "parser_cocci_menhir.ml"
+# 34621 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_statement = 
-# 906 "parser_cocci_menhir.mly"
+# 972 "parser_cocci_menhir.mly"
                   ( P.ret _1 _2 )
-# 31168 "parser_cocci_menhir.ml"
+# 34628 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31188,21 +34648,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31194 "parser_cocci_menhir.ml"
+# 34654 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31199 "parser_cocci_menhir.ml"
+# 34659 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_statement = 
-# 907 "parser_cocci_menhir.mly"
+# 973 "parser_cocci_menhir.mly"
                  ( P.break _1 _2 )
-# 31206 "parser_cocci_menhir.ml"
+# 34666 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31226,21 +34686,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31232 "parser_cocci_menhir.ml"
+# 34692 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31237 "parser_cocci_menhir.ml"
+# 34697 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_statement = 
-# 908 "parser_cocci_menhir.mly"
+# 974 "parser_cocci_menhir.mly"
                     ( P.cont _1 _2 )
-# 31244 "parser_cocci_menhir.ml"
+# 34704 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31264,17 +34724,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31270 "parser_cocci_menhir.ml"
+# 34730 "parser_cocci_menhir.ml"
         ) = 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_statement = 
-# 909 "parser_cocci_menhir.mly"
+# 975 "parser_cocci_menhir.mly"
                 ( P.label _1 _2 )
-# 31278 "parser_cocci_menhir.ml"
+# 34738 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31303,22 +34763,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31309 "parser_cocci_menhir.ml"
+# 34769 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_ident = Obj.magic _2 in
         let _1 : (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31315 "parser_cocci_menhir.ml"
+# 34775 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_statement = 
-# 910 "parser_cocci_menhir.mly"
+# 976 "parser_cocci_menhir.mly"
                       ( P.goto _1 _2 _3 )
-# 31322 "parser_cocci_menhir.ml"
+# 34782 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31347,22 +34807,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31353 "parser_cocci_menhir.ml"
+# 34813 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_fun_start = Obj.magic _2 in
         let _1 : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31359 "parser_cocci_menhir.ml"
+# 34819 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_statement = 
-# 912 "parser_cocci_menhir.mly"
+# 978 "parser_cocci_menhir.mly"
     ( P.seq _1 _2 _3 )
-# 31366 "parser_cocci_menhir.ml"
+# 34826 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31387,16 +34847,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let w : 'tv_list_whenppdecs_ = Obj.magic w in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31393 "parser_cocci_menhir.ml"
+# 34853 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_w_ in
         let _v : 'tv_stm_dots = 
-# 916 "parser_cocci_menhir.mly"
+# 982 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
-# 31400 "parser_cocci_menhir.ml"
+# 34860 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31430,24 +34890,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let c : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31436 "parser_cocci_menhir.ml"
+# 34896 "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 : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31443 "parser_cocci_menhir.ml"
+# 34903 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_c_ in
         let _v : 'tv_stm_dots = 
-# 918 "parser_cocci_menhir.mly"
+# 984 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
                          P.clt2mcode "...>" c, List.concat w, false)) )
-# 31451 "parser_cocci_menhir.ml"
+# 34911 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31481,24 +34941,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let c : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31487 "parser_cocci_menhir.ml"
+# 34947 "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 : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31494 "parser_cocci_menhir.ml"
+# 34954 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_c_ in
         let _v : 'tv_stm_dots = 
-# 921 "parser_cocci_menhir.mly"
+# 987 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
                          P.clt2mcode "...+>" c, List.concat w, true)) )
-# 31502 "parser_cocci_menhir.ml"
+# 34962 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31517,16 +34977,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let s : (
-# 55 "parser_cocci_menhir.mly"
+# 56 "parser_cocci_menhir.mly"
       (Data.clt)
-# 31523 "parser_cocci_menhir.ml"
+# 34983 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_storage = 
-# 847 "parser_cocci_menhir.mly"
+# 913 "parser_cocci_menhir.mly"
                         ( P.clt2mcode Ast.Static s )
-# 31530 "parser_cocci_menhir.ml"
+# 34990 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31545,16 +35005,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let s : (
-# 55 "parser_cocci_menhir.mly"
+# 56 "parser_cocci_menhir.mly"
       (Data.clt)
-# 31551 "parser_cocci_menhir.ml"
+# 35011 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_storage = 
-# 848 "parser_cocci_menhir.mly"
+# 914 "parser_cocci_menhir.mly"
                         ( P.clt2mcode Ast.Auto s )
-# 31558 "parser_cocci_menhir.ml"
+# 35018 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31573,16 +35033,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let s : (
-# 55 "parser_cocci_menhir.mly"
+# 56 "parser_cocci_menhir.mly"
       (Data.clt)
-# 31579 "parser_cocci_menhir.ml"
+# 35039 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_storage = 
-# 849 "parser_cocci_menhir.mly"
+# 915 "parser_cocci_menhir.mly"
                         ( P.clt2mcode Ast.Register s )
-# 31586 "parser_cocci_menhir.ml"
+# 35046 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31601,16 +35061,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let s : (
-# 55 "parser_cocci_menhir.mly"
+# 56 "parser_cocci_menhir.mly"
       (Data.clt)
-# 31607 "parser_cocci_menhir.ml"
+# 35067 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_storage = 
-# 850 "parser_cocci_menhir.mly"
+# 916 "parser_cocci_menhir.mly"
                         ( P.clt2mcode Ast.Extern s )
-# 31614 "parser_cocci_menhir.ml"
+# 35074 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31630,9 +35090,169 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_struct_decl = 
-# 601 "parser_cocci_menhir.mly"
-               ( [] )
-# 31636 "parser_cocci_menhir.ml"
+# 633 "parser_cocci_menhir.mly"
+                      ( [] )
+# 35096 "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 = 
+# 634 "parser_cocci_menhir.mly"
+                      ( [_1] )
+# 35120 "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 = 
+# 656 "parser_cocci_menhir.mly"
+                          ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 35144 "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 = 
+# 659 "parser_cocci_menhir.mly"
+                                     ( _1 )
+# 35168 "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 = 
+# 660 "parser_cocci_menhir.mly"
+                                     ( _1@_2 )
+# 35198 "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 = 
+# 662 "parser_cocci_menhir.mly"
+    ( (P.mkddots_one "..." d)::r )
+# 35228 "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 : (
+# 69 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 35249 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_struct_decl_one = 
+# 637 "parser_cocci_menhir.mly"
+                 ( P.meta_field _1 )
+# 35256 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31661,19 +35281,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31667 "parser_cocci_menhir.ml"
+# 35287 "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 = 
-# 603 "parser_cocci_menhir.mly"
+        let _v : 'tv_struct_decl_one = 
+# 639 "parser_cocci_menhir.mly"
   ( let (id,fn) = d in
-        [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
-# 31677 "parser_cocci_menhir.ml"
+        Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
+# 35297 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31732,50 +35352,50 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 110 "parser_cocci_menhir.mly"
+# 111 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31738 "parser_cocci_menhir.ml"
+# 35358 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31743 "parser_cocci_menhir.ml"
+# 35363 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31749 "parser_cocci_menhir.ml"
+# 35369 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31754 "parser_cocci_menhir.ml"
+# 35374 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 102 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31760 "parser_cocci_menhir.ml"
+# 35380 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31765 "parser_cocci_menhir.ml"
+# 35385 "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 = 
-# 607 "parser_cocci_menhir.mly"
+        let _v : 'tv_struct_decl_one = 
+# 643 "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))] )
-# 31779 "parser_cocci_menhir.ml"
+        Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
+# 35399 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31799,166 +35419,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               MenhirLib.EngineTypes.semv = i;
               MenhirLib.EngineTypes.startp = _startpos_i_;
               MenhirLib.EngineTypes.endp = _endpos_i_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
-          } = _menhir_stack in
-        let pv : (
-# 110 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31810 "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 =
-          
-# 39 "standard.mly"
-    ( None )
-# 31820 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 615 "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))] )
-# 31828 "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 = d;
-            MenhirLib.EngineTypes.startp = _startpos_d_;
-            MenhirLib.EngineTypes.endp = _endpos_d_;
-            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 = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
-            };
-          } = _menhir_stack in
-        let pv : (
-# 110 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31864 "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 x = x0 in
-          
-# 41 "standard.mly"
-    ( Some x )
-# 31876 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 615 "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))] )
-# 31884 "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 = 
-# 620 "parser_cocci_menhir.mly"
-                          ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 31908 "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 = 
-# 623 "parser_cocci_menhir.mly"
-                                     ( _1 )
-# 31932 "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.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 = 
-# 624 "parser_cocci_menhir.mly"
-                                     ( _1@_2 )
-# 31962 "parser_cocci_menhir.ml"
+        let pv : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 35430 "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_one = let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 35440 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 651 "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)) )
+# 35448 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31970,25 +35456,51 @@ 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 = pv;
+          MenhirLib.EngineTypes.startp = _startpos_pv_;
+          MenhirLib.EngineTypes.endp = _endpos_pv_;
           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.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 = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                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 = 
-# 626 "parser_cocci_menhir.mly"
-    ( (P.mkddots "..." d)::r )
-# 31992 "parser_cocci_menhir.ml"
+        let pv : (
+# 111 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 35484 "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_one = let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 35496 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 651 "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)) )
+# 35504 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32007,16 +35519,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let s : (
-# 52 "parser_cocci_menhir.mly"
+# 53 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32013 "parser_cocci_menhir.ml"
+# 35525 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_struct_or_union = 
-# 597 "parser_cocci_menhir.mly"
+# 629 "parser_cocci_menhir.mly"
                  ( P.clt2mcode Ast.Struct s )
-# 32020 "parser_cocci_menhir.ml"
+# 35532 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32035,16 +35547,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let u : (
-# 52 "parser_cocci_menhir.mly"
+# 53 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32041 "parser_cocci_menhir.ml"
+# 35553 "parser_cocci_menhir.ml"
         ) = Obj.magic u in
         let _startpos = _startpos_u_ in
         let _endpos = _endpos_u_ in
         let _v : 'tv_struct_or_union = 
-# 598 "parser_cocci_menhir.mly"
+# 630 "parser_cocci_menhir.mly"
                  ( P.clt2mcode Ast.Union u )
-# 32048 "parser_cocci_menhir.ml"
+# 35560 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32070,7 +35582,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_sub = 
-# 1619 "parser_cocci_menhir.mly"
+# 1726 "parser_cocci_menhir.mly"
          ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -32079,7 +35591,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             P.check_inherited_constraint i
               (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in
           [i] )
-# 32083 "parser_cocci_menhir.ml"
+# 35595 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32113,7 +35625,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_sub = 
-# 1628 "parser_cocci_menhir.mly"
+# 1735 "parser_cocci_menhir.mly"
   ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -32123,7 +35635,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               P.check_inherited_constraint i
                 (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)))
             l)
-# 32127 "parser_cocci_menhir.ml"
+# 35639 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32145,9 +35657,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_top_eexpr = 
-# 1249 "parser_cocci_menhir.mly"
+# 1295 "parser_cocci_menhir.mly"
         ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
-# 32151 "parser_cocci_menhir.ml"
+# 35663 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32176,22 +35688,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32182 "parser_cocci_menhir.ml"
+# 35694 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_initialize_list = Obj.magic _2 in
         let _1 : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32188 "parser_cocci_menhir.ml"
+# 35700 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_top_init = 
-# 1828 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 32195 "parser_cocci_menhir.ml"
+# 1961 "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)) )
+# 35712 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32206,9 +35723,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 = 
-# 1816 "parser_cocci_menhir.mly"
+# 1949 "parser_cocci_menhir.mly"
                                      ([])
-# 32212 "parser_cocci_menhir.ml"
+# 35729 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32234,9 +35751,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots = 
-# 1817 "parser_cocci_menhir.mly"
+# 1950 "parser_cocci_menhir.mly"
                                      (_2)
-# 32240 "parser_cocci_menhir.ml"
+# 35757 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32264,9 +35781,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots = 
-# 1818 "parser_cocci_menhir.mly"
+# 1951 "parser_cocci_menhir.mly"
                                      ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 32270 "parser_cocci_menhir.ml"
+# 35787 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32294,9 +35811,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots = 
-# 1819 "parser_cocci_menhir.mly"
+# 1952 "parser_cocci_menhir.mly"
                                           (_1@_2)
-# 32300 "parser_cocci_menhir.ml"
+# 35817 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32322,9 +35839,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots_init = 
-# 1807 "parser_cocci_menhir.mly"
+# 1940 "parser_cocci_menhir.mly"
                                      (_2)
-# 32328 "parser_cocci_menhir.ml"
+# 35845 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32352,9 +35869,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots_init = 
-# 1808 "parser_cocci_menhir.mly"
+# 1941 "parser_cocci_menhir.mly"
                                      ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 32358 "parser_cocci_menhir.ml"
+# 35875 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32382,9 +35899,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots_init = 
-# 1809 "parser_cocci_menhir.mly"
+# 1942 "parser_cocci_menhir.mly"
                                           (_1@_2)
-# 32388 "parser_cocci_menhir.ml"
+# 35905 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32399,9 +35916,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 = 
-# 1812 "parser_cocci_menhir.mly"
+# 1945 "parser_cocci_menhir.mly"
                                      ([])
-# 32405 "parser_cocci_menhir.ml"
+# 35922 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32429,9 +35946,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_exp = 
-# 1813 "parser_cocci_menhir.mly"
+# 1946 "parser_cocci_menhir.mly"
                                      (_1::_2)
-# 32435 "parser_cocci_menhir.ml"
+# 35952 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32446,9 +35963,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 = 
-# 1822 "parser_cocci_menhir.mly"
+# 1955 "parser_cocci_menhir.mly"
                                      ([])
-# 32452 "parser_cocci_menhir.ml"
+# 35969 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32476,9 +35993,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_stm = 
-# 1823 "parser_cocci_menhir.mly"
+# 1956 "parser_cocci_menhir.mly"
                                      (_1::_2)
-# 32482 "parser_cocci_menhir.ml"
+# 35999 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32506,9 +36023,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_stm = 
-# 1824 "parser_cocci_menhir.mly"
+# 1957 "parser_cocci_menhir.mly"
                                      (_1@_2)
-# 32512 "parser_cocci_menhir.ml"
+# 36029 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32536,9 +36053,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_ = 
-# 1802 "parser_cocci_menhir.mly"
+# 1935 "parser_cocci_menhir.mly"
                                      ( _1::_2 )
-# 32542 "parser_cocci_menhir.ml"
+# 36059 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32566,9 +36083,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_ = 
-# 1803 "parser_cocci_menhir.mly"
+# 1936 "parser_cocci_menhir.mly"
                                      ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 32572 "parser_cocci_menhir.ml"
+# 36089 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32596,9 +36113,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_ = 
-# 1804 "parser_cocci_menhir.mly"
+# 1937 "parser_cocci_menhir.mly"
                                           ( _1@_2 )
-# 32602 "parser_cocci_menhir.ml"
+# 36119 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32629,9 +36146,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let b : 'tv_toplevel_after_dots_init = Obj.magic b in
         let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in
         let a0 : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32635 "parser_cocci_menhir.ml"
+# 36152 "parser_cocci_menhir.ml"
         ) = Obj.magic a0 in
         let _startpos = _startpos_a0_ in
         let _endpos = _endpos_b_ in
@@ -32639,15 +36156,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let w = w0 in
           let a = a0 in
           
-# 926 "parser_cocci_menhir.mly"
+# 992 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
-# 32645 "parser_cocci_menhir.ml"
+# 36162 "parser_cocci_menhir.ml"
           
         in
         
-# 1795 "parser_cocci_menhir.mly"
+# 1928 "parser_cocci_menhir.mly"
                                              ( a::b )
-# 32651 "parser_cocci_menhir.ml"
+# 36168 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32687,16 +36204,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let b : 'tv_toplevel_after_dots_init = Obj.magic b in
         let c0 : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32693 "parser_cocci_menhir.ml"
+# 36210 "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 : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32700 "parser_cocci_menhir.ml"
+# 36217 "parser_cocci_menhir.ml"
         ) = Obj.magic a0 in
         let _startpos = _startpos_a0_ in
         let _endpos = _endpos_b_ in
@@ -32706,16 +36223,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let w = w0 in
           let a = a0 in
           
-# 930 "parser_cocci_menhir.mly"
+# 996 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
                          P.clt2mcode "...>" c, List.concat w, false)) )
-# 32713 "parser_cocci_menhir.ml"
+# 36230 "parser_cocci_menhir.ml"
           
         in
         
-# 1796 "parser_cocci_menhir.mly"
+# 1929 "parser_cocci_menhir.mly"
                                               ( a::b )
-# 32719 "parser_cocci_menhir.ml"
+# 36236 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32755,16 +36272,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let b : 'tv_toplevel_after_dots_init = Obj.magic b in
         let c0 : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32761 "parser_cocci_menhir.ml"
+# 36278 "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 : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32768 "parser_cocci_menhir.ml"
+# 36285 "parser_cocci_menhir.ml"
         ) = Obj.magic a0 in
         let _startpos = _startpos_a0_ in
         let _endpos = _endpos_b_ in
@@ -32774,16 +36291,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let w = w0 in
           let a = a0 in
           
-# 933 "parser_cocci_menhir.mly"
+# 999 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
                          P.clt2mcode "...+>" c, List.concat w, true)) )
-# 32781 "parser_cocci_menhir.ml"
+# 36298 "parser_cocci_menhir.ml"
           
         in
         
-# 1796 "parser_cocci_menhir.mly"
+# 1929 "parser_cocci_menhir.mly"
                                               ( a::b )
-# 32787 "parser_cocci_menhir.ml"
+# 36304 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32817,16 +36334,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let c0 : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32823 "parser_cocci_menhir.ml"
+# 36340 "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 : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32830 "parser_cocci_menhir.ml"
+# 36347 "parser_cocci_menhir.ml"
         ) = Obj.magic a0 in
         let _startpos = _startpos_a0_ in
         let _endpos = _endpos_c0_ in
@@ -32836,16 +36353,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let w = w0 in
           let a = a0 in
           
-# 930 "parser_cocci_menhir.mly"
+# 996 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
                          P.clt2mcode "...>" c, List.concat w, false)) )
-# 32843 "parser_cocci_menhir.ml"
+# 36360 "parser_cocci_menhir.ml"
           
         in
         
-# 1797 "parser_cocci_menhir.mly"
+# 1930 "parser_cocci_menhir.mly"
                                        ( [a] )
-# 32849 "parser_cocci_menhir.ml"
+# 36366 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32879,16 +36396,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let c0 : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32885 "parser_cocci_menhir.ml"
+# 36402 "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 : (
-# 76 "parser_cocci_menhir.mly"
+# 77 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32892 "parser_cocci_menhir.ml"
+# 36409 "parser_cocci_menhir.ml"
         ) = Obj.magic a0 in
         let _startpos = _startpos_a0_ in
         let _endpos = _endpos_c0_ in
@@ -32898,16 +36415,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let w = w0 in
           let a = a0 in
           
-# 933 "parser_cocci_menhir.mly"
+# 999 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
                          P.clt2mcode "...+>" c, List.concat w, true)) )
-# 32905 "parser_cocci_menhir.ml"
+# 36422 "parser_cocci_menhir.ml"
           
         in
         
-# 1797 "parser_cocci_menhir.mly"
+# 1930 "parser_cocci_menhir.mly"
                                        ( [a] )
-# 32911 "parser_cocci_menhir.ml"
+# 36428 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32935,9 +36452,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = 
-# 1798 "parser_cocci_menhir.mly"
+# 1931 "parser_cocci_menhir.mly"
                                      ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 32941 "parser_cocci_menhir.ml"
+# 36458 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32965,9 +36482,522 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = 
-# 1799 "parser_cocci_menhir.mly"
+# 1932 "parser_cocci_menhir.mly"
                                           ( _1@_2 )
-# 32971 "parser_cocci_menhir.ml"
+# 36488 "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 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36520 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36525 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ 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
+            
+# 536 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 36537 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 36543 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 36550 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 620 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 36556 "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 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36588 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36593 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ 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
+            
+# 538 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 36605 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 36611 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 36618 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 620 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 36624 "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 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36656 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36661 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ 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
+            
+# 540 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 36673 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 36679 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 36686 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 620 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 36692 "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.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 : (
+# 68 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 36724 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36729 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ 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
+            
+# 542 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 36742 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 36748 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 36755 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 620 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 36761 "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 = 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 : (
+# 62 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 36802 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r00 : (
+# 49 "parser_cocci_menhir.mly"
+      (string)
+# 36807 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let r1 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36812 "parser_cocci_menhir.ml"
+        ) = Obj.magic r1 in
+        let _startpos = _startpos_r1_ 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
+            
+# 545 "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*))) )
+# 36831 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 36837 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 36844 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 620 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 36850 "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 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36882 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36887 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ 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
+            
+# 552 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 36899 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 36905 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 36912 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 620 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 36918 "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 = 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 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36955 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36960 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty100 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 36965 "parser_cocci_menhir.ml"
+        ) = Obj.magic r0 in
+        let _startpos = _startpos_r0_ 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
+            
+# 554 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 36982 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 36988 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 36995 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 620 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37001 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32999,12 +37029,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33003 "parser_cocci_menhir.ml"
+# 37033 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33008 "parser_cocci_menhir.ml"
+# 37038 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -33014,28 +37044,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 515 "parser_cocci_menhir.mly"
+# 536 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 33020 "parser_cocci_menhir.ml"
+# 37050 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33026 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 37056 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33033 "parser_cocci_menhir.ml"
+# 37063 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33039 "parser_cocci_menhir.ml"
+# 37069 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33067,12 +37097,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33071 "parser_cocci_menhir.ml"
+# 37101 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33076 "parser_cocci_menhir.ml"
+# 37106 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -33082,28 +37112,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 517 "parser_cocci_menhir.mly"
+# 538 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 33088 "parser_cocci_menhir.ml"
+# 37118 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33094 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 37124 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33101 "parser_cocci_menhir.ml"
+# 37131 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33107 "parser_cocci_menhir.ml"
+# 37137 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33135,12 +37165,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33139 "parser_cocci_menhir.ml"
+# 37169 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33144 "parser_cocci_menhir.ml"
+# 37174 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -33150,28 +37180,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 519 "parser_cocci_menhir.mly"
+# 540 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 33156 "parser_cocci_menhir.ml"
+# 37186 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33162 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 37192 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33169 "parser_cocci_menhir.ml"
+# 37199 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33175 "parser_cocci_menhir.ml"
+# 37205 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33201,14 +37231,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 33207 "parser_cocci_menhir.ml"
+# 37237 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33212 "parser_cocci_menhir.ml"
+# 37242 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -33218,29 +37248,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 521 "parser_cocci_menhir.mly"
+# 542 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 33225 "parser_cocci_menhir.ml"
+# 37255 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33231 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 37261 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33238 "parser_cocci_menhir.ml"
+# 37268 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33244 "parser_cocci_menhir.ml"
+# 37274 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33279,19 +37309,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 61 "parser_cocci_menhir.mly"
+# 62 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 33285 "parser_cocci_menhir.ml"
+# 37315 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 33290 "parser_cocci_menhir.ml"
+# 37320 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let r1 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33295 "parser_cocci_menhir.ml"
+# 37325 "parser_cocci_menhir.ml"
         ) = Obj.magic r1 in
         let _startpos = _startpos_r1_ in
         let _endpos = _endpos_m_ in
@@ -33303,33 +37333,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 524 "parser_cocci_menhir.mly"
+# 545 "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*))) )
-# 33314 "parser_cocci_menhir.ml"
+# 37344 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33320 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 37350 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33327 "parser_cocci_menhir.ml"
+# 37357 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33333 "parser_cocci_menhir.ml"
+# 37363 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33361,12 +37391,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33365 "parser_cocci_menhir.ml"
+# 37395 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33370 "parser_cocci_menhir.ml"
+# 37400 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -33376,28 +37406,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 531 "parser_cocci_menhir.mly"
+# 552 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 33382 "parser_cocci_menhir.ml"
+# 37412 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33388 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 37418 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33395 "parser_cocci_menhir.ml"
+# 37425 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33401 "parser_cocci_menhir.ml"
+# 37431 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33434,17 +37464,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty200 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33438 "parser_cocci_menhir.ml"
+# 37468 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33443 "parser_cocci_menhir.ml"
+# 37473 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33448 "parser_cocci_menhir.ml"
+# 37478 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -33456,31 +37486,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 533 "parser_cocci_menhir.mly"
+# 554 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 33465 "parser_cocci_menhir.ml"
+# 37495 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33471 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 37501 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33478 "parser_cocci_menhir.ml"
+# 37508 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33484 "parser_cocci_menhir.ml"
+# 37514 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33496,59 +37526,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.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33516 "parser_cocci_menhir.ml"
+# 37541 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33521 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
+        let _startpos = _startpos_ty00_ 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
             
-# 515 "parser_cocci_menhir.mly"
+# 536 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 33533 "parser_cocci_menhir.ml"
+# 37552 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33539 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 37558 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33546 "parser_cocci_menhir.ml"
+# 37565 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33552 "parser_cocci_menhir.ml"
+# 37571 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33564,59 +37583,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.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33584 "parser_cocci_menhir.ml"
+# 37598 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33589 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
+        let _startpos = _startpos_ty00_ 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
             
-# 517 "parser_cocci_menhir.mly"
+# 538 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 33601 "parser_cocci_menhir.ml"
+# 37609 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33607 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 37615 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33614 "parser_cocci_menhir.ml"
+# 37622 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33620 "parser_cocci_menhir.ml"
+# 37628 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33632,59 +37640,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.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33652 "parser_cocci_menhir.ml"
+# 37655 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33657 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
+        let _startpos = _startpos_ty00_ 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
             
-# 519 "parser_cocci_menhir.mly"
+# 540 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 33669 "parser_cocci_menhir.ml"
+# 37666 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33675 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 37672 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33682 "parser_cocci_menhir.ml"
+# 37679 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33688 "parser_cocci_menhir.ml"
+# 37685 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33700,60 +37697,49 @@ 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 = {
-              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.next = _menhir_stack;
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 33720 "parser_cocci_menhir.ml"
+# 37712 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33725 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
+        let _startpos = _startpos_p00_ 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
             
-# 521 "parser_cocci_menhir.mly"
+# 542 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 33738 "parser_cocci_menhir.ml"
+# 37724 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33744 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 37730 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33751 "parser_cocci_menhir.ml"
+# 37737 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33757 "parser_cocci_menhir.ml"
+# 37743 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33773,76 +37759,422 @@ 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__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 = {
-                  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.next = _menhir_stack;
                 };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 61 "parser_cocci_menhir.mly"
+# 62 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 33798 "parser_cocci_menhir.ml"
+# 37779 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 33803 "parser_cocci_menhir.ml"
+# 37784 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let r1 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33808 "parser_cocci_menhir.ml"
-        ) = Obj.magic r1 in
-        let _startpos = _startpos_r1_ in
+        let _startpos = _startpos_r00_ 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
+            let p = p0 in
+            let r = r0 in
+            
+# 545 "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*))) )
+# 37802 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 37808 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37815 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 620 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37821 "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 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37848 "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
+            
+# 552 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 37859 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 37865 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37872 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 620 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37878 "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.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 ty200 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37910 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37915 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty100 in
+        let _startpos = _startpos_ty100_ 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
+            
+# 554 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 37931 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 37937 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37944 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 620 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37950 "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 : (
+# 53 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37977 "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
+            
+# 562 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 37988 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 37994 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 38001 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 620 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 38007 "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 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 38034 "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
+            
+# 564 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 38045 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38051 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 38058 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 620 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 38064 "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 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 38091 "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
+            
+# 566 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 38102 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38108 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 38115 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 620 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 38121 "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 : (
+# 52 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 38148 "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
             
-# 524 "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*))) )
-# 33827 "parser_cocci_menhir.ml"
+# 568 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 38159 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33833 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38165 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33840 "parser_cocci_menhir.ml"
+# 38172 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33846 "parser_cocci_menhir.ml"
+# 38178 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33858,59 +38190,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.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 52 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33878 "parser_cocci_menhir.ml"
+# 38205 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33883 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
+        let _startpos = _startpos_ty00_ 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
             
-# 531 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 33895 "parser_cocci_menhir.ml"
+# 570 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 38216 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33901 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38222 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33908 "parser_cocci_menhir.ml"
+# 38229 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33914 "parser_cocci_menhir.ml"
+# 38235 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33926,74 +38247,48 @@ 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.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 = 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 ty200 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33951 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33956 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
+        let ty00 : (
+# 52 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33961 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
+# 38262 "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 ty20 = ty200 in
-          let ty10 = ty100 in
-          let r = r0 in
+          let ty0 = ty00 in
           let ty =
-            let ty2 = ty20 in
-            let ty1 = ty10 in
+            let ty = ty0 in
             
-# 533 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 33978 "parser_cocci_menhir.ml"
+# 572 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 38273 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33984 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38279 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33991 "parser_cocci_menhir.ml"
+# 38286 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33997 "parser_cocci_menhir.ml"
+# 38292 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34009,48 +38304,56 @@ 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.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;
+              };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+        let i00 : 'tv_ident = Obj.magic i00 in
+        let s00 : (
+# 53 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34024 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+# 38325 "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 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
             
-# 515 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 34035 "parser_cocci_menhir.ml"
+# 574 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 38338 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 34041 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38344 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 34048 "parser_cocci_menhir.ml"
+# 38351 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34054 "parser_cocci_menhir.ml"
+# 38357 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34066,48 +38369,90 @@ 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.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 ty00 : (
-# 51 "parser_cocci_menhir.mly"
+        let r00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 38399 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 38405 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 53 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34081 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+# 38410 "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 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 )
+# 38428 "parser_cocci_menhir.ml"
+              
+            in
             
-# 517 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 34092 "parser_cocci_menhir.ml"
+# 576 "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)) )
+# 38437 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 34098 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38443 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 34105 "parser_cocci_menhir.ml"
+# 38450 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34111 "parser_cocci_menhir.ml"
+# 38456 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34123,48 +38468,99 @@ 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.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 ty00 : (
-# 51 "parser_cocci_menhir.mly"
+        let r00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 38503 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 38509 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_ident = Obj.magic x000 in
+        let s00 : (
+# 53 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34138 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+# 38515 "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 ty0 = ty00 in
+          let r0 = r00 in
+          let ids0 = ids00 in
+          let l0 = l00 in
+          let x00 = x000 in
+          let s0 = s00 in
           let ty =
-            let ty = ty0 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 )
+# 38536 "parser_cocci_menhir.ml"
+              
+            in
             
-# 519 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 34149 "parser_cocci_menhir.ml"
+# 576 "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)) )
+# 38545 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 34155 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38551 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 34162 "parser_cocci_menhir.ml"
+# 38558 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34168 "parser_cocci_menhir.ml"
+# 38564 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34180,49 +38576,52 @@ 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.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;
+              };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 67 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 34195 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let _startpos = _startpos_p00_ 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 _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
-          let p0 = p00 in
+          let i0 = i00 in
+          let s0 = s00 in
           let ty =
-            let p = p0 in
+            let i = i0 in
+            let s = s0 in
             
-# 521 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 34207 "parser_cocci_menhir.ml"
+# 581 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 38606 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 34213 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38612 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 34220 "parser_cocci_menhir.ml"
+# 38619 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34226 "parser_cocci_menhir.ml"
+# 38625 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34238,69 +38637,87 @@ 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 = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__2_;
-              MenhirLib.EngineTypes.endp = _endpos__2_;
+              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 = r00;
-                MenhirLib.EngineTypes.startp = _startpos_r00_;
-                MenhirLib.EngineTypes.endp = _endpos_r00_;
-                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 p00 : (
-# 61 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 34262 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
         let r00 : (
-# 49 "parser_cocci_menhir.mly"
-      (string)
-# 34267 "parser_cocci_menhir.ml"
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 38667 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let _startpos = _startpos_r00_ in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 38673 "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_typedef_ctype = let ty =
-          let p0 = p00 in
           let r0 = r00 in
+          let d0 = d00 in
+          let l0 = l00 in
+          let s0 = s00 in
           let ty =
-            let p = p0 in
             let r = r0 in
+            let d = d0 in
+            let l = l0 in
+            let s = s0 in
+            let i =
+              
+# 39 "standard.mly"
+    ( None )
+# 38692 "parser_cocci_menhir.ml"
+              
+            in
             
-# 524 "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*))) )
-# 34285 "parser_cocci_menhir.ml"
+# 584 "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)) )
+# 38702 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 34291 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38708 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 34298 "parser_cocci_menhir.ml"
+# 38715 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34304 "parser_cocci_menhir.ml"
+# 38721 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34316,48 +38733,96 @@ 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.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 ty00 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 34331 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 38768 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 38774 "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 _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
-          let ty0 = ty00 in
+          let r0 = r00 in
+          let d0 = d00 in
+          let l0 = l00 in
+          let x00 = x000 in
+          let s0 = s00 in
           let ty =
-            let ty = ty0 in
+            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 )
+# 38797 "parser_cocci_menhir.ml"
+              
+            in
             
-# 531 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 34342 "parser_cocci_menhir.ml"
+# 584 "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)) )
+# 38807 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 34348 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38813 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 34355 "parser_cocci_menhir.ml"
+# 38820 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34361 "parser_cocci_menhir.ml"
+# 38826 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34373,63 +38838,82 @@ 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.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = ty100;
-              MenhirLib.EngineTypes.startp = _startpos_ty100_;
-              MenhirLib.EngineTypes.endp = _endpos_ty100_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              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 ty200 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 34393 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 34398 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let _startpos = _startpos_ty100_ in
+        let r00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 38868 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 38874 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 68 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 38879 "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 ty20 = ty200 in
-          let ty10 = ty100 in
+          let r0 = r00 in
+          let d0 = d00 in
+          let l0 = l00 in
+          let s0 = s00 in
           let ty =
-            let ty2 = ty20 in
-            let ty1 = ty10 in
+            let r = r0 in
+            let d = d0 in
+            let l = l0 in
+            let s = s0 in
             
-# 533 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 34414 "parser_cocci_menhir.ml"
+# 590 "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)) )
+# 38898 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 34420 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38904 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 34427 "parser_cocci_menhir.ml"
+# 38911 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34433 "parser_cocci_menhir.ml"
+# 38917 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34446,47 +38930,47 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           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.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 ty00 : (
-# 52 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 34460 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let p00 : (
+# 62 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 38944 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let _startpos = _startpos_p00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_typedef_ctype = let ty =
-          let ty0 = ty00 in
+          let p0 = p00 in
           let ty =
-            let ty = ty0 in
+            let p = p0 in
             
-# 541 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 34471 "parser_cocci_menhir.ml"
+# 594 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 38955 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
                         ( ty )
-# 34477 "parser_cocci_menhir.ml"
+# 38961 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 34484 "parser_cocci_menhir.ml"
+# 38968 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34490 "parser_cocci_menhir.ml"
+# 38974 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34502,48 +38986,66 @@ 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.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 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34517 "parser_cocci_menhir.ml"
+# 39011 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39016 "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
             
-# 543 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 34528 "parser_cocci_menhir.ml"
+# 536 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 39029 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34534 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 39035 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34541 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 39043 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34547 "parser_cocci_menhir.ml"
+# 39049 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34559,48 +39061,66 @@ 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.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 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34574 "parser_cocci_menhir.ml"
+# 39086 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39091 "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
             
-# 545 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 34585 "parser_cocci_menhir.ml"
+# 538 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 39104 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34591 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 39110 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34598 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 39118 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34604 "parser_cocci_menhir.ml"
+# 39124 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34616,56 +39136,66 @@ 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 = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
             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.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 i00 : 'tv_ident = Obj.magic i00 in
-        let s00 : (
-# 52 "parser_cocci_menhir.mly"
+        let ty00 : (
+# 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34637 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+# 39161 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39166 "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 i0 = i00 in
-          let s0 = s00 in
+          let ty0 = ty00 in
+          let r = r0 in
           let ty =
-            let i = i0 in
-            let s = s0 in
+            let ty = ty0 in
             
-# 547 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 34650 "parser_cocci_menhir.ml"
+# 540 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 39179 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34656 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 39185 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34663 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 39193 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34669 "parser_cocci_menhir.ml"
+# 39199 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34681,52 +39211,67 @@ 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.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 i00 : 'tv_ident = Obj.magic i00 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let p00 : (
+# 68 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 39236 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39241 "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 i0 = i00 in
-          let s0 = s00 in
+          let p0 = p00 in
+          let r = r0 in
           let ty =
-            let i = i0 in
-            let s = s0 in
+            let p = p0 in
             
-# 549 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 34711 "parser_cocci_menhir.ml"
+# 542 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 39255 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34717 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 39261 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34724 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 39269 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34730 "parser_cocci_menhir.ml"
+# 39275 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34742,87 +39287,87 @@ 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 = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = d00;
-              MenhirLib.EngineTypes.startp = _startpos_d00_;
-              MenhirLib.EngineTypes.endp = _endpos_d00_;
+              MenhirLib.EngineTypes.startp = _startpos__4_;
+              MenhirLib.EngineTypes.endp = _endpos__4_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = l00;
-                MenhirLib.EngineTypes.startp = _startpos_l00_;
-                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                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 = s00;
-                  MenhirLib.EngineTypes.startp = _startpos_s00_;
-                  MenhirLib.EngineTypes.endp = _endpos_s00_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  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 : (
+# 62 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 39321 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
         let r00 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 34772 "parser_cocci_menhir.ml"
+# 49 "parser_cocci_menhir.mly"
+      (string)
+# 39326 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 34778 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let r1 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39331 "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 d0 = d00 in
-          let l0 = l00 in
-          let s0 = s00 in
+          let r = r1 in
           let ty =
+            let p = p0 in
             let r = r0 in
-            let d = d0 in
-            let l = l0 in
-            let s = s0 in
-            let i =
-              
-# 39 "standard.mly"
-    ( None )
-# 34797 "parser_cocci_menhir.ml"
-              
-            in
             
-# 552 "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)) )
-# 34807 "parser_cocci_menhir.ml"
+# 545 "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*))) )
+# 39351 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34813 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 39357 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34820 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 39365 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34826 "parser_cocci_menhir.ml"
+# 39371 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34838,96 +39383,66 @@ 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.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
               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 = 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 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 34873 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 34879 "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 ty00 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39408 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39413 "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 r0 = r00 in
-          let d0 = d00 in
-          let l0 = l00 in
-          let x00 = x000 in
-          let s0 = s00 in
+          let ty0 = ty00 in
+          let r = r0 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 )
-# 34902 "parser_cocci_menhir.ml"
-              
-            in
+            let ty = ty0 in
             
 # 552 "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)) )
-# 34912 "parser_cocci_menhir.ml"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 39426 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34918 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 39432 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34925 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 39440 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34931 "parser_cocci_menhir.ml"
+# 39446 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34943,22 +39458,22 @@ 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.semv = r0;
+                MenhirLib.EngineTypes.startp = _startpos_r0_;
+                MenhirLib.EngineTypes.endp = _endpos_r0_;
                 MenhirLib.EngineTypes.next = {
                   MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = s00;
-                  MenhirLib.EngineTypes.startp = _startpos_s00_;
-                  MenhirLib.EngineTypes.endp = _endpos_s00_;
+                  MenhirLib.EngineTypes.semv = x0;
+                  MenhirLib.EngineTypes.startp = _startpos_x0_;
+                  MenhirLib.EngineTypes.endp = _endpos_x0_;
                   MenhirLib.EngineTypes.next = _menhir_stack;
                   };
                 };
@@ -34966,116 +39481,58 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let r00 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 34973 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 104 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 34979 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : (
-# 67 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 34984 "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 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
-            
-# 558 "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)) )
-# 35003 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 35009 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 35016 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 588 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 35022 "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 : (
-# 61 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 35049 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let _startpos = _startpos_p00_ in
+        let ty200 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39488 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39493 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty100 in
+        let r0 : (
+# 54 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39498 "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 ty20 = ty200 in
+          let ty10 = ty100 in
+          let r = r0 in
           let ty =
-            let p = p0 in
+            let ty2 = ty20 in
+            let ty1 = ty10 in
             
-# 562 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 35060 "parser_cocci_menhir.ml"
+# 554 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 39516 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
-                        ( ty )
-# 35066 "parser_cocci_menhir.ml"
+# 599 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 39522 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 35073 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 39530 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35079 "parser_cocci_menhir.ml"
+# 39536 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35112,12 +39569,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35116 "parser_cocci_menhir.ml"
+# 39573 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35121 "parser_cocci_menhir.ml"
+# 39578 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35128,15 +39585,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 515 "parser_cocci_menhir.mly"
+# 536 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 35134 "parser_cocci_menhir.ml"
+# 39591 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35140 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 39597 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35144,13 +39601,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35148 "parser_cocci_menhir.ml"
+# 39605 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35154 "parser_cocci_menhir.ml"
+# 39611 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35187,12 +39644,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35191 "parser_cocci_menhir.ml"
+# 39648 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35196 "parser_cocci_menhir.ml"
+# 39653 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35203,15 +39660,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 517 "parser_cocci_menhir.mly"
+# 538 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 35209 "parser_cocci_menhir.ml"
+# 39666 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35215 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 39672 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35219,13 +39676,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35223 "parser_cocci_menhir.ml"
+# 39680 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35229 "parser_cocci_menhir.ml"
+# 39686 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35262,12 +39719,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35266 "parser_cocci_menhir.ml"
+# 39723 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35271 "parser_cocci_menhir.ml"
+# 39728 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35278,15 +39735,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 519 "parser_cocci_menhir.mly"
+# 540 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 35284 "parser_cocci_menhir.ml"
+# 39741 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35290 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 39747 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35294,13 +39751,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35298 "parser_cocci_menhir.ml"
+# 39755 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35304 "parser_cocci_menhir.ml"
+# 39761 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35335,14 +39792,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 35341 "parser_cocci_menhir.ml"
+# 39798 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35346 "parser_cocci_menhir.ml"
+# 39803 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35353,16 +39810,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 521 "parser_cocci_menhir.mly"
+# 542 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 35360 "parser_cocci_menhir.ml"
+# 39817 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35366 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 39823 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35370,13 +39827,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35374 "parser_cocci_menhir.ml"
+# 39831 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35380 "parser_cocci_menhir.ml"
+# 39837 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35420,19 +39877,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 61 "parser_cocci_menhir.mly"
+# 62 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 35426 "parser_cocci_menhir.ml"
+# 39883 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 35431 "parser_cocci_menhir.ml"
+# 39888 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let r1 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35436 "parser_cocci_menhir.ml"
+# 39893 "parser_cocci_menhir.ml"
         ) = Obj.magic r1 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35445,20 +39902,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 524 "parser_cocci_menhir.mly"
+# 545 "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*))) )
-# 35456 "parser_cocci_menhir.ml"
+# 39913 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35462 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 39919 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35466,13 +39923,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35470 "parser_cocci_menhir.ml"
+# 39927 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35476 "parser_cocci_menhir.ml"
+# 39933 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35509,12 +39966,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35513 "parser_cocci_menhir.ml"
+# 39970 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35518 "parser_cocci_menhir.ml"
+# 39975 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35525,15 +39982,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 531 "parser_cocci_menhir.mly"
+# 552 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 35531 "parser_cocci_menhir.ml"
+# 39988 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35537 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 39994 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35541,13 +39998,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35545 "parser_cocci_menhir.ml"
+# 40002 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35551 "parser_cocci_menhir.ml"
+# 40008 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35589,17 +40046,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty200 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35593 "parser_cocci_menhir.ml"
+# 40050 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35598 "parser_cocci_menhir.ml"
+# 40055 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 53 "parser_cocci_menhir.mly"
+# 54 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35603 "parser_cocci_menhir.ml"
+# 40060 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35612,18 +40069,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 533 "parser_cocci_menhir.mly"
+# 554 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 35621 "parser_cocci_menhir.ml"
+# 40078 "parser_cocci_menhir.ml"
             
           in
           
-# 567 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35627 "parser_cocci_menhir.ml"
+# 601 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40084 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35631,13 +40088,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35635 "parser_cocci_menhir.ml"
+# 40092 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35641 "parser_cocci_menhir.ml"
+# 40098 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35657,16 +40114,11 @@ 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
@@ -35674,31 +40126,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35678 "parser_cocci_menhir.ml"
+# 40130 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35683 "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
             
-# 515 "parser_cocci_menhir.mly"
+# 536 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 35696 "parser_cocci_menhir.ml"
+# 40142 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35702 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 40148 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35706,13 +40152,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35710 "parser_cocci_menhir.ml"
+# 40156 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35716 "parser_cocci_menhir.ml"
+# 40162 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35732,16 +40178,11 @@ 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
@@ -35749,31 +40190,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35753 "parser_cocci_menhir.ml"
+# 40194 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35758 "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
             
-# 517 "parser_cocci_menhir.mly"
+# 538 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 35771 "parser_cocci_menhir.ml"
+# 40206 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35777 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 40212 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35781,13 +40216,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35785 "parser_cocci_menhir.ml"
+# 40220 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35791 "parser_cocci_menhir.ml"
+# 40226 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35807,16 +40242,11 @@ 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
@@ -35824,31 +40254,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35828 "parser_cocci_menhir.ml"
+# 40258 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35833 "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
             
-# 519 "parser_cocci_menhir.mly"
+# 540 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 35846 "parser_cocci_menhir.ml"
+# 40270 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35852 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 40276 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35856,13 +40280,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35860 "parser_cocci_menhir.ml"
+# 40284 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35866 "parser_cocci_menhir.ml"
+# 40290 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35882,49 +40306,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 : (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 35903 "parser_cocci_menhir.ml"
+# 40322 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35908 "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
             
-# 521 "parser_cocci_menhir.mly"
+# 542 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 35922 "parser_cocci_menhir.ml"
+# 40335 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35928 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 40341 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35932,13 +40345,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35936 "parser_cocci_menhir.ml"
+# 40349 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35942 "parser_cocci_menhir.ml"
+# 40355 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35958,23 +40371,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;
                   };
                 };
               };
@@ -35982,210 +40390,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 61 "parser_cocci_menhir.mly"
+# 62 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 35988 "parser_cocci_menhir.ml"
+# 40396 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
 # 49 "parser_cocci_menhir.mly"
       (string)
-# 35993 "parser_cocci_menhir.ml"
+# 40401 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let r1 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35998 "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
             
-# 524 "parser_cocci_menhir.mly"
+# 545 "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*))) )
-# 36018 "parser_cocci_menhir.ml"
+# 40420 "parser_cocci_menhir.ml"
             
           in
           
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36024 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          let x = x0 in
-          
-# 41 "standard.mly"
-    ( Some x )
-# 36032 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 588 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 36038 "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 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 36075 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 36080 "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
-            
-# 531 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 36093 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36099 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          let x = x0 in
-          
-# 41 "standard.mly"
-    ( Some x )
-# 36107 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 588 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 36113 "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 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 36155 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 36160 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let r0 : (
-# 53 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 36165 "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
-            
-# 533 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 36183 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 569 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 36189 "parser_cocci_menhir.ml"
+# 602 "parser_cocci_menhir.mly"
+                    ( ty )
+# 40426 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36193,13 +40430,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36197 "parser_cocci_menhir.ml"
+# 40434 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36203 "parser_cocci_menhir.ml"
+# 40440 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36231,7 +40468,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36235 "parser_cocci_menhir.ml"
+# 40472 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36241,15 +40478,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 515 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 36247 "parser_cocci_menhir.ml"
+# 552 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 40484 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
+# 602 "parser_cocci_menhir.mly"
                     ( ty )
-# 36253 "parser_cocci_menhir.ml"
+# 40490 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36257,13 +40494,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36261 "parser_cocci_menhir.ml"
+# 40498 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36267 "parser_cocci_menhir.ml"
+# 40504 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36279,41 +40516,56 @@ 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 = ty200;
+            MenhirLib.EngineTypes.startp = _startpos_ty200_;
+            MenhirLib.EngineTypes.endp = _endpos_ty200_;
             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 = 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 ty00 : (
+        let ty200 : (
 # 51 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36299 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
+# 40541 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40546 "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 ty0 = ty00 in
+          let ty20 = ty200 in
+          let ty10 = ty100 in
           let ty =
-            let ty = ty0 in
+            let ty2 = ty20 in
+            let ty1 = ty10 in
             
-# 517 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 36311 "parser_cocci_menhir.ml"
+# 554 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 40563 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
+# 602 "parser_cocci_menhir.mly"
                     ( ty )
-# 36317 "parser_cocci_menhir.ml"
+# 40569 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36321,13 +40573,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36325 "parser_cocci_menhir.ml"
+# 40577 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36331 "parser_cocci_menhir.ml"
+# 40583 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36357,9 +40609,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 53 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36363 "parser_cocci_menhir.ml"
+# 40615 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36369,15 +40621,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 519 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 36375 "parser_cocci_menhir.ml"
+# 562 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 40627 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 36381 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 40633 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36385,13 +40637,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36389 "parser_cocci_menhir.ml"
+# 40641 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36395 "parser_cocci_menhir.ml"
+# 40647 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36407,9 +40659,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;
@@ -36420,29 +40672,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 67 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 36427 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
+        let ty00 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40679 "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 ty0 = ty00 in
           let ty =
-            let p = p0 in
+            let ty = ty0 in
             
-# 521 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 36440 "parser_cocci_menhir.ml"
+# 564 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 40691 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 36446 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 40697 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36450,13 +40701,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36454 "parser_cocci_menhir.ml"
+# 40705 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36460 "parser_cocci_menhir.ml"
+# 40711 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36472,62 +40723,41 @@ 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 = 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 : (
-# 61 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 36501 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r00 : (
-# 49 "parser_cocci_menhir.mly"
-      (string)
-# 36506 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
+        let ty00 : (
+# 51 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40743 "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
             
-# 524 "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*))) )
-# 36525 "parser_cocci_menhir.ml"
+# 566 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 40755 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 36531 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 40761 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36535,13 +40765,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36539 "parser_cocci_menhir.ml"
+# 40769 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36545 "parser_cocci_menhir.ml"
+# 40775 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36571,9 +40801,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 51 "parser_cocci_menhir.mly"
+# 52 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36577 "parser_cocci_menhir.ml"
+# 40807 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36583,15 +40813,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 531 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 36589 "parser_cocci_menhir.ml"
+# 568 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 40819 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 36595 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 40825 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36599,13 +40829,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36603 "parser_cocci_menhir.ml"
+# 40833 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36609 "parser_cocci_menhir.ml"
+# 40839 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36621,56 +40851,41 @@ 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 = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
             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;
-                };
+              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 : (
-# 51 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 36646 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 51 "parser_cocci_menhir.mly"
+        let ty00 : (
+# 52 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36651 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
+# 40871 "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 ty20 = ty200 in
-          let ty10 = ty100 in
+          let ty0 = ty00 in
           let ty =
-            let ty2 = ty20 in
-            let ty1 = ty10 in
+            let ty = ty0 in
             
-# 533 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 36668 "parser_cocci_menhir.ml"
+# 570 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 40883 "parser_cocci_menhir.ml"
             
           in
           
-# 570 "parser_cocci_menhir.mly"
-                    ( ty )
-# 36674 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+                        ( ty )
+# 40889 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36678,13 +40893,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36682 "parser_cocci_menhir.ml"
+# 40897 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36688 "parser_cocci_menhir.ml"
+# 40903 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36716,7 +40931,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let ty00 : (
 # 52 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36720 "parser_cocci_menhir.ml"
+# 40935 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36726,15 +40941,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 541 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 36732 "parser_cocci_menhir.ml"
+# 572 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 40947 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
                         ( ty )
-# 36738 "parser_cocci_menhir.ml"
+# 40953 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36742,13 +40957,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36746 "parser_cocci_menhir.ml"
+# 40961 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36752 "parser_cocci_menhir.ml"
+# 40967 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36764,41 +40979,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 : (
-# 51 "parser_cocci_menhir.mly"
+        let i00 : 'tv_ident = Obj.magic i00 in
+        let s00 : (
+# 53 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36784 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
+# 41005 "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
             
-# 543 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 36796 "parser_cocci_menhir.ml"
+# 574 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 41019 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
                         ( ty )
-# 36802 "parser_cocci_menhir.ml"
+# 41025 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36806,13 +41029,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36810 "parser_cocci_menhir.ml"
+# 41033 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36816 "parser_cocci_menhir.ml"
+# 41039 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36828,41 +41051,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 : (
-# 51 "parser_cocci_menhir.mly"
+        let r00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 41086 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 41092 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 53 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36848 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
+# 41097 "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 )
+# 41116 "parser_cocci_menhir.ml"
+              
+            in
             
-# 545 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 36860 "parser_cocci_menhir.ml"
+# 576 "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)) )
+# 41125 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
                         ( ty )
-# 36866 "parser_cocci_menhir.ml"
+# 41131 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36870,13 +41135,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36874 "parser_cocci_menhir.ml"
+# 41139 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36880 "parser_cocci_menhir.ml"
+# 41145 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36892,49 +41157,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.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.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 m : 'tv_list_TMul_ = Obj.magic m in
-        let i00 : 'tv_ident = Obj.magic i00 in
+        let r00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 41197 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 105 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 41203 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_ident = Obj.magic x000 in
         let s00 : (
-# 52 "parser_cocci_menhir.mly"
+# 53 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36918 "parser_cocci_menhir.ml"
+# 41209 "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 )
+# 41231 "parser_cocci_menhir.ml"
+              
+            in
             
-# 547 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 36932 "parser_cocci_menhir.ml"
+# 576 "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)) )
+# 41240 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
                         ( ty )
-# 36938 "parser_cocci_menhir.ml"
+# 41246 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36942,13 +41250,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36946 "parser_cocci_menhir.ml"
+# 41254 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36952 "parser_cocci_menhir.ml"
+# 41260 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36994,15 +41302,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let i = i0 in
             let s = s0 in
             
-# 549 "parser_cocci_menhir.mly"
+# 581 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 37000 "parser_cocci_menhir.ml"
+# 41308 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
                         ( ty )
-# 37006 "parser_cocci_menhir.ml"
+# 41314 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -37010,13 +41318,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 37014 "parser_cocci_menhir.ml"
+# 41322 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 37020 "parser_cocci_menhir.ml"
+# 41328 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37061,15 +41369,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let r00 : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37067 "parser_cocci_menhir.ml"
+# 41375 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let d00 : 'tv_struct_decl_list = Obj.magic d00 in
         let l00 : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37073 "parser_cocci_menhir.ml"
+# 41381 "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
@@ -37089,23 +41397,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               
 # 39 "standard.mly"
     ( None )
-# 37093 "parser_cocci_menhir.ml"
+# 41401 "parser_cocci_menhir.ml"
               
             in
             
-# 552 "parser_cocci_menhir.mly"
+# 584 "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)) )
-# 37103 "parser_cocci_menhir.ml"
+# 41411 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
                         ( ty )
-# 37109 "parser_cocci_menhir.ml"
+# 41417 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -37113,13 +41421,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 37117 "parser_cocci_menhir.ml"
+# 41425 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 37123 "parser_cocci_menhir.ml"
+# 41431 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37169,15 +41477,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let r00 : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37175 "parser_cocci_menhir.ml"
+# 41483 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let d00 : 'tv_struct_decl_list = Obj.magic d00 in
         let l00 : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37181 "parser_cocci_menhir.ml"
+# 41489 "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
@@ -37201,23 +41509,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               
 # 41 "standard.mly"
     ( Some x )
-# 37205 "parser_cocci_menhir.ml"
+# 41513 "parser_cocci_menhir.ml"
               
             in
             
-# 552 "parser_cocci_menhir.mly"
+# 584 "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)) )
-# 37215 "parser_cocci_menhir.ml"
+# 41523 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
                         ( ty )
-# 37221 "parser_cocci_menhir.ml"
+# 41529 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -37225,13 +41533,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 37229 "parser_cocci_menhir.ml"
+# 41537 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 37235 "parser_cocci_menhir.ml"
+# 41543 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37276,20 +41584,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let r00 : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37282 "parser_cocci_menhir.ml"
+# 41590 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let d00 : 'tv_struct_decl_list = Obj.magic d00 in
         let l00 : (
-# 104 "parser_cocci_menhir.mly"
+# 105 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37288 "parser_cocci_menhir.ml"
+# 41596 "parser_cocci_menhir.ml"
         ) = Obj.magic l00 in
         let s00 : (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 37293 "parser_cocci_menhir.ml"
+# 41601 "parser_cocci_menhir.ml"
         ) = Obj.magic s00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -37305,17 +41613,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let l = l0 in
             let s = s0 in
             
-# 558 "parser_cocci_menhir.mly"
+# 590 "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)) )
-# 37313 "parser_cocci_menhir.ml"
+# 41621 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
                         ( ty )
-# 37319 "parser_cocci_menhir.ml"
+# 41627 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -37323,13 +41631,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 37327 "parser_cocci_menhir.ml"
+# 41635 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 37333 "parser_cocci_menhir.ml"
+# 41641 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37359,9 +41667,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 61 "parser_cocci_menhir.mly"
+# 62 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 37365 "parser_cocci_menhir.ml"
+# 41673 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -37371,15 +41679,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 562 "parser_cocci_menhir.mly"
+# 594 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 37377 "parser_cocci_menhir.ml"
+# 41685 "parser_cocci_menhir.ml"
             
           in
           
-# 571 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
                         ( ty )
-# 37383 "parser_cocci_menhir.ml"
+# 41691 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -37387,13 +41695,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 37391 "parser_cocci_menhir.ml"
+# 41699 "parser_cocci_menhir.ml"
           
         in
         
-# 588 "parser_cocci_menhir.mly"
+# 620 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 37397 "parser_cocci_menhir.ml"
+# 41705 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37422,24 +41730,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37428 "parser_cocci_menhir.ml"
+# 41736 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
         let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37434 "parser_cocci_menhir.ml"
+# 41742 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let _startpos = _startpos_lp_ in
         let _endpos = _endpos_rp_ in
         let _v : 'tv_typedef_ctype = 
-# 590 "parser_cocci_menhir.mly"
+# 622 "parser_cocci_menhir.mly"
     ( let (mids,code) = t in
       Ast0.wrap
        (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 37443 "parser_cocci_menhir.ml"
+# 41751 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37461,9 +41769,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_typedef_ident = 
-# 1700 "parser_cocci_menhir.mly"
+# 1807 "parser_cocci_menhir.mly"
          ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
-# 37467 "parser_cocci_menhir.ml"
+# 41775 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37482,17 +41790,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 67 "parser_cocci_menhir.mly"
+# 68 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 37488 "parser_cocci_menhir.ml"
+# 41796 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_typedef_ident = 
-# 1702 "parser_cocci_menhir.mly"
+# 1809 "parser_cocci_menhir.mly"
          ( let (nm,pure,clt) = _1 in
         Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 37496 "parser_cocci_menhir.ml"
+# 41804 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37514,9 +41822,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_ = 
-# 1338 "parser_cocci_menhir.mly"
+# 1419 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 37520 "parser_cocci_menhir.ml"
+# 41828 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37539,18 +41847,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 : (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37547 "parser_cocci_menhir.ml"
+# 41855 "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_ = 
-# 1340 "parser_cocci_menhir.mly"
+# 1421 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 37554 "parser_cocci_menhir.ml"
+# 41862 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37573,18 +41881,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 : (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37581 "parser_cocci_menhir.ml"
+# 41889 "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_ = 
-# 1342 "parser_cocci_menhir.mly"
+# 1423 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 37588 "parser_cocci_menhir.ml"
+# 41896 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37612,9 +41920,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_ = 
-# 1344 "parser_cocci_menhir.mly"
+# 1425 "parser_cocci_menhir.mly"
       ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37618 "parser_cocci_menhir.ml"
+# 41926 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37637,19 +41945,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 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37645 "parser_cocci_menhir.ml"
+# 41953 "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_ = 
-# 1346 "parser_cocci_menhir.mly"
+# 1427 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37653 "parser_cocci_menhir.ml"
+# 41961 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37672,18 +41980,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 : (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37680 "parser_cocci_menhir.ml"
+# 41988 "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_ = 
-# 1349 "parser_cocci_menhir.mly"
+# 1430 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 37687 "parser_cocci_menhir.ml"
+# 41995 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37717,29 +42025,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37723 "parser_cocci_menhir.ml"
+# 42031 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let t : 'tv_ctype = Obj.magic t in
         let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37729 "parser_cocci_menhir.ml"
+# 42037 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let s : (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37734 "parser_cocci_menhir.ml"
+# 42042 "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_ = 
-# 1351 "parser_cocci_menhir.mly"
+# 1432 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                    P.clt2mcode "(" lp,t,
                                    P.clt2mcode ")" rp)) )
-# 37743 "parser_cocci_menhir.ml"
+# 42051 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37761,9 +42069,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_expr_eexpr_invalid_ = 
-# 1338 "parser_cocci_menhir.mly"
+# 1419 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 37767 "parser_cocci_menhir.ml"
+# 42075 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37786,18 +42094,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 : (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37794 "parser_cocci_menhir.ml"
+# 42102 "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_ = 
-# 1340 "parser_cocci_menhir.mly"
+# 1421 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 37801 "parser_cocci_menhir.ml"
+# 42109 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37820,18 +42128,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 : (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37828 "parser_cocci_menhir.ml"
+# 42136 "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_ = 
-# 1342 "parser_cocci_menhir.mly"
+# 1423 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 37835 "parser_cocci_menhir.ml"
+# 42143 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37859,9 +42167,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_invalid_ = 
-# 1344 "parser_cocci_menhir.mly"
+# 1425 "parser_cocci_menhir.mly"
       ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37865 "parser_cocci_menhir.ml"
+# 42173 "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 : (
+# 80 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42200 "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_ = 
+# 1427 "parser_cocci_menhir.mly"
+      ( let mcode = P.clt2mcode Ast.Not _1 in
+      Ast0.wrap(Ast0.Unary(_2, mcode)) )
+# 42208 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37884,19 +42227,443 @@ 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 : (
-# 79 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37892 "parser_cocci_menhir.ml"
+# 42235 "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_ = 
-# 1346 "parser_cocci_menhir.mly"
+# 1430 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
+# 42242 "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 : (
+# 81 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42278 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 80 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42284 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let s : (
+# 61 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42289 "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_ = 
+# 1432 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
+                                   P.clt2mcode "(" lp,t,
+                                   P.clt2mcode ")" rp)) )
+# 42298 "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_nest_expressions_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_unary_expr_eexpr_nest_expressions_ = 
+# 1419 "parser_cocci_menhir.mly"
+                                         ( _1 )
+# 42322 "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 : (
+# 89 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42349 "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_ = 
+# 1421 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
+# 42356 "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 : (
+# 89 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42383 "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_ = 
+# 1423 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
+# 42390 "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_nest_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_eexpr_nest_expressions_ = 
+# 1425 "parser_cocci_menhir.mly"
+      ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
+# 42420 "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 : (
+# 80 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42447 "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_ = 
+# 1427 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37900 "parser_cocci_menhir.ml"
+# 42455 "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 : (
+# 61 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42482 "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_ = 
+# 1430 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
+# 42489 "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 : (
+# 81 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42525 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 80 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42531 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let s : (
+# 61 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42536 "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_ = 
+# 1432 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
+                                   P.clt2mcode "(" lp,t,
+                                   P.clt2mcode ")" rp)) )
+# 42545 "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_expr_invalid_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_unary_expr_expr_invalid_ = 
+# 1419 "parser_cocci_menhir.mly"
+                                         ( _1 )
+# 42569 "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 : (
+# 89 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42596 "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_ = 
+# 1421 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
+# 42603 "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 : (
+# 89 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 42630 "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_ = 
+# 1423 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
+# 42637 "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_expr_invalid_ = 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_expr_invalid_ = 
+# 1425 "parser_cocci_menhir.mly"
+      ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
+# 42667 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37919,231 +42686,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 : (
-# 60 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 37927 "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_ = 
-# 1349 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 37934 "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 : (
 # 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37970 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_ctype = Obj.magic t in
-        let lp : (
-# 79 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 37976 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp in
-        let s : (
-# 60 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 37981 "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_ = 
-# 1351 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
-                                   P.clt2mcode "(" lp,t,
-                                   P.clt2mcode ")" rp)) )
-# 37990 "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_nest_expressions_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_unary_expr_eexpr_nest_expressions_ = 
-# 1338 "parser_cocci_menhir.mly"
-                                         ( _1 )
-# 38014 "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_eexpr_nest_expressions_ = Obj.magic _2 in
-        let _1 : (
-# 88 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 38041 "parser_cocci_menhir.ml"
+# 42694 "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_ = 
-# 1340 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 38048 "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_eexpr_nest_expressions_ = Obj.magic _2 in
-        let _1 : (
-# 88 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 38075 "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_ = 
-# 1342 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 38082 "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_nest_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_eexpr_nest_expressions_ = 
-# 1344 "parser_cocci_menhir.mly"
-      ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 38112 "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_eexpr_nest_expressions_ = Obj.magic _2 in
-        let _1 : (
-# 79 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 38139 "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_ = 
-# 1346 "parser_cocci_menhir.mly"
+        let _v : 'tv_unary_expr_expr_invalid_ = 
+# 1427 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 38147 "parser_cocci_menhir.ml"
+# 42702 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38166,18 +42721,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 : (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38174 "parser_cocci_menhir.ml"
+# 42729 "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_ = 
-# 1349 "parser_cocci_menhir.mly"
+        let _v : 'tv_unary_expr_expr_invalid_ = 
+# 1430 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 38181 "parser_cocci_menhir.ml"
+# 42736 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38211,29 +42766,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38217 "parser_cocci_menhir.ml"
+# 42772 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let t : 'tv_ctype = Obj.magic t in
         let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38223 "parser_cocci_menhir.ml"
+# 42778 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let s : (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38228 "parser_cocci_menhir.ml"
+# 42783 "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_ = 
-# 1351 "parser_cocci_menhir.mly"
+        let _v : 'tv_unary_expr_expr_invalid_ = 
+# 1432 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                    P.clt2mcode "(" lp,t,
                                    P.clt2mcode ")" rp)) )
-# 38237 "parser_cocci_menhir.ml"
+# 42792 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38251,13 +42806,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 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_expr_invalid_ = 
-# 1338 "parser_cocci_menhir.mly"
-                                         ( _1 )
-# 38261 "parser_cocci_menhir.ml"
+        let _v : 'tv_unary_expr_bis = 
+# 1438 "parser_cocci_menhir.mly"
+                                                          ( _1 )
+# 42816 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38280,18 +42835,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 : (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38288 "parser_cocci_menhir.ml"
+# 42843 "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_ = 
-# 1340 "parser_cocci_menhir.mly"
+        let _v : 'tv_unary_expr_bis = 
+# 1440 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 38295 "parser_cocci_menhir.ml"
+# 42850 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38314,18 +42869,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 : (
-# 88 "parser_cocci_menhir.mly"
+# 89 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38322 "parser_cocci_menhir.ml"
+# 42877 "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_ = 
-# 1342 "parser_cocci_menhir.mly"
+        let _v : 'tv_unary_expr_bis = 
+# 1442 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 38329 "parser_cocci_menhir.ml"
+# 42884 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38348,14 +42903,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_cast_expr_expr_invalid_ = Obj.magic _2 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_expr_invalid_ = 
-# 1344 "parser_cocci_menhir.mly"
+        let _v : 'tv_unary_expr_bis = 
+# 1444 "parser_cocci_menhir.mly"
       ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 38359 "parser_cocci_menhir.ml"
+# 42914 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38378,19 +42933,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 : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38386 "parser_cocci_menhir.ml"
+# 42941 "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_ = 
-# 1346 "parser_cocci_menhir.mly"
+        let _v : 'tv_unary_expr_bis = 
+# 1446 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 38394 "parser_cocci_menhir.ml"
+# 42949 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38413,18 +42968,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 : (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38421 "parser_cocci_menhir.ml"
+# 42976 "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_ = 
-# 1349 "parser_cocci_menhir.mly"
+        let _v : 'tv_unary_expr_bis = 
+# 1449 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 38428 "parser_cocci_menhir.ml"
+# 42983 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38458,29 +43013,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 80 "parser_cocci_menhir.mly"
+# 81 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38464 "parser_cocci_menhir.ml"
+# 43019 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let t : 'tv_ctype = Obj.magic t in
         let lp : (
-# 79 "parser_cocci_menhir.mly"
+# 80 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38470 "parser_cocci_menhir.ml"
+# 43025 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let s : (
-# 60 "parser_cocci_menhir.mly"
+# 61 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38475 "parser_cocci_menhir.ml"
+# 43030 "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_ = 
-# 1351 "parser_cocci_menhir.mly"
+        let _v : 'tv_unary_expr_bis = 
+# 1451 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                    P.clt2mcode "(" lp,t,
                                    P.clt2mcode ")" rp)) )
-# 38484 "parser_cocci_menhir.ml"
+# 43039 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38499,16 +43054,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 96 "parser_cocci_menhir.mly"
+# 97 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38505 "parser_cocci_menhir.ml"
+# 43060 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1355 "parser_cocci_menhir.mly"
+# 1455 "parser_cocci_menhir.mly"
                   ( P.clt2mcode Ast.GetRef _1 )
-# 38512 "parser_cocci_menhir.ml"
+# 43067 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38527,16 +43082,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 102 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38533 "parser_cocci_menhir.ml"
+# 43088 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1356 "parser_cocci_menhir.mly"
+# 1456 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.DeRef _1 )
-# 38540 "parser_cocci_menhir.ml"
+# 43095 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38555,16 +43110,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 101 "parser_cocci_menhir.mly"
+# 102 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38561 "parser_cocci_menhir.ml"
+# 43116 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1357 "parser_cocci_menhir.mly"
+# 1457 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.UnPlus _1 )
-# 38568 "parser_cocci_menhir.ml"
+# 43123 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38583,16 +43138,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 101 "parser_cocci_menhir.mly"
+# 102 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38589 "parser_cocci_menhir.ml"
+# 43144 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1358 "parser_cocci_menhir.mly"
+# 1458 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.UnMinus _1 )
-# 38596 "parser_cocci_menhir.ml"
+# 43151 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38611,16 +43166,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 102 "parser_cocci_menhir.mly"
+# 103 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38617 "parser_cocci_menhir.ml"
+# 43172 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1359 "parser_cocci_menhir.mly"
+# 1459 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.Tilde _1 )
-# 38624 "parser_cocci_menhir.ml"
+# 43179 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38648,9 +43203,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_when_start = 
-# 1921 "parser_cocci_menhir.mly"
+# 2059 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
-# 38654 "parser_cocci_menhir.ml"
+# 43209 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38678,9 +43233,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_when_start = 
-# 1923 "parser_cocci_menhir.mly"
+# 2061 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.DOTS(_1@_2)) )
-# 38684 "parser_cocci_menhir.ml"
+# 43239 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38702,9 +43257,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_w_ in
         let _endpos = _endpos_w_ in
         let _v : 'tv_whenppdecs = 
-# 937 "parser_cocci_menhir.mly"
+# 1003 "parser_cocci_menhir.mly"
     ( w )
-# 38708 "parser_cocci_menhir.ml"
+# 43263 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38738,9 +43293,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_ = 
-# 1990 "parser_cocci_menhir.mly"
+# 2106 "parser_cocci_menhir.mly"
                                          ( [Ast0.WhenNot w] )
-# 38744 "parser_cocci_menhir.ml"
+# 43299 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38774,9 +43329,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_ = 
-# 1991 "parser_cocci_menhir.mly"
+# 2107 "parser_cocci_menhir.mly"
                                              ( [Ast0.WhenAlways w] )
-# 38780 "parser_cocci_menhir.ml"
+# 43335 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38806,9 +43361,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_ = 
-# 1993 "parser_cocci_menhir.mly"
+# 2109 "parser_cocci_menhir.mly"
       ( List.map (function x -> Ast0.WhenModifier(x)) _2 )
-# 38812 "parser_cocci_menhir.ml"
+# 43367 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38842,9 +43397,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_ = 
-# 1994 "parser_cocci_menhir.mly"
+# 2110 "parser_cocci_menhir.mly"
                                         ( [Ast0.WhenNotTrue e] )
-# 38848 "parser_cocci_menhir.ml"
+# 43403 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38878,9 +43433,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_ = 
-# 1995 "parser_cocci_menhir.mly"
+# 2111 "parser_cocci_menhir.mly"
                                          ( [Ast0.WhenNotFalse e] )
-# 38884 "parser_cocci_menhir.ml"
+# 43439 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38901,106 +43456,106 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
 
 let rec script_meta_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1828 lexer lexbuf) : (
-# 164 "parser_cocci_menhir.mly"
-       ((string option (*string*) * string option (*ast*)) * Ast_cocci.meta_name * Ast_cocci.metavar)
-# 38908 "parser_cocci_menhir.ml"
+    (Obj.magic (MenhirInterpreter.entry 1993 lexer lexbuf) : (
+# 165 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 43463 "parser_cocci_menhir.ml"
     ))
 
 and rule_name =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1756 lexer lexbuf) : (
-# 158 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1918 lexer lexbuf) : (
+# 159 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 38916 "parser_cocci_menhir.ml"
+# 43471 "parser_cocci_menhir.ml"
     ))
 
 and reinit =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1754 lexer lexbuf) : (
-# 136 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1916 lexer lexbuf) : (
+# 137 "parser_cocci_menhir.mly"
       (unit)
-# 38924 "parser_cocci_menhir.ml"
+# 43479 "parser_cocci_menhir.ml"
     ))
 
 and plus_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1718 lexer lexbuf) : (
-# 145 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1880 lexer lexbuf) : (
+# 146 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38932 "parser_cocci_menhir.ml"
+# 43487 "parser_cocci_menhir.ml"
     ))
 
 and plus_exp_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1710 lexer lexbuf) : (
-# 148 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1872 lexer lexbuf) : (
+# 149 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38940 "parser_cocci_menhir.ml"
+# 43495 "parser_cocci_menhir.ml"
     ))
 
 and never_used =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1704 lexer lexbuf) : (
-# 173 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1866 lexer lexbuf) : (
+# 174 "parser_cocci_menhir.mly"
       (unit)
-# 38948 "parser_cocci_menhir.ml"
+# 43503 "parser_cocci_menhir.ml"
     ))
 
 and minus_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1624 lexer lexbuf) : (
-# 139 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1782 lexer lexbuf) : (
+# 140 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38956 "parser_cocci_menhir.ml"
+# 43511 "parser_cocci_menhir.ml"
     ))
 
 and minus_exp_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1612 lexer lexbuf) : (
-# 142 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1770 lexer lexbuf) : (
+# 143 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38964 "parser_cocci_menhir.ml"
+# 43519 "parser_cocci_menhir.ml"
     ))
 
 and meta_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1609 lexer lexbuf) : (
-# 162 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1767 lexer lexbuf) : (
+# 163 "parser_cocci_menhir.mly"
       ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 38972 "parser_cocci_menhir.ml"
+# 43527 "parser_cocci_menhir.ml"
     ))
 
 and iso_rule_name =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1605 lexer lexbuf) : (
-# 154 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1763 lexer lexbuf) : (
+# 155 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 38980 "parser_cocci_menhir.ml"
+# 43535 "parser_cocci_menhir.ml"
     ))
 
 and iso_meta_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1349 lexer lexbuf) : (
-# 170 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1496 lexer lexbuf) : (
+# 171 "parser_cocci_menhir.mly"
       ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 38988 "parser_cocci_menhir.ml"
+# 43543 "parser_cocci_menhir.ml"
     ))
 
 and iso_main =
   fun lexer lexbuf ->
     (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : (
-# 167 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 38996 "parser_cocci_menhir.ml"
+# 43551 "parser_cocci_menhir.ml"
     ))
 
 and include_main =
   fun lexer lexbuf ->
     (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
-# 151 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
       (Data.incl_iso list)
-# 39004 "parser_cocci_menhir.ml"
+# 43559 "parser_cocci_menhir.ml"
     ))