Coccinelle release 0.2.5-rc4
[bpt/coccinelle.git] / parsing_cocci / parser_cocci_menhir.ml
index b7b84d2..367bcf3 100644 (file)
@@ -2,436 +2,478 @@ exception Error
 
 type token = 
   | Tvolatile of (
-# 76 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
       (Data.clt)
 # 8 "parser_cocci_menhir.ml"
 )
   | Tvoid of (
-# 72 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
 # 13 "parser_cocci_menhir.ml"
 )
   | Tunsigned of (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
 # 18 "parser_cocci_menhir.ml"
 )
   | Tunion of (
-# 72 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
 # 23 "parser_cocci_menhir.ml"
 )
   | Ttypedef of (
-# 75 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
 # 28 "parser_cocci_menhir.ml"
 )
   | Tstruct of (
-# 72 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
 # 33 "parser_cocci_menhir.ml"
 )
   | Tstatic of (
-# 75 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
 # 38 "parser_cocci_menhir.ml"
 )
-  | Tsigned of (
-# 73 "parser_cocci_menhir.mly"
+  | Tssize_t of (
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
 # 43 "parser_cocci_menhir.ml"
 )
-  | Tshort of (
-# 71 "parser_cocci_menhir.mly"
+  | Tsize_t of (
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
 # 48 "parser_cocci_menhir.ml"
 )
-  | Tregister of (
-# 75 "parser_cocci_menhir.mly"
+  | Tsigned of (
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
 # 53 "parser_cocci_menhir.ml"
 )
-  | Tlong of (
-# 71 "parser_cocci_menhir.mly"
+  | Tshort of (
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
 # 58 "parser_cocci_menhir.ml"
+)
+  | Tregister of (
+# 119 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 63 "parser_cocci_menhir.ml"
+)
+  | Tptrdiff_t of (
+# 115 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 68 "parser_cocci_menhir.ml"
+)
+  | Tlong of (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 73 "parser_cocci_menhir.ml"
 )
   | Tlist
   | Tint of (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 64 "parser_cocci_menhir.ml"
+# 79 "parser_cocci_menhir.ml"
 )
   | Tinline of (
-# 75 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 69 "parser_cocci_menhir.ml"
+# 84 "parser_cocci_menhir.ml"
 )
   | Tfloat of (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 74 "parser_cocci_menhir.ml"
+# 89 "parser_cocci_menhir.ml"
 )
   | Textern of (
-# 75 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 79 "parser_cocci_menhir.ml"
+# 94 "parser_cocci_menhir.ml"
 )
   | Tenum of (
-# 72 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 84 "parser_cocci_menhir.ml"
+# 99 "parser_cocci_menhir.ml"
 )
   | Tdouble of (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 89 "parser_cocci_menhir.ml"
+# 104 "parser_cocci_menhir.ml"
 )
   | Tconst of (
-# 76 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
       (Data.clt)
-# 94 "parser_cocci_menhir.ml"
+# 109 "parser_cocci_menhir.ml"
 )
   | Tchar of (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 99 "parser_cocci_menhir.ml"
+# 114 "parser_cocci_menhir.ml"
 )
   | Tauto of (
-# 75 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 104 "parser_cocci_menhir.ml"
+# 119 "parser_cocci_menhir.ml"
 )
   | Tattr of (
-# 77 "parser_cocci_menhir.mly"
+# 121 "parser_cocci_menhir.mly"
       (string * Data.clt)
-# 109 "parser_cocci_menhir.ml"
+# 124 "parser_cocci_menhir.ml"
 )
   | TXor of (
-# 115 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
        (Data.clt)
-# 114 "parser_cocci_menhir.ml"
+# 129 "parser_cocci_menhir.ml"
 )
   | TWords
   | TWhy0
   | TWhy of (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 121 "parser_cocci_menhir.ml"
+# 136 "parser_cocci_menhir.ml"
 )
   | TWhile of (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 126 "parser_cocci_menhir.ml"
+# 141 "parser_cocci_menhir.ml"
 )
   | TWhenTrue of (
-# 97 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 131 "parser_cocci_menhir.ml"
+# 146 "parser_cocci_menhir.ml"
 )
   | TWhenFalse of (
-# 97 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 136 "parser_cocci_menhir.ml"
+# 151 "parser_cocci_menhir.ml"
 )
   | TWhen of (
-# 97 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 141 "parser_cocci_menhir.ml"
+# 156 "parser_cocci_menhir.ml"
 )
   | TVirtual
   | TUsing
+  | TUnderscore
+  | TUndef of (
+# 148 "parser_cocci_menhir.mly"
+       (Data.clt * token)
+# 164 "parser_cocci_menhir.ml"
+)
   | TTypedef
   | TTypeId of (
-# 81 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 149 "parser_cocci_menhir.ml"
+# 170 "parser_cocci_menhir.ml"
 )
   | TType
   | TTildeExclEq of (
-# 117 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 155 "parser_cocci_menhir.ml"
+# 176 "parser_cocci_menhir.ml"
 )
   | TTildeEq of (
-# 117 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 160 "parser_cocci_menhir.ml"
+# 181 "parser_cocci_menhir.ml"
 )
   | TTilde of (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 165 "parser_cocci_menhir.ml"
+# 186 "parser_cocci_menhir.ml"
 )
   | TSwitch of (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 170 "parser_cocci_menhir.ml"
+# 191 "parser_cocci_menhir.ml"
 )
   | TSub of (
-# 117 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 175 "parser_cocci_menhir.ml"
+# 196 "parser_cocci_menhir.ml"
 )
   | TString of (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 180 "parser_cocci_menhir.ml"
+# 201 "parser_cocci_menhir.ml"
 )
   | TStrict of (
-# 97 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 185 "parser_cocci_menhir.ml"
+# 206 "parser_cocci_menhir.ml"
 )
   | TStatement
   | TSizeof of (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 191 "parser_cocci_menhir.ml"
+# 212 "parser_cocci_menhir.ml"
 )
-  | TShOp of (
-# 119 "parser_cocci_menhir.mly"
+  | TShROp of (
+# 163 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 196 "parser_cocci_menhir.ml"
+# 217 "parser_cocci_menhir.ml"
+)
+  | TShLOp of (
+# 163 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 222 "parser_cocci_menhir.ml"
 )
   | TScriptData of (
-# 94 "parser_cocci_menhir.mly"
+# 138 "parser_cocci_menhir.mly"
        (string)
-# 201 "parser_cocci_menhir.ml"
+# 227 "parser_cocci_menhir.ml"
 )
   | TScript
   | TRuleName of (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 207 "parser_cocci_menhir.ml"
+# 233 "parser_cocci_menhir.ml"
 )
   | TRightIso
   | TReturn of (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 213 "parser_cocci_menhir.ml"
+# 239 "parser_cocci_menhir.ml"
 )
   | TPure
   | TPtrOp of (
-# 127 "parser_cocci_menhir.mly"
+# 171 "parser_cocci_menhir.mly"
        (Data.clt)
-# 219 "parser_cocci_menhir.ml"
+# 245 "parser_cocci_menhir.ml"
 )
   | TPtVirg of (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 224 "parser_cocci_menhir.ml"
+# 250 "parser_cocci_menhir.ml"
 )
   | TPragma of (
-# 82 "parser_cocci_menhir.mly"
+# 126 "parser_cocci_menhir.mly"
        (Ast_cocci.added_string * Data.clt)
-# 229 "parser_cocci_menhir.ml"
+# 255 "parser_cocci_menhir.ml"
 )
   | TPosition
   | TPosAny
   | TPlusFile of (
-# 106 "parser_cocci_menhir.mly"
+# 150 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 236 "parser_cocci_menhir.ml"
+# 262 "parser_cocci_menhir.ml"
 )
   | TPlus0
   | TPlus of (
-# 121 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Data.clt)
-# 242 "parser_cocci_menhir.ml"
+# 268 "parser_cocci_menhir.ml"
 )
   | TPathIsoFile of (
-# 102 "parser_cocci_menhir.mly"
+# 146 "parser_cocci_menhir.mly"
        (string)
-# 247 "parser_cocci_menhir.ml"
+# 273 "parser_cocci_menhir.ml"
 )
   | TParameter
   | TPOEllipsis of (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 253 "parser_cocci_menhir.ml"
+# 279 "parser_cocci_menhir.ml"
 )
   | TPCEllipsis of (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 258 "parser_cocci_menhir.ml"
+# 284 "parser_cocci_menhir.ml"
 )
   | TPArob
   | TOrLog of (
-# 112 "parser_cocci_menhir.mly"
+# 156 "parser_cocci_menhir.mly"
        (Data.clt)
-# 264 "parser_cocci_menhir.ml"
+# 290 "parser_cocci_menhir.ml"
 )
   | TOr of (
-# 114 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
        (Data.clt)
-# 269 "parser_cocci_menhir.ml"
+# 295 "parser_cocci_menhir.ml"
 )
   | TOn
   | TOPar0 of (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 275 "parser_cocci_menhir.ml"
+# 301 "parser_cocci_menhir.ml"
 )
   | TOPar of (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 280 "parser_cocci_menhir.ml"
+# 306 "parser_cocci_menhir.ml"
 )
   | TOInit of (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 285 "parser_cocci_menhir.ml"
+# 311 "parser_cocci_menhir.ml"
 )
   | TOEllipsis of (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 290 "parser_cocci_menhir.ml"
+# 316 "parser_cocci_menhir.ml"
 )
   | TOCro of (
-# 125 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 295 "parser_cocci_menhir.ml"
+# 321 "parser_cocci_menhir.ml"
 )
   | TOBrace of (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 300 "parser_cocci_menhir.ml"
+# 326 "parser_cocci_menhir.ml"
 )
   | TNothing
   | TNotEq of (
-# 117 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 306 "parser_cocci_menhir.ml"
+# 332 "parser_cocci_menhir.ml"
 )
   | TNever
   | TName
   | TMul of (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 313 "parser_cocci_menhir.ml"
+# 339 "parser_cocci_menhir.ml"
 )
   | TMinusFile of (
-# 106 "parser_cocci_menhir.mly"
+# 150 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 318 "parser_cocci_menhir.ml"
+# 344 "parser_cocci_menhir.ml"
 )
   | TMinus of (
-# 121 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Data.clt)
-# 323 "parser_cocci_menhir.ml"
+# 349 "parser_cocci_menhir.ml"
 )
   | TMid0 of (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 328 "parser_cocci_menhir.ml"
+# 354 "parser_cocci_menhir.ml"
 )
+  | TMetavariable
   | TMetaType of (
-# 87 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 333 "parser_cocci_menhir.ml"
+# 360 "parser_cocci_menhir.ml"
 )
   | TMetaStmList of (
-# 87 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 338 "parser_cocci_menhir.ml"
+# 365 "parser_cocci_menhir.ml"
 )
   | TMetaStm of (
-# 87 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 343 "parser_cocci_menhir.ml"
+# 370 "parser_cocci_menhir.ml"
 )
   | TMetaPos of (
-# 91 "parser_cocci_menhir.mly"
+# 135 "parser_cocci_menhir.mly"
        (Parse_aux.pos_info)
-# 348 "parser_cocci_menhir.ml"
+# 375 "parser_cocci_menhir.ml"
 )
   | TMetaParamList of (
-# 89 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 353 "parser_cocci_menhir.ml"
+# 380 "parser_cocci_menhir.ml"
 )
   | TMetaParam of (
-# 87 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 358 "parser_cocci_menhir.ml"
+# 385 "parser_cocci_menhir.ml"
 )
   | TMetaLocalIdExp of (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 363 "parser_cocci_menhir.ml"
+# 390 "parser_cocci_menhir.ml"
 )
   | TMetaLocalFunc of (
-# 84 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 368 "parser_cocci_menhir.ml"
+# 395 "parser_cocci_menhir.ml"
 )
   | TMetaIterator of (
-# 85 "parser_cocci_menhir.mly"
+# 129 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 373 "parser_cocci_menhir.ml"
+# 400 "parser_cocci_menhir.ml"
 )
   | TMetaInit of (
-# 88 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 378 "parser_cocci_menhir.ml"
+# 405 "parser_cocci_menhir.ml"
 )
   | TMetaIdExp of (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 383 "parser_cocci_menhir.ml"
+# 410 "parser_cocci_menhir.ml"
 )
   | TMetaId of (
-# 84 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 388 "parser_cocci_menhir.ml"
+# 415 "parser_cocci_menhir.ml"
 )
   | TMetaFunc of (
-# 84 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 393 "parser_cocci_menhir.ml"
+# 420 "parser_cocci_menhir.ml"
+)
+  | TMetaField of (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 425 "parser_cocci_menhir.ml"
 )
   | TMetaExpList of (
-# 89 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 398 "parser_cocci_menhir.ml"
+# 430 "parser_cocci_menhir.ml"
 )
   | TMetaExp of (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 403 "parser_cocci_menhir.ml"
+# 435 "parser_cocci_menhir.ml"
 )
   | TMetaErr of (
-# 86 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 408 "parser_cocci_menhir.ml"
+# 440 "parser_cocci_menhir.ml"
 )
   | TMetaDeclarer of (
-# 85 "parser_cocci_menhir.mly"
+# 129 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 413 "parser_cocci_menhir.ml"
+# 445 "parser_cocci_menhir.ml"
+)
+  | TMetaDecl of (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 450 "parser_cocci_menhir.ml"
 )
   | TMetaConst of (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 418 "parser_cocci_menhir.ml"
+# 455 "parser_cocci_menhir.ml"
+)
+  | TMeta of (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 460 "parser_cocci_menhir.ml"
 )
   | TMPtVirg
   | TLogOp of (
-# 118 "parser_cocci_menhir.mly"
+# 162 "parser_cocci_menhir.mly"
        (Ast_cocci.logicalOp * Data.clt)
-# 424 "parser_cocci_menhir.ml"
+# 466 "parser_cocci_menhir.ml"
 )
   | TLocal
   | TLineEnd of (
-# 97 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 430 "parser_cocci_menhir.ml"
+# 472 "parser_cocci_menhir.ml"
 )
   | TIteratorId of (
-# 81 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 435 "parser_cocci_menhir.ml"
+# 477 "parser_cocci_menhir.ml"
 )
   | TIterator
   | TIsoType
@@ -445,224 +487,226 @@ type token =
   | TIso
   | TInvalid
   | TInt of (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 451 "parser_cocci_menhir.ml"
+# 493 "parser_cocci_menhir.ml"
 )
   | TInitialize
   | TInitialiser
   | TIncludeNL of (
-# 103 "parser_cocci_menhir.mly"
+# 147 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 458 "parser_cocci_menhir.ml"
+# 500 "parser_cocci_menhir.ml"
 )
   | TIncludeL of (
-# 103 "parser_cocci_menhir.mly"
+# 147 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 463 "parser_cocci_menhir.ml"
+# 505 "parser_cocci_menhir.ml"
 )
   | TInc of (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 468 "parser_cocci_menhir.ml"
+# 510 "parser_cocci_menhir.ml"
 )
   | TIf of (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 473 "parser_cocci_menhir.ml"
+# 515 "parser_cocci_menhir.ml"
 )
   | TIdentifier
   | TIdent of (
-# 81 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 479 "parser_cocci_menhir.ml"
+# 521 "parser_cocci_menhir.ml"
 )
   | TIdExpression
   | TGoto of (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 485 "parser_cocci_menhir.ml"
+# 527 "parser_cocci_menhir.ml"
 )
   | TGenerated
   | TFunction
   | TFunDecl of (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 492 "parser_cocci_menhir.ml"
+# 534 "parser_cocci_menhir.ml"
 )
   | TFresh
   | TForall
   | TFor of (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 499 "parser_cocci_menhir.ml"
+# 541 "parser_cocci_menhir.ml"
 )
   | TFloat of (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 504 "parser_cocci_menhir.ml"
+# 546 "parser_cocci_menhir.ml"
 )
   | TFinalize
+  | TField
   | TExtends
   | TExpression
   | TExists
   | TEver
   | TError
   | TEqEq of (
-# 117 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 515 "parser_cocci_menhir.ml"
+# 558 "parser_cocci_menhir.ml"
 )
   | TEq of (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 520 "parser_cocci_menhir.ml"
+# 563 "parser_cocci_menhir.ml"
 )
   | TElse of (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 525 "parser_cocci_menhir.ml"
+# 568 "parser_cocci_menhir.ml"
 )
   | TEllipsis of (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 530 "parser_cocci_menhir.ml"
+# 573 "parser_cocci_menhir.ml"
 )
   | TDotDot of (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 535 "parser_cocci_menhir.ml"
+# 578 "parser_cocci_menhir.ml"
 )
   | TDot of (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 540 "parser_cocci_menhir.ml"
+# 583 "parser_cocci_menhir.ml"
 )
   | TDo of (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 545 "parser_cocci_menhir.ml"
+# 588 "parser_cocci_menhir.ml"
 )
   | TDmOp of (
-# 120 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 550 "parser_cocci_menhir.ml"
+# 593 "parser_cocci_menhir.ml"
 )
   | TDisable
   | TDepends
   | TDefineParam of (
-# 105 "parser_cocci_menhir.mly"
+# 149 "parser_cocci_menhir.mly"
        (Data.clt * token * int * int)
-# 557 "parser_cocci_menhir.ml"
+# 600 "parser_cocci_menhir.ml"
 )
   | TDefine of (
-# 104 "parser_cocci_menhir.mly"
+# 148 "parser_cocci_menhir.mly"
        (Data.clt * token)
-# 562 "parser_cocci_menhir.ml"
+# 605 "parser_cocci_menhir.ml"
 )
   | TDefault of (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 567 "parser_cocci_menhir.ml"
+# 610 "parser_cocci_menhir.ml"
 )
   | TDeclarerId of (
-# 81 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 572 "parser_cocci_menhir.ml"
+# 615 "parser_cocci_menhir.ml"
 )
   | TDeclarer
+  | TDeclaration
   | TDec of (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 578 "parser_cocci_menhir.ml"
+# 622 "parser_cocci_menhir.ml"
 )
   | TCppConcatOp
   | TContinue of (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 584 "parser_cocci_menhir.ml"
+# 628 "parser_cocci_menhir.ml"
 )
   | TContext
   | TConstant
   | TComma of (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 591 "parser_cocci_menhir.ml"
+# 635 "parser_cocci_menhir.ml"
 )
   | TChar of (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 596 "parser_cocci_menhir.ml"
+# 640 "parser_cocci_menhir.ml"
 )
   | TCase of (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 601 "parser_cocci_menhir.ml"
+# 645 "parser_cocci_menhir.ml"
 )
   | TCPar0 of (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 606 "parser_cocci_menhir.ml"
+# 650 "parser_cocci_menhir.ml"
 )
   | TCPar of (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 611 "parser_cocci_menhir.ml"
+# 655 "parser_cocci_menhir.ml"
 )
   | TCEllipsis of (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 616 "parser_cocci_menhir.ml"
+# 660 "parser_cocci_menhir.ml"
 )
   | TCCro of (
-# 125 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 621 "parser_cocci_menhir.ml"
+# 665 "parser_cocci_menhir.ml"
 )
   | TCBrace of (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 626 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.ml"
 )
   | TBreak of (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 631 "parser_cocci_menhir.ml"
+# 675 "parser_cocci_menhir.ml"
 )
   | TBang0
   | TBang of (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 637 "parser_cocci_menhir.ml"
+# 681 "parser_cocci_menhir.ml"
 )
   | TAssign of (
-# 131 "parser_cocci_menhir.mly"
+# 175 "parser_cocci_menhir.mly"
        (Ast_cocci.assignOp * Data.clt)
-# 642 "parser_cocci_menhir.ml"
+# 686 "parser_cocci_menhir.ml"
 )
   | TArobArob
   | TArob
   | TAny of (
-# 97 "parser_cocci_menhir.mly"
+# 141 "parser_cocci_menhir.mly"
        (Data.clt)
-# 649 "parser_cocci_menhir.ml"
+# 693 "parser_cocci_menhir.ml"
 )
   | TAndLog of (
-# 113 "parser_cocci_menhir.mly"
+# 157 "parser_cocci_menhir.mly"
        (Data.clt)
-# 654 "parser_cocci_menhir.ml"
+# 698 "parser_cocci_menhir.ml"
 )
   | TAnd of (
-# 116 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
        (Data.clt)
-# 659 "parser_cocci_menhir.ml"
+# 703 "parser_cocci_menhir.ml"
 )
   | EOF
 
 and _menhir_jeton = token
 
 
-# 45 "parser_cocci_menhir.mly"
+# 25 "parser_cocci_menhir.mly"
   
 
 (* Not clear how to allow function declarations to specify a return type
@@ -677,7 +721,70 @@ module Ast0 = Ast0_cocci
 module Ast = Ast_cocci
 module P = Parse_aux
 
-# 681 "parser_cocci_menhir.ml"
+(* ---------------------------------------------------------------------- *)
+(* support for TMeta *)
+
+let print_meta (r,n) = r^"."^n
+
+let meta_metatable = Hashtbl.create(101)
+
+let coerce_tmeta newty name builder matcher =
+  try
+    let x = Hashtbl.find meta_metatable name in
+    if not (matcher x)
+    then
+      failwith
+       (Printf.sprintf "Metavariable %s is used as %s"
+          (print_meta name) newty)
+  with Not_found ->
+    (if !Flag_parsing_cocci.show_SP
+    then
+      Common.pr2
+       (Printf.sprintf
+          "Metavariable %s is assumed to be %s metavariable"
+          (print_meta name) newty));
+    Hashtbl.add meta_metatable name builder
+
+let tmeta_to_type (name,pure,clt) =
+  (coerce_tmeta "a type" name (TMetaType(name,pure,clt))
+     (function TMetaType(_,_,_) -> true | _ -> false));
+  Ast0.wrap(Ast0.MetaType(P.clt2mcode name clt,pure))
+
+let tmeta_to_field (name,pure,clt) =
+  (coerce_tmeta "a field" name (TMetaField(name,pure,clt))
+     (function TMetaField(_,_,_) -> true | _ -> false));
+  P.meta_field (name,pure,clt)
+
+let tmeta_to_exp (name,pure,clt) =
+  (coerce_tmeta "an expression" name
+     (TMetaExp(name,Ast0.NoConstraint,pure,None,clt))
+     (function TMetaExp(_,_,_,_,_) -> true | _ -> false));
+  Ast0.wrap
+    (Ast0.MetaExpr(P.clt2mcode name clt,Ast0.NoConstraint,None,Ast.ANY,pure))
+
+let tmeta_to_param (name,pure,clt) =
+  (coerce_tmeta "a parameter" name (TMetaParam(name,pure,clt))
+     (function TMetaParam(_,_,_) -> true | _ -> false));
+  Ast0.wrap(Ast0.MetaParam(P.clt2mcode name clt,pure))
+
+let tmeta_to_statement (name,pure,clt) =
+  (coerce_tmeta "a statement" name (TMetaType(name,pure,clt))
+     (function TMetaType(_,_,_) -> true | _ -> false));
+  P.meta_stm (name,pure,clt)
+
+let tmeta_to_seed_id (name,pure,clt) =
+  (coerce_tmeta "an identifier" name
+     (TMetaId(name,Ast.IdNoConstraint,pure,clt))
+     (function TMetaId(_,_,_,_) -> true | _ -> false));
+  Ast.SeedId name
+
+let tmeta_to_ident (name,pure,clt) =
+  (coerce_tmeta "an identifier" name
+     (TMetaId(name,Ast.IdNoConstraint,pure,clt))
+     (function TMetaId(_,_,_,_) -> true | _ -> false));
+  Ast0.wrap(Ast0.MetaId(P.clt2mcode name clt,Ast.IdNoConstraint,pure))
+
+# 788 "parser_cocci_menhir.ml"
 let _eRR =
   Error
 
@@ -691,344 +798,368 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
     fun _tok ->
       match _tok with
       | EOF ->
-          177
+          189
       | TAnd _ ->
-          176
+          188
       | TAndLog _ ->
-          175
+          187
       | TAny _ ->
-          174
+          186
       | TArob ->
-          173
+          185
       | TArobArob ->
-          172
+          184
       | TAssign _ ->
-          171
+          183
       | TBang _ ->
-          170
+          182
       | TBang0 ->
-          169
+          181
       | TBreak _ ->
-          168
+          180
       | TCBrace _ ->
-          167
+          179
       | TCCro _ ->
-          166
+          178
       | TCEllipsis _ ->
-          165
+          177
       | TCPar _ ->
-          164
+          176
       | TCPar0 _ ->
-          163
+          175
       | TCase _ ->
-          162
+          174
       | TChar _ ->
-          161
+          173
       | TComma _ ->
-          160
+          172
       | TConstant ->
-          159
+          171
       | TContext ->
-          158
+          170
       | TContinue _ ->
-          157
+          169
       | TCppConcatOp ->
-          156
+          168
       | TDec _ ->
-          155
+          167
+      | TDeclaration ->
+          166
       | TDeclarer ->
-          154
+          165
       | TDeclarerId _ ->
-          153
+          164
       | TDefault _ ->
-          152
+          163
       | TDefine _ ->
-          151
+          162
       | TDefineParam _ ->
-          150
+          161
       | TDepends ->
-          149
+          160
       | TDisable ->
-          148
+          159
       | TDmOp _ ->
-          147
+          158
       | TDo _ ->
-          146
+          157
       | TDot _ ->
-          145
+          156
       | TDotDot _ ->
-          144
+          155
       | TEllipsis _ ->
-          143
+          154
       | TElse _ ->
-          142
+          153
       | TEq _ ->
-          141
+          152
       | TEqEq _ ->
-          140
+          151
       | TError ->
-          139
+          150
       | TEver ->
-          138
+          149
       | TExists ->
-          137
+          148
       | TExpression ->
-          136
+          147
       | TExtends ->
-          135
+          146
+      | TField ->
+          145
       | TFinalize ->
-          134
+          144
       | TFloat _ ->
-          133
+          143
       | TFor _ ->
-          132
+          142
       | TForall ->
-          131
+          141
       | TFresh ->
-          130
+          140
       | TFunDecl _ ->
-          129
+          139
       | TFunction ->
-          128
+          138
       | TGenerated ->
-          127
+          137
       | TGoto _ ->
-          126
+          136
       | TIdExpression ->
-          125
+          135
       | TIdent _ ->
-          124
+          134
       | TIdentifier ->
-          123
+          133
       | TIf _ ->
-          122
+          132
       | TInc _ ->
-          121
+          131
       | TIncludeL _ ->
-          120
+          130
       | TIncludeNL _ ->
-          119
+          129
       | TInitialiser ->
-          118
+          128
       | TInitialize ->
-          117
+          127
       | TInt _ ->
-          116
+          126
       | TInvalid ->
-          115
+          125
       | TIso ->
-          114
+          124
       | TIsoArgExpression ->
-          113
+          123
       | TIsoDeclaration ->
-          112
+          122
       | TIsoExpression ->
-          111
+          121
       | TIsoStatement ->
-          110
+          120
       | TIsoTestExpression ->
-          109
+          119
       | TIsoToTestExpression ->
-          108
+          118
       | TIsoTopLevel ->
-          107
+          117
       | TIsoType ->
-          106
+          116
       | TIterator ->
-          105
+          115
       | TIteratorId _ ->
-          104
+          114
       | TLineEnd _ ->
-          103
+          113
       | TLocal ->
-          102
+          112
       | TLogOp _ ->
-          101
+          111
       | TMPtVirg ->
-          100
+          110
+      | TMeta _ ->
+          109
       | TMetaConst _ ->
-          99
+          108
+      | TMetaDecl _ ->
+          107
       | TMetaDeclarer _ ->
-          98
+          106
       | TMetaErr _ ->
-          97
+          105
       | TMetaExp _ ->
-          96
+          104
       | TMetaExpList _ ->
-          95
+          103
+      | TMetaField _ ->
+          102
       | TMetaFunc _ ->
-          94
+          101
       | TMetaId _ ->
-          93
+          100
       | TMetaIdExp _ ->
-          92
+          99
       | TMetaInit _ ->
-          91
+          98
       | TMetaIterator _ ->
-          90
+          97
       | TMetaLocalFunc _ ->
-          89
+          96
       | TMetaLocalIdExp _ ->
-          88
+          95
       | TMetaParam _ ->
-          87
+          94
       | TMetaParamList _ ->
-          86
+          93
       | TMetaPos _ ->
-          85
+          92
       | TMetaStm _ ->
-          84
+          91
       | TMetaStmList _ ->
-          83
+          90
       | TMetaType _ ->
-          82
+          89
+      | TMetavariable ->
+          88
       | TMid0 _ ->
-          81
+          87
       | TMinus _ ->
-          80
+          86
       | TMinusFile _ ->
-          79
+          85
       | TMul _ ->
-          78
+          84
       | TName ->
-          77
+          83
       | TNever ->
-          76
+          82
       | TNotEq _ ->
-          75
+          81
       | TNothing ->
-          74
+          80
       | TOBrace _ ->
-          73
+          79
       | TOCro _ ->
-          72
+          78
       | TOEllipsis _ ->
-          71
+          77
       | TOInit _ ->
-          70
+          76
       | TOPar _ ->
-          69
+          75
       | TOPar0 _ ->
-          68
+          74
       | TOn ->
-          67
+          73
       | TOr _ ->
-          66
+          72
       | TOrLog _ ->
-          65
+          71
       | TPArob ->
-          64
+          70
       | TPCEllipsis _ ->
-          63
+          69
       | TPOEllipsis _ ->
-          62
+          68
       | TParameter ->
-          61
+          67
       | TPathIsoFile _ ->
-          60
+          66
       | TPlus _ ->
-          59
+          65
       | TPlus0 ->
-          58
+          64
       | TPlusFile _ ->
-          57
+          63
       | TPosAny ->
-          56
+          62
       | TPosition ->
-          55
+          61
       | TPragma _ ->
-          54
+          60
       | TPtVirg _ ->
-          53
+          59
       | TPtrOp _ ->
-          52
+          58
       | TPure ->
-          51
+          57
       | TReturn _ ->
-          50
+          56
       | TRightIso ->
-          49
+          55
       | TRuleName _ ->
-          48
+          54
       | TScript ->
-          47
+          53
       | TScriptData _ ->
+          52
+      | TShLOp _ ->
+          51
+      | TShROp _ ->
+          50
+      | TSizeof _ ->
+          49
+      | TStatement ->
+          48
+      | TStrict _ ->
+          47
+      | TString _ ->
           46
-      | TShOp _ ->
+      | TSub _ ->
           45
-      | TSizeof _ ->
+      | TSwitch _ ->
           44
-      | TStatement ->
+      | TTilde _ ->
           43
-      | TStrict _ ->
+      | TTildeEq _ ->
           42
-      | TString _ ->
+      | TTildeExclEq _ ->
           41
-      | TSub _ ->
+      | TType ->
           40
-      | TSwitch _ ->
+      | TTypeId _ ->
           39
-      | TTilde _ ->
+      | TTypedef ->
           38
-      | TTildeEq _ ->
+      | TUndef _ ->
           37
-      | TTildeExclEq _ ->
+      | TUnderscore ->
           36
-      | TType ->
+      | TUsing ->
           35
-      | TTypeId _ ->
+      | TVirtual ->
           34
-      | TTypedef ->
+      | TWhen _ ->
           33
-      | TUsing ->
+      | TWhenFalse _ ->
           32
-      | TVirtual ->
+      | TWhenTrue _ ->
           31
-      | TWhen _ ->
+      | TWhile _ ->
           30
-      | TWhenFalse _ ->
+      | TWhy _ ->
           29
-      | TWhenTrue _ ->
+      | TWhy0 ->
           28
-      | TWhile _ ->
+      | TWords ->
           27
-      | TWhy _ ->
+      | TXor _ ->
           26
-      | TWhy0 ->
+      | Tattr _ ->
           25
-      | TWords ->
+      | Tauto _ ->
           24
-      | TXor _ ->
+      | Tchar _ ->
           23
-      | Tattr _ ->
+      | Tconst _ ->
           22
-      | Tauto _ ->
+      | Tdouble _ ->
           21
-      | Tchar _ ->
+      | Tenum _ ->
           20
-      | Tconst _ ->
+      | Textern _ ->
           19
-      | Tdouble _ ->
+      | Tfloat _ ->
           18
-      | Tenum _ ->
+      | Tinline _ ->
           17
-      | Textern _ ->
+      | Tint _ ->
           16
-      | Tfloat _ ->
+      | Tlist ->
           15
-      | Tinline _ ->
+      | Tlong _ ->
           14
-      | Tint _ ->
+      | Tptrdiff_t _ ->
           13
-      | Tlist ->
+      | Tregister _ ->
           12
-      | Tlong _ ->
+      | Tshort _ ->
           11
-      | Tregister _ ->
+      | Tsigned _ ->
           10
-      | Tshort _ ->
+      | Tsize_t _ ->
           9
-      | Tsigned _ ->
+      | Tssize_t _ ->
           8
       | Tstatic _ ->
           7
@@ -1097,6 +1228,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr ()
       | TDec _v ->
           Obj.repr _v
+      | TDeclaration ->
+          Obj.repr ()
       | TDeclarer ->
           Obj.repr ()
       | TDeclarerId _v ->
@@ -1137,6 +1270,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr ()
       | TExtends ->
           Obj.repr ()
+      | TField ->
+          Obj.repr ()
       | TFinalize ->
           Obj.repr ()
       | TFloat _v ->
@@ -1207,8 +1342,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
       | TMPtVirg ->
           Obj.repr ()
+      | TMeta _v ->
+          Obj.repr _v
       | TMetaConst _v ->
           Obj.repr _v
+      | TMetaDecl _v ->
+          Obj.repr _v
       | TMetaDeclarer _v ->
           Obj.repr _v
       | TMetaErr _v ->
@@ -1217,6 +1356,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 ->
@@ -1243,6 +1384,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
       | TMetaType _v ->
           Obj.repr _v
+      | TMetavariable ->
+          Obj.repr ()
       | TMid0 _v ->
           Obj.repr _v
       | TMinus _v ->
@@ -1315,7 +1458,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
@@ -1341,6 +1486,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
       | TTypedef ->
           Obj.repr ()
+      | TUndef _v ->
+          Obj.repr _v
+      | TUnderscore ->
+          Obj.repr ()
       | TUsing ->
           Obj.repr ()
       | TVirtual ->
@@ -1385,12 +1534,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 ->
@@ -1407,19 +1562,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           Obj.repr _v
   
   let default_reduction =
-    (16, "\000\000\000\000\002\158\000z\000\000\000\000\002\231\001J\000\000\001H\001I\001G\000\000\001L\001K\000\001\000\000\001\137\000\000\000\000\000\138\000\000\000\000\001y\000\163\000\000\000\000\000\150\000\000\000\000\000\155\000\154\000\000\000\151\000\000\000\149\000\000\000\000\000\000\000\153\000\000\000\152\003\030\003\029\000\000\000\000\000\143\000\000\000\000\000\148\000\147\000\000\000\144\000\000\000\142\000\000\000\000\000\000\000\146\000\000\000\145\000\000\000\157\000\000\000\000\000\162\000\161\000\000\000\158\000\000\000\165\000\000\001D\001C\000\000\000\166\000\000\000\164\000\137\000\000\000\156\000\000\000\171\000\000\000\000\000\000\000\160\000\000\000\000\000\000\003\020\000\000\000\000\000\000\000\000\000\000\003\025\000\000\000\000\000\168\000\000\003\027\000\000\000\000\000\000\003\152\002h\000\000\003\150\000\000\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\149\003\151\002n\001?\002m\001=\001>\002l\002k\002j\002f\000\000\000\000\002g\001\012\000\000\002i\000\000\003\148\000\000\000c\001<\002I\000\000\000\000\002L\000\000\000\015\000\000\000\000\000\000\000\000\001\013\002e\002q\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\132\002$\000R\001\022\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\023\000\000\002O\001\024\000\014\000\016\000\000\000\000\000\193\000\000\000\000\000\180\000\000\000\000\000\185\000\184\000\000\000\181\000\000\000\179\000\000\000\000\000\000\000\183\000\000\000\182\000\000\000\000\000\173\000\000\000\000\000\178\000\177\000\000\000\174\000\000\000\172\000\000\000\000\000\000\000\176\000\000\000\175\000\000\000\187\000\000\000\000\000\192\000\191\000\000\000\188\000\000\000\195\000\000\000\000\000\196\000\000\000\194\000\000\000\186\000\000\000\201\000\000\000\000\000\000\000\190\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\000\000\000\002\011\000\209\000\000\000\000\000n\000o\002\n\001\235\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\220\000\215\000\000\001\236\000\000\000\000\000\000\000\000\000\208\000\206\000\221\000\000\001\129\000\000\000\000\003\022\000\000\003\021\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\199\000\197\000\000\000\000\003\024\003\028\000\189\000\000\000\000\001\027\000\000\000\000\002J\002M\000\000\002K\002N\003{\003|\003z\000\000\002o\003y\000\000\002\137\000\000\000\000\002\136\002\135\002\134\002\133\002\132\002\128\000\000\000\000\002\129\000\000\002\131\000\000\000\000\000g\002W\000\000\000\000\002Z\000\000\000\000\002]\000\000\000\000\002X\002[\000\000\002Y\002\\\002\139\002\127\003\137\003\138\003\136\003\135\000h\000\000\000\000\000W\000\000\000V\001 \000\000\001\245\000\000\000\000\000\000\000\000\000\000\001\017\001\251\000\000\000\000\001\161\000U\0001\001\n\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\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002p\000\000\000\204\000\000\000\000\001\230\000\000\001\151\001\211\000\000\000\000\001\229\000\000\001\149\001\210\000\000\000\000\000d\000\000\002\138\000\000\000\000\003\140\003\139\000\000\001\246\000\000\000\000\003~\003}\000\000\000Q\000\205\000\000\001{\000\000\003\023\000\000\000\000\000\000\000\000\000\169\000\167\000\000\001\021\000\000\000\000\000\170\000\159\000\000\000\000\001c\000\000\001b\000\000\001q\000\000\001\139\000\000\000\000\000\000\003N\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\000\000\003:\000\000\000\000\003?\003>\000\000\003;\000\000\0039\000\000\000\000\000\000\003=\000\000\003<\000\000\003H\000\000\000\000\003M\003L\000\000\003I\000\000\003P\000\000\000\000\003Q\000\000\003O\000\000\003G\000\000\003V\000\000\000\000\000\000\003K\000\000\000\000\003u\000\000\000\000\000\000\000\000\003U\003J\000\000\003w\000\000\000\000\002\247\003v\000\130\000\000\000\249\000\000\000\000\000\000\000\000\003S\000\000\000\000\000\000\000\000\003T\003R\000\000\000\000\003l\000\000\000\000\003_\000\000\000\000\003d\003c\000\000\003`\000\000\003^\000\000\000\000\000\000\003b\000\000\003a\000\000\000\000\003X\000\000\000\000\003]\003\\\000\000\003Y\000\000\003W\000\000\000\000\000\000\003[\000\000\003Z\000\000\003f\000\000\000\000\003k\003j\000\000\003g\000\000\003n\000\000\000\000\003o\000\000\003m\000\000\003e\000\000\003t\000\000\000\000\000\000\003i\000\000\000\000\000\000\000\000\003s\003h\000\000\000\000\000\000\000\000\003q\000\000\000\000\000\000\000\000\003r\003p\003\016\003\018\003\019\003\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\211\000\210\000\000\000\000\000w\000\000\000\000\000\000\002u\000\000\000\000\000\000\002}\000\000\000\000\002|\000\000\003\133\002{\002z\002y\002x\002w\001_\002s\000\000\000\000\002t\000\000\002v\000\000\000\000\000\000\000\000\000\000\000e\002P\000\000\000\000\002S\000\000\000\000\002V\000\000\000\000\002Q\002T\000\000\002R\002U\002~\002r\000f\003\130\003\131\003\129\003\128\003\132\000\000\000\000\000\000\000\000\001\t\001\008\000\000\000\000\000\000\000\000\000\000\001U\000\000\001\019\001R\000\000\001\007\001X\000\000\000\000\000\000\001Y\000\000\000\000\001Z\000\000\001\133\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000%\000\000\000\000\000\000\000\000\000\000\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\001W\000\000\000\000\001]\000\000\000\000\000\000\000\000\000\000\000\000\000t\000q\000r\001^\001T\000\000\001S\000\000\000\242\000\000\002\225\000\000\000\000\000\238\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\000\000\248\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\235\000\000\000\232\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\239\000\000\000\000\000\000\000\000\000\240\000\000\000\236\000\000\000\000\000\000\002\143\000\000\000\000\000\000\000\000\002\150\000\000\000\000\002\149\002\148\002\147\002\146\002\145\002\141\000\000\000\000\002\142\000\000\002\144\000\000\000\000\000i\002^\000\000\000\000\002a\000\000\000\000\002d\000\000\000\000\002_\002b\000\000\002`\002c\002\152\002\140\003\144\003\145\003\143\003\142\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\151\000\000\001\212\000X\000?\001\031\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\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\147\003\146\000\000\003\007\000\000\003\006\000\000\000\000\000\000\000\000\003\159\000\000\000\000\000\000\003\160\000\000\000\018\000\000\000\000\000\000\003\155\000\000\001\163\000\000\000\000\000\000\000\222\002\253\001w\001v\001N\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\014\001\015\000\255\000\000\001\135\000\000\000\000\000\254\000\250\000\000\001\001\000\251\001\000\000\000\003\t\000\000\003\008\002\250\000\000\000\000\000\000\000\000\000\000\003\003\000\000\000\000\000\000\000\000\003\004\002\252\000\000\003\n\000\000\002\254\000\000\000\226\001O\000\000\003\013\000\000\001Q\000\000\000\000\003$\000\000\003+\000\228\000\000\000\233\000\000\003%\000\227\000\000\003&\000\000\003-\000\000\000\000\000\000\000\000\000\246\000\000\000\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\247\000\000\000\000\000\000\000\000\001A\000\000\000\000\000\000\000\234\000\000\000\231\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\237\000\224\000\223\000\000\003.\003/\000\000\0030\000\000\0031\000\000\001P\003\001\000\000\000\000\001\234\000\000\001\159\001\216\000\000\002\251\000\000\000\000\000\000\003\000\000\000\000\000\000\000\0015\000\000\001/\000\000\0010\000\000\001:\001.\0019\000\000\003\012\001;\000\000\000\229\000\000\000\000\000\000\000\000\0017\0012\001\231\000\000\0013\000\000\0014\000\000\001\153\001\213\000\000\000\000\000\000\001\241\000\000\001\239\000\000\000\000\001\243\001\237\000\000\001\244\001\238\000\000\003\014\001\247\000\000\000\225\000\000\000\000\001\232\000\000\001\155\001\214\000\000\003\156\000\000\003\153\000\000\003\154\000\019\000\020\000\000\000\000\002\203\000\000\002\202\000\000\000\000\002\205\000\000\002\204\000\000\000\000\000\000\002\020\000\000\000\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\027\000\000\000\000\002\030\000\000\002\014\000\000\000\000\002\017\000\000\000\000\000\000\002\021\000\000\000\000\002\025\000\000\000\000\001\233\000\000\000\000\002\018\000\000\000\000\002\022\002\200\002\015\000\000\002\201\000\000\000\000\000\000\000\000\002\028\000\000\002\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\002\029\000\000\002\013\000\000\000\000\002\016\000\000\000\000\000\000\002\019\000\000\000\000\002\023\000\000\001\157\001\215\000\000\002\206\000\000\000\000\000\000\003\157\000\017\000u\000\000\003\158\000\000\000\000\002\221\000\000\000\000\003\015\000a\000\000\000\000\000\000\000b\000\000\003\005\000\000\001}\000\000\001\131\003\002\000\000\000\000\001i\000\000\001h\000\000\001r\000\000\001\145\000\000\000\000\000\000\001g\000\000\001f\000\000\001o\000\000\001\143\000\000\000\000\000\000\001n\000\000\000\000\000\000\001k\000\000\001j\000\000\001p\000\000\001\147\000\000\000\000\000\000\001l\000\000\000\000\000\000\001e\000\000\001d\000\000\001s\000\000\001\141\000\000\000\000\000\000\001m\000\002\000\000\000N\000O\000\000\000\000\002\168\002\172\002\176\002\164\002\161\000\000\000\000\002\173\002\180\002\165\002\179\002\163\002\178\002\167\002\159\002\166\002\175\002\162\002\169\002\160\002\171\002\177\002\174\002\170\001\179\001\178\000\128\000\000\000\000\002\243\000\000\000\000\002\215\000\000\000\000\002\217\002\216\002\190\000\000\000\000\002\249\002\182\002\181\002\183\000\000\001\191\000M\001t\000\003\000\000\000\000\002\155\000\000\002\"\000\000\000\129\000\000\000\000\002\245\000\000\000\000\000\000\000y\000\000\000\000\002\229\000\000\002\007\002\006\001\173\002\191\000\000\001\207\000\000\002\156\000\000\000\000\000{\000\000\000\000\002\233\000\000\001\188\000\000\000\000\001\184\000\000\000\000\000\000\001\187\000\000\001\186\000\000\000\000\000\000\000\000\000\000\000\000\001\208\000\000\001\182\000\000\001\181\000\000\000v\000\000\000\000\002\223\000\000\000\000\001\177\000\000\000\000\000~\000\000\000\000\002\239\000\000\000\000\002\198\000\000\002\197\000\000\000\000\000\000\002\005\002\004\002\195\002*\002\186\002\196\000\000\001\194\000\000\000\000\000\000\001\190\000\000\001\196\000\000\000\000\001\185\000\000\000\000\000\000\002\188\000\127\000\000\000\000\002\241\000\000\002\187\000\000\001\192\000\000\000\000\001\193\000\000\000\000\000\000\000\000\000\000\000\000\001\209\000\000\001\183\000\000\001\253\000|\000\000\000\000\002\235\000\000\000\000\000\000\000\000\003 \003\031\000\000\000\000\001F\000x\001E\000\000\000\000\002\227\000\000\001\255\001\254\002\001\002\184\002&\002\000\000\000\000}\000\000\000\000\002\237\000\000\000\000\000\000\000\000\002\003\002\002\002\194\002\192\002(\002\185\002\193\000\000\001\201\000\000\001\205\000\000\000\000\001\197\000\000\000\000\000\000\001\189\000\000\001\195\000\000\000\000\000\000\000\000\001\176\000\000\000\000\001\204\000\000\001\203\000\000\000\000\000\000\000\000\001\200\000\000\000\000\001\199\000\000\001\198\000\000\000\000\000\000\000\000\001\202\000\000\001\206\000\000\000\000\001u\000\004\000\000\001\180\000\005\000\000\000\000\001#\000\006\000\000\001\220\001\221\001\219\000\000\001\218\003!\001\169\000\000\000\007\000\000\001\223\001\224\001\222\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\000\000\001*\001,\001+\001&\001(\001'\000\000\000\000\000\000\000\000\000\000\003'\0034\000\000\003(\000\000\003)\000\000\000\000\003\"\000\000\000\000\000\000\000\000\0033\000\000\000\000\0032\001\228\001\227\000\000\000\000\001\171\001\217\001\225\000\000\000\000\000\000\000\000\002\t\000\000\000\000\000l\000m\002\008\000\000\000\000\000\000\000\218\000\000\001\127\000\000\000\000\000\217\000\213\000\000\000\000\000\000\000\000\001@\000\000\0037\000\000\0038\000\000\000\000\001\250\001\248\000\000\001\249\000\008\000\000\000\t\000\000\0029\002:\0028\000\000\0027\000\000\000\n\000\000\002<\002=\002;\000\000\002?\000\000\000\000\000\000\0021\000\000\000\000\0023\000\000\002-\000\000\002/\000\000\0024\000\000\0025\000\000\002.\002,\002@\001\175\0026\000\000\002B\000\000\002A\000\000\002C\000\000\002\199\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002D\000\000\000\000\002G\000\000\002F\000\000\002E\001\002\000\000\000\000\000\000\000\000\001\003\002H\000\000\000\000\002\210\000\000\000\000\000\000\000\000\002\211\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\002\219\000k\000\000\000\000\001\011\000\000\001\029\001\028\000\000\001a\000\000\002\209\001\167\001\165\000\000\000\000\000\000\000\000\002\212\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\208\000\000\000\000\000\000\000\000\000\000\000\000\002\207\000\000\000\013\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\000\000\002\213")
+    (16, "\000\000\000\000\003\004\000\131\000\000\000\000\003T\001\128\000\000\001~\001\127\001}\000\000\001\130\001\129\000\001\000\000\001\181\000\000\000\000\000\147\000\000\000\000\001\171\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\143\003\142\000\000\000\200\000\000\000\199\000\000\000\000\000\176\000\000\000\000\000\181\000\180\000\000\000\177\000\000\000\175\000\000\000\000\000\000\000\179\000\000\000\178\000\000\000\190\000\000\000\201\000\000\000\000\000\195\000\194\000\000\000\191\000\000\000\198\000\000\000\000\000\000\002\t\002\b\000\000\000\000\000\000\002\007\000\000\000\000\001K\001z\001J\001I\001H\001G\001y\001F\001E\000\000\0012\002J\000\000\000\000\002I\000\000\000\000\000\000\000\159\000\000\000\000\000\158\002M\001C\000\000\000\000\000\203\000\000\000\000\000\000\000\000\000\204\000\202\000\000\000\197\000\146\000\000\000\189\000\000\000\209\000\000\000\000\000\000\000\193\000\000\000\000\000\000\003\130\003\136\003\137\000\000\000\000\000\000\000\000\003\171\000\000\003\131\003\132\000\000\000\000\000\206\000\000\003\134\000\000\000\000\000\000\004\030\002\206\000\000\000\000\004\028\000\000\002\232\000\000\000\000\000\000\000\000\000\000\000\000\004\027\004\029\002\212\001u\002\211\001t\002\210\002\209\002\208\0021\002\204\000\000\000\000\002\205\001,\000\000\000\000\000\000\002\207\000\000\004\026\000\000\000\000\003\251\002\175\000\000\000\000\002\178\000\000\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\001-\001s\002\203\002\215\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\0017\000p\002\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\176\002\179\000\000\002\177\002\180\003\250\000\000\002\240\000\000\000\247\000\000\000\000\002\031\000\000\001\195\002\011\000\000\000\000\002\030\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\002p\000\252\000\253\000\000\000\000\000\000\000\000\000\000\002^\002o\002%\000\000\000\000\000\000\000\000\000\000\001B\001\001\000\000\002&\000\000\000\000\000\000\000\000\000\251\000\249\000\171\000\000\000\000\000\170\002b\002_\000\000\000\000\003\139\000\000\003\138\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\242\000\240\003\170\000\000\000\000\003\141\003\135\000\227\000\000\001\193\002\n\000\000\000\000\002\239\000\000\000\000\002\238\002\237\002\236\002\235\002\234\002\230\000\000\004\006\002\231\000\000\004\007\002\233\000\000\004\t\000\000\000y\002\189\000\000\000\000\002\192\000\000\000\000\000\015\000\000\000\000\000\000\000\000\000\000\000i\000\000\000h\000\151\002\241\002\229\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;\002?\000\000\000\000\000\150\002<\001:\0018\000\000\002\195\000\000\000\000\002\190\002\193\000\000\002\191\002\194\004\b\000z\000\000\002\181\004\022\004\023\004\021\004\020\003\249\000\000\002\213\003\248\001P\000\000\002/\000\000\000\000\000\000\000\000\000\000\0010\0026\000\000\000\000\001\207\000\000\002\214\000\000\000\000\000v\000\000\000\000\004\011\004\n\000\000\0020\000\000\000\000\004\025\004\024\000\000\000\000\003\253\003\252\000\000\000c\000\248\000\000\001\173\000\000\003\140\000\000\000\000\000\000\000\000\000\207\000\205\000\000\0016\000\000\000\000\000\208\000\192\000\000\000\000\001\149\000\000\001\148\000\000\001\163\000\000\001\183\000\000\000\000\000\000\003\193\000\000\000\000\003\180\000\000\000\000\003\185\003\184\000\000\003\181\000\000\003\179\000\000\000\000\000\000\003\183\000\000\003\182\000\000\003\197\000\000\003\196\000\000\000\000\003\173\000\000\000\000\003\178\003\177\000\000\003\174\000\000\003\172\000\000\000\000\000\000\003\176\000\000\003\175\000\000\003\187\000\000\003\198\000\000\000\000\003\192\003\191\000\000\003\188\000\000\003\195\000\000\000\000\000\000\000\000\003\200\000\000\000\000\000\000\000\000\003\201\003\199\000\000\003\194\000\000\003\186\000\000\003\206\000\000\000\000\000\000\003\190\000\000\001\224\000\000\003\242\000\000\000\000\002\"\001\225\000\000\001\201\002\015\000\000\000\000\000\000\000\000\003\205\003\189\003\243\000\000\003\246\003\245\000\000\000\000\003d\003\244\000\139\000\000\001\030\000\000\000\000\000\000\000\000\003\203\000\000\000\000\000\000\000\000\003\204\003\202\000\000\000\000\003\228\000\000\000\000\003\215\000\000\000\000\003\220\003\219\000\000\003\216\000\000\003\214\000\000\000\000\000\000\003\218\000\000\003\217\000\000\003\232\000\000\003\231\000\000\000\000\003\208\000\000\000\000\003\213\003\212\000\000\003\209\000\000\003\207\000\000\000\000\000\000\003\211\000\000\003\210\000\000\003\222\000\000\003\233\000\000\000\000\003\227\003\226\000\000\003\223\000\000\003\230\000\000\000\000\000\000\000\000\003\235\000\000\000\000\000\000\000\000\003\236\003\234\000\000\003\229\000\000\003\221\000\000\003\241\000\000\000\000\000\000\003\225\000\000\000\000\000\000\000\000\003\240\003\224\000\000\000\000\000\000\000\000\003\238\000\000\000\000\000\000\000\000\003\239\003\237\003~\003\128\003\129\003\127\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\000\000\000\000\000\000\000\255\001\011\000\254\000\000\000\000\000\128\000\000\000\000\000\000\002\219\000\000\000\000\000\000\004\004\004\003\000\000\000\000\002\227\000\000\000\000\002\226\000\000\000\000\002\225\002\224\002\223\002\222\002\221\001\145\002\217\000\000\003\255\002\218\000\000\004\000\002\220\000\000\004\002\000\000\000w\002\182\000\000\000\000\002\185\000\000\000\000\002\188\000\000\000\000\002\183\002\186\000\000\002\184\002\187\002\228\002\216\004\001\000x\000\000\000\000\000\000\000\000\001)\001(\000\000\000\000\000\000\000\000\000\000\000\000\001\139\000\000\0014\001\137\000\000\001'\000\000\002Q\000\000\000\000\000\000\000\000\001\142\000\000\001\179\000$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\000\001\143\000\000\000\000\002P\000\000\000\000\000\000\000\163\000\000\000\000\000\162\002T\001>\000\000\001\141\001\144\000\000\001\138\000\000\001\023\000\000\003N\000\000\000\000\001\019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\026\000\000\000\000\001\029\001Z\001Y\000\000\000\000\000\000\000\000\000\000\001x\000\000\000\000\000\000\001\016\000\000\001\r\000\000\000\000\000\000\000\000\000\000\001\024\000\000\001\020\000\000\000\000\000\000\000\000\001\021\000\000\001\017\000\000\000\000\000\000\002\245\000\000\000\000\000\000\004\018\004\017\000\000\003u\000\000\003t\000\000\000\000\000\000\000\000\004%\000\000\000\000\000\000\004&\000\000\000\018\000\000\000\000\000\000\000\000\002\252\000\000\000\000\000\000\002\251\002\250\002\249\002\248\002\247\002\243\000\000\004\r\002\244\000\000\004\014\002\246\000\000\004\016\000\000\000{\002\196\000\000\000\000\002\199\000\000\000\000\002\202\000\000\000\000\002\197\002\200\000\000\002\198\002\201\002\254\002\242\004\015\000\000\000\000\000l\000\000\000k\000\000\002\253\000\000\002\012\000j\000B\001O\000r\000\000\000\000\000\000\000\000\000\000\000\000\000\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000|\000\000\004!\000\000\001\209\000\000\000\000\000\000\001\002\003k\001\169\000\000\001\168\001\132\001\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003y\000\000\000\000\000\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\002B\000\000\000\000\000\154\002F\002C\001<\001\031\000\000\001!\001 \000\000\003w\000\000\003v\003g\000\000\000\000\000\000\000\000\000\000\003q\000\000\003x\000\000\000\000\000\000\000\000\003r\003i\000\000\003l\000\000\001\006\001\134\000\000\003{\000\000\001\136\000\000\000\000\003\149\000\000\003\156\001\b\000\000\001\014\000\000\003\150\001\007\000\000\003\151\000\000\003\158\000\000\000\000\000\000\000\000\001\027\000\000\001\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\028\000\000\000\000\000\000\000\000\001w\000\000\000\000\000\000\001\015\000\000\001\012\000\000\000\000\000\000\000\000\000\000\001\022\000\000\001\018\001\004\001\003\000\000\003\159\003\160\000\000\003\161\000\000\003\162\000\000\001\135\003o\000\000\000\000\002$\000\000\001\205\002\017\000\000\003h\000\000\000\000\000\000\003n\000\000\000\000\000\000\001l\000\000\001f\000\000\001g\000\000\001q\001e\001p\000\000\003z\001r\000\000\001\t\000\000\000\000\000\000\000\000\001n\001i\002 \000\000\001j\000\000\001k\000\000\001\197\002\r\000\000\000\000\000\000\002+\000\000\002)\000\000\000\000\002-\002'\000\000\002.\002(\000\000\003|\0022\000\000\001\005\000\000\000\000\002!\000\000\001\199\002\014\000\000\004\"\000\000\004\031\000\000\004 \000\019\000\020\000\000\000\000\0031\000\000\0030\000\000\002r\000\000\0033\000\000\0032\000\000\000\000\000\000\002z\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\129\000\000\000\000\002\132\000\000\002t\000\000\000\000\002w\000\000\000\000\000\000\002{\000\000\000\000\002\127\000\000\000\000\002#\000\000\000\000\002x\000\000\000\000\002|\003.\002u\000\000\003/\000\000\000\000\000\000\000\000\002\130\000\000\002q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\128\000\000\000\000\002\131\000\000\002s\000\000\000\000\002v\000\000\000\000\000\000\002y\000\000\000\000\002}\000\000\001\203\002\016\000\000\0034\000\000\000\000\000\000\004#\000\017\000~\000\000\004$\000\000\000\000\003J\000\000\000\000\003}\000s\000\000\000\000\000\000\000t\000\000\003s\000\000\001\175\000\000\001\177\003p\000\000\000\000\001\155\000\000\001\154\000\000\001\164\000\000\001\189\000\000\000\000\000\000\001\153\000\000\001\152\000\000\001\161\000\000\001\187\000\000\000\000\000\000\001\160\000\000\000\000\000\000\001\157\000\000\001\156\000\000\001\162\000\000\001\191\000\000\000\000\000\000\001\158\000\000\000\000\000\000\001\151\000\000\001\150\000\000\001\165\000\000\001\185\000\000\000\000\000\000\001\159\000\002\000\000\000`\000a\000\000\000\000\003\014\003\018\003\022\003\n\003\007\000\000\000\000\003\019\003\026\003\011\003\025\003\t\003\024\003\r\003\005\003\012\003\021\003\b\003\015\003\006\003\017\003\023\003\020\003\016\001\230\001\229\000\137\000\000\000\000\003`\000\000\000\000\003C\000\000\000\000\003F\003D\003E\003$\000\000\000\000\003f\003\028\003\027\003\029\000\000\001\245\000_\001\166\000\003\000\000\000\000\003\001\000\000\002\136\000\000\000\138\000\000\000\000\003b\000\000\000\000\000\000\000\130\000\000\000\000\003R\000\000\002l\002k\001\221\003%\000\000\002\004\000\000\003\002\000\000\000\000\000\132\000\000\000\000\003V\000\000\001\242\000\000\000\000\001\236\000\000\000\000\000\000\001\241\000\000\001\238\000\000\000\000\000\000\001\211\001\210\000\000\000\000\000\000\002\005\000\000\001\234\000\000\001\233\000\000\000\127\000\000\000\000\003L\000\000\000\000\001\228\000\000\000\000\001\232\000\000\000\000\000\135\000\000\000\000\003\\\000\000\000\000\003,\000\000\003+\000\000\000\000\000\000\002j\002i\003)\002\144\003 \003*\000\000\001\248\000\000\000\000\000\000\001\244\000\000\001\250\000\000\000\000\001\237\000\000\000\000\000\000\003\"\000\136\000\000\000\000\003^\000\000\003!\000\000\001\246\000\000\000\000\001\247\000\000\000\000\001\240\000\000\000\000\001T\000\000\001S\000\000\000\000\000\000\000\000\000\000\002\006\000\000\001\235\000\000\001R\000\000\0028\000\133\000\000\000\000\003X\000\000\000\000\000\000\000\000\003\145\003\144\000\000\000\000\001|\000\129\001{\000\000\000\000\003P\000\000\002d\002c\002f\003\030\002\140\002e\001Q\000\000\000\134\000\000\000\000\003Z\000\000\000\000\000\000\000\000\002h\002g\003(\003&\002\142\003\031\003'\000\000\001\255\000\000\002\002\000\000\000\000\001\251\000\000\000\000\000\000\001\243\000\000\001\249\000\000\000\000\001\239\000\000\000\000\000\000\000\000\000\000\000\000\001\227\000\000\000\000\002\001\000\000\002\000\000\000\000\000\000\000\000\000\001\254\000\000\000\000\001\253\000\000\001\252\000\000\000\000\002\003\000\000\000\000\001\167\000\004\000\000\001\231\000\005\000\000\000\000\001W\000\006\000\000\002\021\002\022\002\020\000\000\002\019\003\146\001\217\000\000\000\007\000\000\002\024\002\025\002\023\000\000\000\000\000\000\000\000\001\\\000\000\000\000\000\000\000\000\001a\001c\001b\001]\001_\001^\000\000\000\000\000\000\000\000\000\000\003\152\003\165\000\000\003\153\000\000\003\154\000\000\000\000\003\147\000\000\000\000\000\000\000\000\003\164\000\000\000\000\003\163\002\029\002\028\000\000\000\000\001\219\002\018\002\026\000\000\000\000\001X\000\000\000\000\000\000\002n\000\000\000\000\000\000\000\000\000\000\002W\002m\000\000\000\000\000\000\000\167\000\000\000\000\000\166\002[\002X\001@\001\000\000\000\000\000\000\000\000\000\001v\000\000\003\168\000\000\003\169\000\000\000\000\0025\0023\000\000\0024\000\b\000\000\000\t\000\000\002\159\002\160\002\158\000\000\002\157\000\000\000\n\000\000\002\162\002\163\002\161\000\000\002\165\000\000\000\000\000\000\002\151\000\000\000\000\002\153\000\000\002\147\000\000\002\149\000\000\002\154\000\000\002\155\000\000\002\148\002\146\002\166\001\223\002\156\000\000\002\168\000\000\002\167\000\000\002\169\000\000\003-\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002\170\000\000\000\000\002\173\000\000\002\172\000\000\002\171\001\"\000\000\000\000\000\000\000\000\001#\002\174\000\000\000\000\000\000\0039\000\000\0038\000\000\000\000\000\000\000\000\003:\000\000\000\000\001V\000\000\000\000\000\000\000\000\000\000\003H\000}\000\000\000\000\001+\000\000\001M\001L\000\000\001\147\000\000\0037\001\215\001\213\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\0036\000\000\000\000\000\000\000\000\000\000\000\000\0035\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003B\000\000\000\000\003A\000\000\003>\000\000\000\000\000\000\000\000\000\000\003?\000\000\000\000\000\000\003@\000\r\000\000\003<\000\000\003=")
   
   let error =
-    (178, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\012\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\001\128\000\000\000\000\000\000\000\000\000\000\128\016\192\000\000\129\012\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\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\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\001\128\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\252\000\000\000\000\000\000\000\001\235U\224\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\000H\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\018\168h\005\001\013P@Hf\004`4\002!\222\t\000\0029\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]\163\128\000\0001\000\001\000\024\017\128@\008\002\016\000\000\000&C\016\018(`\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\0012\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@H\161\128\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\001\"\134\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\018(`\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\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\018(`\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\001\"\134\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001v\142\000\000\000\196\000\004\000`F\001\000 \008@\000\000\000\153\012@H\161\128\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\004\202\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\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\004\138\024\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\000H\161\128\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\001\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\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\004\138\024\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\000H\161\128\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\004\202\024\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\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\004\138\024\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\000H\161\128\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\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\001\"\134\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\004\138\024\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\000H\161\128\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\001\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\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\001\235U\224\000\128\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000D\000\004B@F\001\000 \008@\000\000\000\153\012^\181^\000\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\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\008\128\002\000\000 \128\128\000\000\000\000 \000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\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\004\000\000@\000\000\000\128\000\000\000\000\000\001\235U\224\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@\000\018(`\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\000z\213x\000 \000\128\000\008  \000\000\000\000\008\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\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\016\000\002\000\000\000\000\000\000\000\000\016\000\002 \000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016B \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\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\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\t \000H4\n\003;@\000! \016\000\000A\000\130\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008'\173W\128\002$\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\t\235U\224\000\137\"\000H4\n\131;@\000! \016\004\000A\000\130\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \158\181^\000\008\146 \004\131@\1683\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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$\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\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\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\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\000H\000\001\019\004\217d\176\000\001@\008\016\000\003t\004'\135p\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\000z\213x\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\000\000\000\000\000\018\000\000DA\006\001,\000\000P\002\000\000\000\217\000\t\161\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\013\144\000\158\029\192\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\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\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\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\004D\019a\018\192\000\005\000 \000\000\t\144\000\158\013\192\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000DA6\017,\000\000P\002\000\000\000\153\000\t\224\220\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$\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\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\003\173V\128\002\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\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\021\002\000\000\000 \000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\018(`\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\0012\134\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@H\161\128\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\001\"\134\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\018(`\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\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\018(`\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\001\"\134\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\005@\128\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\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\000L\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\018(`\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\000H\161\128\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\004\138\024\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\016\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\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\000H\161\128\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\004\138\024\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\000L\161\128\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\018(`\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\000H\161\128\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\004\138\024\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\001\000\000\000\002\000\000\000\000\000\000\000\018(`\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\001\"\134\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\018(`\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\001\"\134\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\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\001\"\134\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\018(`\000\000\004@\000D$\004`\016\002\000\132\000\000\000\t\144\197\235U\224\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\001\000\000H\161\128\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\001\235U\224\000\128\002\000\000 \128\128\000\000\000\000 \000\000\000\000\004\000z\213x\000 \000\128\000\008  \000\000\000\000\008\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\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\008\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\002\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\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\008\128\001\235U\224\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\004\000\000\004\000\000\000\008\000\000\000\000\136\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\128\000\000\000\000\128\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 \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\007\173W\128\002\000\008\000\000\128\0020\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\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\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\008\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\008\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\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\181Z\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\004\000\000@\000\000\000\128\000\000\000\000\000\001\235U\224\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\001\000\000H\161\128\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\004\138\024\000\000\001\016\000\017\t\001\024\004\000\128!\000\000\000\002d1z\213x\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\018(`\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\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\008\128\001\235U\224\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\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\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\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\008\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\t \000H4\n\003;@\000! \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000\000\004\016\008 \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\000H\000\001\002\004Y$\160\000\001\000\000\016\000\003T\004\001\004`\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\000z\213x\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\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\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\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\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\003D\000\001\004`\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 $\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\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\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\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\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\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\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$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\128\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$\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\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\004\128\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000H\000\001\000\004X\004\160\000\001\000\000\000\000\002D\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\001\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\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\016\000\030\181^\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\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\128\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\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\001\235U\224\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\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\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\030\181^\000\008\146 \004\131@\1683\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\128\000\000\000\000\000\000\000\004\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\000\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\000D\000\004B@F\001\000 \008@\000\000\000\153\012^\181^\000\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\000\000\000\000\000\000\000\000\000\000\000\016\000\004\138\024\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\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\001\000\000H\161\128\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^\181^\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\001\235U\224\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\016\000\000\000\000\000\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\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\003\024\174;\188 \006z\131\000\008\213\016('\173W\128\002\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\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\021\002\000\000\000 \000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\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\024\000\128P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\002\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\008\000\128P\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\128\008\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\002\000\000\000\000\000\000\000\000\128\008\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\008\000\128P\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\005@\128\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\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\006\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\128\008\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\002\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 \002\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\016\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 \002\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\002\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 \002\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\006\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\128\008\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\002\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 \002\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\001\000\000\000\002\000\000\000\000\000\000\000\000\128\008\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\008\000\128P\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\128\008\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\008\000\128P\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\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\008\000\128P\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\007\173W\128\002\000\008\000\000\128\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \020\004$A\0001\136\000\000\144\000\135h$\000\008\192\000\007\173W\128\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\004\000\000\008\000\128P\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\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\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\002\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\004\000\000\000\008\000\000\000\000\000\000\030\181^\000\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\000\000\000\000\000\000\000\000\000\000\000\016\000\000 \002\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\002\000 \020\004$A\0001\136\000\000\144\000\135h$\000\008\192\000\007\173W\128\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\004\000\000\008\000\128P\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\235U\160\000\128\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\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\005@\128\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\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\006\000 \020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\128\008\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\002\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 \002\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\016\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 \002\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\002\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\001P \000\000\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128P\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\001\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\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\128\008\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\008\000\128P\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\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\008\000\128P\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\128\008\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\008\000\128P\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\001\128\008\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000 \002\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\128\008\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\008\000\128P\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\128\000\000\000\000\000\000\000 \002\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\002\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 \002\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\002\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\001\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 \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 \002\001@BD\016\003\024\128\000\t\000\008v\130@\000\140\000\000z\213x\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\128\008\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\016\000\001\000\000\000\002\000\000\000\000\000\000\007\173W\128\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\004\000\000\008\000\128P\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\128\008\005\001\t\016@\012b\000\000$\000!\218\t\000\0020\000\001\235U\224\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\001\000\000\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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@\013 \128@1\n#\187B\000g\1680\000\140Q\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\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \000\128\000\008\000 \000 \000\000\008\000\000\000\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\001\235U\224\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\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\008\000\000\000\000\000\000\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\002H\000\016\012\194\128\206\208\000\024H\004\005@\016A \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$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\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\016\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\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 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\192(\012\237\000\001\132\128@\000\001\004\002\008\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\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\t \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \158\181^\000\008\146 \004\131@\1683\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\t \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000@\129\006I(\000\000@\000\004\000\000\133\001\008\000\024\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\030\181^\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\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\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\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\002\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\146\000\004\0030\1603\180\000\006\018\001\001P\004\016H \000\000\018\000\000D\1936Y,\000\000P\002\004\000\000\221\001\tA\220\000\000\000\008\t \000@3\n\003;@\000a \016\021\000A\004\130\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\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\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\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\000H\000\001\003\004\025$\176\000\001\000\000\016\000\0034\004$\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\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 \000\000\000\000\000\000\000\000$\128\001\000\204(\012\237\000\001\132\128@D\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\128\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\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\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\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$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000@\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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$\128\001\000\204(\012\237\000\001\132\128@T\001\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\002H\000\016\012\194\128\206\208\000\024H\004\005@\016A \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$\128\001\000\204(\012\237\000\001\132\128@T\001\004\018\008\000\000\000\000\t \000@3\n\003;@\000a \016\017\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\146\000\004\0030\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000F\000\000\000\008\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\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\128\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\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\004\000\004\128\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\000\000\001\000\001 \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\001\235U\224\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\008\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\016\000\000\000\000\000\000\000\000\000\000\016\000\002\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\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\181Z\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\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\002\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\000\000\000\000\000\000\t \000H5\n\003{@\000! \016\004\000A\000\130\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\128!\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\0024\138\001 \212+\142\239\008\001\158\160\192\018=F\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\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000\000\000\146\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008'\173W\128\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 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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$\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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$\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\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$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\t \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000D\1936Y,\000\000P\002\004\000\000\213\001\001A\220\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\030\181^\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\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\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\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000DA6\017,\000\000P\002\000\000\000\209\000\001A\220\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\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\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\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$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\128\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$\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\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\004\128\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000H\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003w\173W\128\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 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\007\255_\193\2264\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\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\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\128\000\000\000@\000\000\000\000\000\000A\016\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\003\016\174;\188 \006z\131\000\008\213\016('\255_\193\0024\138\001 \212/\142\239\008\001\158\160\192\0185E\n\t\255\215\240x\141\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\135\136\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\001\255\215\240@\141\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\127\245\252\016#H\160\018\013B\248\238\240\128\025\234\012\001#TP\160\159\253\127\004\008\210(\004\131P\174;\188 \006z\131\000H\213\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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@\013 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\016\003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\001\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\t \016H4\n\003;@\000! \016\004\000A\000\130\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\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\128\000\000\000\000@\013 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\016\003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000\000\000\000\000\000\001\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\008\128\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\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\128\000\000\000\000@\013 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\007\255_\193\0024\138\001 \212+\142\239\024\001\158\160\192\0185D\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\031\253\255\135\136\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\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\031\253\127\004\008\210(\004\003\024\174;\188`\006z\131\000\008\213\016( \000\000\000\000\000\000\000 \016\000\000\000\016\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\127\245\252\016#H\160\016\012b\184\238\241\128\025\234\012\000#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\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\0170M\150K\000\016\020\000\129 \0007@@Pw\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\127\245\252\016#H\160\018\013B\184\238\241\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\007\255_\193\0024\138\001\000\198+\142\239\024\001\158\160\192\0025D\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\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\128\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\001\000\001\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\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\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\002\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\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\008\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\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\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\008\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\016\000\000\000\000\000\000\000\000\000\000\016\000\002\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\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\181Z\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\128\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\002\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\141\"\128H5\n\227\187\198\000g\1680\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\000\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\018\013B\184\238\241\128\025\234\012\001#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\004`\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\001\0004\130\001\000\196(\142\237\008\001\158\160\192\0021D\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\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\0024\142\0010\212/\142\239\024\003\158\164\1922=GZ\204\000\000\000@\013 \128@1\n#\187B\000g\1680\000\140Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\003\024\190;\188 \006z\131\000\008\245\028h \000\000\000\000\000\000\000 \016\000\000\000\000\000\000\000\000\016\000\000\000\001\255\215\240@\141\"\128@1\139\227\187\194\000g\1680\000\143Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\255\215\240@\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\031\253\127\004\008\210(\004\131P\190;\188 \006z\131\000H\245\028h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\001\000\001\255\215\240@\141\"\128@1\139\227\187\194\000g\1680\000\141QB\130\000\000\000\000\000\000\000\002\001\000@\000\000\000\000\000\000\001\000\000\016\000\031\253\127\004\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\001\000\128@\016\000\000\000\000\000\000\000@\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@\141\"\128H5\011\227\187\194\000g\1680\004\141QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\004\000@F\000\000\000\008\000\000\000\000\016\000\000\000\000\000\000\000\016\000\192@\000\000\000\000\008\000\000\000@\000\001\000\023\255_\193\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\000D\003\001\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\007\255_\193\0024\142\0010\212+\142\239\008\003\158\160\192\0185DJ\013\255\215\240@\141\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\0024\142\0010\212+\142\239\008\003\158\160\192\0185DJ\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\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\016\000\000\000\000\000\000\000\000\000\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\001\255\215\240@\141\"\128H5\011\227\187\194\000g\1680\004\141QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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@ \016\000\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016#H\160\018\013B\184\238\241\128\025\234\012\001#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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\245\252\000\"H\160\016\012\002\160\206\240\000\024H\004\000\000T@\160\128\000\000\000\000\146\001\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\007\173W\128\002\000\008\000\000\128\002\000\000\000\000\000\128\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\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$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\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\001\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\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\008\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\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 \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$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\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\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\t \000H5\n\003{@\000! \016\004\000A\000\130\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\003\173V\128\002\000\008\000\000\000\002\000\000\000\000\000\128\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\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$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\007\191_\192\002$\138\001\000\192*\012\239\000\001\132\128@\000\005D\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\001 \000\004\012\016d\146\192\004\004\000\000H\000\012P\016\016\017\128\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\t \000H5\n\003{@\000! \016\004\000A\000\130\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\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\008\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\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\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\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\128\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\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\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$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\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\014\181Z\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\128\000\000\000\000\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\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\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\001\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000@\000@\004\004`\000\000\000\128\000\000\000\001\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\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\002\000\000\000\000\000\000\000\000\000\000\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\127\245\252\016#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\000\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\007\255_\193\0024\138\001 \212+\142\239\008\001\158\160\192\018=F\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\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\008\002\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\245\252\000 \000\128\000\008\000 \000 \000\000\008\000\000\000\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\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\127\245\252\016#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\007\255_\193\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\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\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\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$\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\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\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$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\0004\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\016\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\001\0004\130\001\000\196(\142\237\008\001\158\160\192\0021D\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\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\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000 \000\128\000\008\000 \000 \000\000\008\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\023\255_\192\002\000\008\000\000\128\002\000\002\000\000\000\128\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\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\000\000\000\000\000\000\000\000\000\000\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$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\225\001\192BD\144!\000\128\000\t\000\008R\130@\000\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000 \002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\008\005\001\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128P\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\128\000\000\000\000@\000\008\000\000\000\000\000\000\001\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\016\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\128\000\000\000\000\000\000\136\000\000\000\000\000\000\001\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\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\030\181^\000\028\004$A\002\016\008\000\000\144\000\133 $\000\008\192\000\007\173W\128\007\001\008\000@\132\002\000\000$\000!H\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\008\000\128P\016\145\132\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\128\008\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\008\000\000\000\000\000\000\000\128\000\000\002\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@\000\000 \000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\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\181^\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\001\235U\224\001\192B\000\016!\000\128\000\t\000\008R\002@\000\132\000\000\000\008\000\128P\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\128\000\000\000\000\000\000\008\016\000\000 \002\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\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 \002\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\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\128\008\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000 \002\001@BD\016\000\016\000\000)\000\008v\130@\000\142\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\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\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\002\000 \020\004$A\000!\000\000\002\144\000\135h$\000\008\224\000\000\000\128\008\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\008\000\000\008\000\128P\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\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 @\007\173W\128\002\000\008\000\000\128\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\001\000\000\002\000 \020\004$A\000!\128\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\018\000\000\000\000\000\000\000\008\000\128P\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\128\000\000\000\000\000\000\008\000\000\000 \002\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\003\000\000\000\000\004\000\000\002\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\128\008\005\001\t\016@\004@\000\000$\000!\218\t\000\0020\000\000\000 \002\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\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\002\000 \020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\193\t\016@\001@\000\000\164\000!\218\t\000\0028\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \002\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\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\128\008\021\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\001\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\002\000\000\000\008\000\129P\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\192\000\000\000\001\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\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\128\008\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\002\000 \020\004$A\000\001\128\000\000\144\000\135h$\000\008\192\000\000\000\128\008\005\t\t\016@\t@\000\000\164\000!\218\t\000\0028\000\000\000 \002\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\002\000\000\002\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\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\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\128\008\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\002\000\000\000\000\000\000\000 \000\000\000\128\008\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\128\000\000\000\016\000\000\008\000\000\000\000\000\000\000\128\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\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\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\004\000\000\000\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000  \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\008\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \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\000\000\000 \000\000\000\000\000\000\002\000\000\000\008\000\128P\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\200\000\000\000\001\000\000\000\128\000\000\000\000\000\000\008\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\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\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\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\008\000\128P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\002\000 \023\004$A\000\005\000\000\002\144\000\135h$\000\008\224\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\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\007\173\215\136\007\001\t\016@\132B\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\001\000\000\000\000\000\008\000\128P\016\017\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\002\000 \023$$A\000\005\128\000\002\144\000\135h$\000\008\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 \002\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\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\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\004\000\000\000\000\000\000\030\183^ \028\004$A\002\017\136\000\000\144\000\135h$\000\008\192\000\000\000\128\008\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\002\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\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\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\128\008\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\008\000\000\008\000\128P\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\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\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\030\181^\016\028\004$I\002\016\008\000\000\144\000\133($\000\008\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\002H\000\018\013\003\128\206\208\000\008H\004\001\000\016@ \128\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\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\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\127\247\254\016#H\160\018\015C\184\238\240\128\025\234L\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\0024\138\001 \244+\142\239\008\001\158\164\192\0185D\n\205\239\223\248\000\128\002\000\000 \000\128\000\000\000\000\001\000\000\000\000\000\000{\247\254\000 \000\128\000\008\000 \000\000\000\000\000@\000\000\000\000\000\030\253\255\128\008\000 \000\002\000\008\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\004\138\024\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000H\161\128\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\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\031\253\127\007\136\210(\004\003\024\174;\188 \006z\131\000\008\213\016('\255_\193\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\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#H\160\016\012b\184\238\240\128\025\234\012\000#T@\172\192\000\000\000\000\000\000\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\000\000\000\000\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\007\255_\193\0024\138\001 \212+\142\239\008\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\002H\000\016\012\194\128\206\208\000\024H\004\005@\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\001\255\215\240x\141\"\128@1\138\227\187\194\000g\1680\000\141Q\002\130\127\245\252\016#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\001\000\007\255_\193\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\204\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#H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\159\253\127\004\008\210(\004\003\024\174;\188 \006z\131\000\008\213\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\255\128\008\000 \000\002\000\008\000\000\000\000\002\016\000\000\000\000\000\000\018(`\000\000\000\000\000@\000\004`\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\024\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\030\181^\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\002 \000z\213x\000 \000\128\000\008\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\004\000\000\004\000\000\000\008\000\000\000\000\136\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\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\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\008\128\001\235U\224\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\128\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#H\160\018\013B\184\238\240\128\025\234\012\001#TA\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\016\008\004\000\000\000\000\000\000\000\000\004\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\008\210(\004\131P\174;\188 \006z\131\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\004\138\024\000\000\000\016\000\016\000\001\024\000\000\000!\000\000\000\000\0001\000\000\000\000\000\002\002\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 \2088\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\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\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\007\255\127\225\0024\138\001 \244;\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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#H\160\018\015B\184\238\240\128\025\234L\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\007\255\127\225\0024\138\001\000\198+\142\239\008\001\158\164\192\0025D\n\204\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#H\160\016\012b\184\238\240\128\025\234L\000#T@\172\192\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\0024\138\001 \212+\142\239\008\001\158\164\192\0185D\n\205\255\223\248@\141\"\128@1\138\227\187\194\000g\1690\000\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\255\223\248@\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\031\253\255\132\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\001\255\223\248@\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\000H\161\128\000\000\001\000\001\000\000\017\128\000\000\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\223\248@\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\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\001\255\223\248@\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\000H\161\128\000\000\001\000\001\000\000\017\128\000\000\002\016\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\128\001\000\000\000\000\000\000\000\000\004\t\019\192\012\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\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\016\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\001\002\000\000\000\000\000\000\000\008\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\002\000\000\016 \000\000\000\000\000\000\000\128\000\000\000\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\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\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\001\000\000\000\000\000\000\000\000\000\000\000\000 \004\000\000\000\000\000\000\128\000\004\008\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\0040\002\000\002\001@\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\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\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\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\004p\003\000\000\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\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\016\192\012\000\000\004\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\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\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\000C\000 \000\000\016\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\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\004p\003\000\000\001\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\001\012\000\192\000\000@\000\000\000\002\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\016\192\008\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0040\000\000\000\001\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\000\000\000\000\000\000\000\000\000\000\000\000\000\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\003\000\000\001\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\001\012\000\128\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\192\000\000\000\004\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\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\004\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")
+    (190, "\000\000\000\0000\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\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\0000\000\000\000\000\000\000\000\000\000\000\000 \004\024\000\000\b\016\192\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\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\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\0000\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\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\030\189\171\192\000@\000\128\000\b\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\004!C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\016\149\r\000(\b5A\001!\148\b\192M\000\136w\129 \000C\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\000\000\000\004kG\000\000\000\012@\000@\005\0020\017\000 \b@\000\000\000&C\016\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\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\001\nP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\000\000\000\t\144\196\004!C\000\000\000\004@\000@$\0020\017\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\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\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\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\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\b\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\b\192D\000\128!\000\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\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\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\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\000\140\004@\b\002\016\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\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\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\001\026\209\192\000\000\003\016\000\016\001@\140\004@\b\002\016\000\000\000\t\144\196\004!C\000\000\000\004@\000@$\0020\017\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\000B\1480\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\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\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\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\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\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\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004)C\000\000\000\004@\000@$\0020\017\000 \b@\000\000\000&C\016\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\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\000\000\000\004!C\000\000\000\004@\000@$\0020\017\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\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\128@\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\002\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\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\b\004\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\004\000\000\000\000\b\000\000\129\000\000\000\000\000\000\000\000\000\000\000\000\000\006#\000\000\128\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\016\000\000\000\000\000\000\000\000\000\000\002\000\000 \016\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\002\004\000\000\000\000\000\000\000\000\000\000\000\128\000\b\004\000\000\002\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\002\000\000 \016\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\002\004\000\000\000\000\000\000\000\000\000\000\000\128\000\b\004\000\000\002\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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!C\000\000\000\004@\000@$\0020\017\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\000B\0200\000\000\000D\000\004B@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\128\000\b\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\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\000\000\000\004!C\000\000\000\004@\000@$\0020\017\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\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\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\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\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\b\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\b\192D\000\128!\000\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\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000D$\0020\017\000 \b@\000\000\000&C\023\175j\240\000\016\000 \000\002\b\004\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\007\175j\240\004\016\000 \000\002\b\004\000 @\000\000 \000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\002\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\004\000\000 \016\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\030\189\171\192\000@\000\128\000\b \016\000\129\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\000\b\000\000\130\001\000\b\016\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\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000\128\000\b\128\000\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\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\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000I\000\001 \208(\006s0\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\004\144\000\018\r\002\128g3\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\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \158\189\171\192\000D\144\128\018\r\002\144g3\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\nA\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\000\004\016\b \000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\004\144\000\018\r\002\128g3\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\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\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\001$\000\004\131@\160\025\204\192\000! \016\002\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\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000I\000\001 \208(\006s0\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\00010M\150K\000\000\001@\b\016\000\001\186\001\t\241\220\000\000\000\000\000\000\000\000\000\000\000\000 \016\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\030\189\171\192\000D\144\128\018\r\"\144gs\000\000\132\128@\b\000A \130z\246\175\000\001\018B\000H4\nA\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000I\000\001 \208(\006s0\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\t\000\000\012L\019e\146\192\000\000P\002\004\000\000n\128B|w\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\006\200\000'\135p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000l\128\002xw\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\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\0001\016M\132K\000\000\001@\b\000\000\0012\000\t\224\220\000\000\000\000\000I\000\001 \208(\006s0\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\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\195p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\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\001$\000\004\131@\160\025\204\192\000! \016\002\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\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\195p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\195p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\195p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\0000\001\004\002\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\001$\000\004\131@\160\025\204\192\000! \016\002\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\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\195p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002|7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\195p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\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\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\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\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\196A6\017,\000\000\005\000 \000\000\004\200\000'\131p\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012D\019a\018\192\000\000P\002\000\000\000L\128\002x7\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\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\004\144\000\018\r\002\128g3\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\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\b\004\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000I\000\001 \208(\006s0\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\016\000\000\000\000\000\000\000\000\000\000\016\000\030\189\171\192\000@\000\128\000\b\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\235\218\180\000\004\000\b\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\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\018\129\000\000\000\002\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\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\000B\1480\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\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\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\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\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\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\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000J\004\000\000\000\b\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\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\001\nP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\000\000\000\t\144\196\004!C\000\000\000\004@\000@$\0020\017\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\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\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\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\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\b\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\b\192D\000\128!\000\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\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\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\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\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\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\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\016\165\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\000\000\000\153\012@B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\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\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\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\016\000\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\002\001\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004!C\000\000\000\004@\000@$\0020\017\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\000B\0200\000\000\000D\000\004B@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\128\000\b\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\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\000\000\000\004!C\000\000\000\004@\000@$\0020\017\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\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\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\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004!C\000\000\000\004@\000@$\0020\017\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\000B\0200\000\000\000D\000\004B@#\001\016\002\000\132\000\000\000\002d1z\246\175\000\001\000\002\000\000 \128@\002\004\000\000\002\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\016\133\012\000\000\000\017\000\001\000\144\b\192D\000\128!\000\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\000z\246\175\000\001\000\002\000\000 \128@\002\004\000\000\002\000\000\000\000\000\016\001\235\218\188\000\004\000\b\000\000\130\001\000\b\016\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\004\000\000\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \016\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\b\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\004\000\000\000\000\000 \000\000\128\001\235\218\188\000\004\000\b\000\000\130\001\024\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004`\000@\000\000\000\000\000\000\000\b\000\030\189\171\192\000@\000\128\000\b \017\128\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\128\001\235\218\188\000\004\000\b\000\000\130\001\024\000\016\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\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\002\000\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004\000\b\000\000\130\001\024\000\016\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\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\b\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\004\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\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\007\175j\240\000\016\000 \000\002\b\004`\000@\000\000\000\000\002\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\b\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\014\189\171@\000@\000\128\000\000\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\001\000\000\b\004\000\000\002\000\000\000\000\000\000\001\235\218\188\000\004\000\b\000\000\130\001\000\b\016\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\001\000\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\000\000\000\004@\000D$\0020\017\000 \b@\000\000\000&C\023\175j\240\000\016\000 \000\002\b\004\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\004\000\001\bP\192\000\000\001\016\000\016\t\000\140\004@\b\002\016\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\000\000\000\000\000\000\000\000\000\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\004\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\nA\156\204\000\002\018\001\000 \001\004\002\b\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\018@\000H4\n\001\156\204\000\002\018\001\000\000\001\004\002\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\004\144\000\018\r\002\128g3\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\001$\000\004\131@\160\025\204\192\000! \016\002\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\000I\000\001 \208(\006s0\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\004\144\000\018\r\002\128g3\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\002@\000\003\002\004Y$\160\000\000\016\000\001\000\000\026\160\016\140\017\128\000\000\000\000\000\000\000\000\000\000\000\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004I\b\001 \210)\006w0\000\bH\004\000\128\004\018\b'\175j\240\000\017$ \004\131H\164\025\220\192\000! \016\002\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\b\128\001\235\218\188\000\004I\b\001 \210)\006w0\000\bH\004\000\000\004\018\b'\175j\240\000\017$ \004\131H\164\025\220\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000h\128\0020F\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\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\001$\000\004\131@\160\025\204\192\000! \016\002\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\144\000\000\192\001\022\001(\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\0000\001\004\002\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\001$\000\004\131@\160\025\204\192\000! \016\002\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\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\192\001\022\001(\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\192\001\022\001(\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\192\001\022\001(\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\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\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\192\001\022\001(\000\000\004\000\000\000\000\004\136\000#\000`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\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\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\t\000\000\012\000\017`\018\128\000\000@\000\000\000\000H\128\0020\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\144\000\000\192\001\022\001(\000\000\004\000\000\000\000\004\136\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\030\189\171\192\000D\144\128\018\r\"\144gs\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\136\000\030\189\171\192\000D\144\128\018\r\"\144gs\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\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\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\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\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\004\000\000\000\000\000\000\000\000\000\000 \000\000@\000\000\000\000\001\000I\000\001 \208(\006s0\000\bH\004\000\000\004\016\b \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\004\144\000\018\r\002\128g3\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\004\144\000\018\r\002\128g3\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 \000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000I\000\001 \208(\006s0\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\030\189\171\192\000D\144\128\018\r\002\144g3\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\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\001\235\218\188\000\004I\b\001 \208)\006s0\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\001\235\218\188\000\004I\b\001 \208)\006s0\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\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\016\000\002\000\000\000\000\000\000\000\000\000\128\000\b\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\140\004@\b\002\016\000\000\000\t\144\197\235\218\188\000\004\000\b\000\000\130\001\000\b\016\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\001\000\000B\0200\000\000\000D\000\004\002@#\001\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\004!C\000\000\000\004@\000@$\0020\017\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\001\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\005\235\218\188\000\004\000\b\000\000\128\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\030\189\171\192\000@\000\128\000\b\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\255\250\254\b\020i\n\001\000\198)\199s\240\128\025\234\012\000\017\165\016('\175j\240\000\016\000 \000\002\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000J\004\000\000\000\b\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\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\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001(\016\000\000\000 \000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000@\n\002\t\016@\ba\000\000\018@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\n\002\t\016@\ba\000\000\018@\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@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\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\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\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@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\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\192\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\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\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\b\004\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\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \016\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\001\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\235\218\188\000\004\000\b\000\000\128\001\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\198\016\000\001$\000!\218\004\128\001\012\000\000z\246\175\000\001\000\002\000\000 \128@\002\004\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\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\001\000\000\000\000\001\000\000\b\004\000\000\002\000\000\000\000\000\000\001\235\218\188\000\004\000\b\000\000\130\001\000\b\016\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\001\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\012a\000\000\018@\002\029\160H\000\016\192\000\007\175j\240\000\016\000 \000\002\b\004\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\004\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\189\171@\000@\000\128\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001(\016\000\000\000 \000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\000@\n\002\t\016@\ba\000\000\018@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\n\002\t\016@\ba\000\000\018@\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@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\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\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\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@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\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\004\160@\000\000\000\128\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\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\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \016\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\001\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\012a\000\000\018@\002\029\160H\000\016\192\000\000\000\000\000\000\000\000\000\000\000\b\000\000\128@\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\004\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\ba\000\000\018@\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@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\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\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\n\002\t\016@\012a\000\000\018@\002\029\160H\000\016\192\000\007\175j\240\000\016\000 \000\002\b\004\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\004\000\000\001\000\016\002\128\130D\016\002\024@\000\004\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000@\000\002\001\000\000\000\128\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128@\002\004\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\016\001\000(\b$A\000!\132\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\003\024@\000\004\144\000\135h\018\000\0040\000\001\235\218\188\000\004\000\b\000\000\130\001\000\b\016\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\001\000\000\000@\004\000\160 \145\004\000\134\016\000\001$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\144\000\018\r\002\128g3\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\b\016i\002\001\000\196(Gs0\128\025\234\012\000\017\133\016( \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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\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\127\254\191\128\001\000\002\000\000 \000@\0000\000\000\002\000\000\000\024\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \000@\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \016\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\004\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\188\204\000\002\018\001\000 \001\004\002\b\000\000\000\000\000I\000\001\000\206(\006s0\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\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130z\246\175\000\001\018B\000H4\nA\156\204\000\002\018\001\000 \001\004\002\b\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\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\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\030\189\171\192\000D\144\128\018\r\002\144g3\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\b\000\000\000\000\000\000\004\144\000\016\012\002\128g2\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\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\001$\000\004\131@\160\025\204\192\000! \016\002\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\000I\000\001 \208(\006s0\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\004\144\000\016\012\002\128g2\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\002\000\000\003\002\004\025$\160\000\000\016\000\001\000\000\016\160\016\129\001\128\000\000\000\000\000\000\000\000\000\000\000\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004I\b\001 \210)\006w0\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\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\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\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\b\004\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\004\144\000\018\r\002\128g3\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\000I\000\001 \208(\006s0\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\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\000I\000\001\000\206(\006s0\000\024H\004\002\160\004\016H \000\000\000\000\001$\000\004\0038\160\025\204\192\000a \016\n\128\016@ \128\000\000\t\000\000\012L\019e\146\192\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\b\016\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\001$\000\004\131P\160\027\204\192\000! \016\002\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\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\144\000\000\192\193\006I,\000\000\004\000\000@\000\006h\004$D`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\018@\000@3\n\001\156\204\000\006\018\001\000\136\001\004\002\b\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\001$\000\004\0030\160\025\204\192\000a \016\b\128\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\002\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\000\000\000\000\000\000\000\000\000\000\000\b\000\000\012\000\016`\018\128\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\128\000\000\192\001\006\001(\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\b\000\000\012\000\016`\018\128\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\128\000\000\192\001\006\001(\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\b\000\000\012\000\016`\018\128\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\128\000\000\192\001\006\001(\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\b\000\000\012\000\016`\018\128\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\128\000\000\192\001\006\001(\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\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\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\128\000\000\192\001\006\001(\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\b\000\000\012\000\016`\018\128\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\128\000\000\192\001\006\001(\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\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\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\000\000\000\128\000\000\192\001\006\001(\000\000\004\000\000\000\000\004\b\000 @`\000\000\000\000\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \128\000\000\b\000\000\012\000\016`\018\128\000\000@\000\000\000\000@\128\002\004\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\000\000\000\000\000\001$\000\004\0038\160\025\204\192\000a \016\n\128\016A \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\b\016\000\000\000\000\000\000I\000\001\000\206(\006s0\000\024H\004\002 \004\016H \000\000\000\000\001$\000\004\0038\160\025\204\192\000a \016\n\128\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\b\016\000\000\000\000\000\000I\000\001\000\206(\006s0\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\b\004\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\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\0020\016\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\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\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\004`\000@\000\000\000\000\002\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\016\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\001$\000\004\131P\160\027\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\128\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\001\235\218\188\000\004\000\b\000\000\130\001\024\000\016\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\b\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\002\000\000 \000\000\000\000\000\000\001$\000\004\131P\160\027\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\189\171@\000@\000\128\000\000\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\004\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\002\000\000 \000\000\000\000\000\000\001$\000\004\131P\160\027\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\128\000\b\000\000\000\000\000\000\000I\000\001 \212(\006\2430\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\127\254\191\130\005\026B\128H5\nq\220\252 \006z\131\000$yF\026\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\001$\000\004\131@\160\025\204\192\000! \016\002\000\016@ \158\189\171\192\000D\144\128\018\r\002\144g3\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\000\004\144\004\018\r\002\128g3\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\031\255\175\224\241F\144\160\016\012b\156w?\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\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \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\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \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\001\000\000\000\000@\000\000\000\000\000\000\004\b\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\007\255\235\248 Q\164(\004\003\016\167\029\207\194\000g\1680\000F\148@\160\159\255\175\224\129F\144\160\018\rB\220w?\b\001\158\160\192\t\026QB\130z\246\175\000\001\018B\000H4\nA\156\204\000\002\018\001\000 \001\004\002\b\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\018@\000@0\n\001\156\200\000\006\018\001\000\000\001\004\002\b\000\000\000\000\000I\000\001\000\192(\006s \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\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\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\004\144\000\018\r\002\128g3\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\001$\000\004\131@\160\025\204\192\000! \016\002\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\018@\000@0\n\001\156\200\000\006\018\001\000\000\001\004\002\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\t\000\000\012L\019e\146\192\000\000P\002\004\000\000j\128@Pw\000\000\000\000\000\000\000\000\000\000\000\000\b\004\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\007\175j\240\000\017$ \004\131H\164\025\220\192\000! \016\002\000\016H \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\000I\000\001 \208(\006s0\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\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 \016\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\t\000\000\012D\019a\018\192\000\000P\002\000\000\000h\128\000Pw\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\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\001$\000\004\131@\160\025\204\192\000! \016\002\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\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\012\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000I\000\001 \208(\006s0\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\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\004\144\000\018\r\002\128g3\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\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\001@\b\000\000\001\"\000\001@\220\000\000\000\000\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\004\144\000\018\r\002\128g3\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\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\002@\000\003\017\004\216D\176\000\000\020\000\128\000\000\018 \000\020\r\192\000\000\000\000\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000$\000\0001\016M\132K\000\000\001@\b\000\000\001\"\000\001@\220\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\167\029\207\194\000g\1680\000F\148@\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\127\254\255\195\197\026B\128@1\139q\220\252`\006z\147\000\004yG\026\204\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\167\029\207\194\000g\1680\000F\148@\160\159\255\175\224\129F\144\160\018\rB\220w?\b\001\158\160\192\t\026QB\130\127\254\191\130\005\026B\128H5\nq\220\252 \006z\131\000$iD\026\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\127\254\255\194\005\026C\128L5\011q\220\252`\014z\147\000tyGZ\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\000\000\000\000\000\000\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\000I\000\001 \208(\006s0\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\129\006\144 \016\012B\132w3\b\001\158\160\192\001\024Q\002\130\000\000\000\002\004\026@\128@1\n\017\220\204 \006z\131\000\004aD\n\b\000\000\000\000\000\000\000\000\000\000\000\000 \016\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000A \208(\006s0\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\004\144\004\018\r\002\128g3\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\000I\000\001 \208(\006s0\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\b\000\000\000\000\000\129\006\144 \016\012B\132w3\b\001\158\160\192\001\024Q\002\130\000\000\000\002\004\026@\128@1\n\017\220\204 \006z\131\000\004aD\n\b\000\000\000\000\000\000\000\000\000\002\000\000 \016\000\000\b\000\000\128\000\002\000\000\000\000\000\000\000\000\000\000\000\b\000\000\128@\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\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\b\004\000\000\002\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\002\000\000 \016\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\b\128\000\000\000\000\000\000\000\000\000\000\002\000\000 \016\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\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\b\004\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000H4\n\001\156\204\000\002\018\001\000 \001\004\002\b\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\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000D\144\128\018\r\"\144gs\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\128\000\000\000\000\b\016i\002\001\000\196(Gs0\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\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\007\255\235\248 Q\164(\004\131P\167\029\207\198\000g\1680\002F\148@\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\001\255\251\255\015\020i\n\001\000\198-\199s\241\128\025\234L\000\017\229\028k0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\255\250\254\b\020i\n\001\000\198)\199s\241\128\025\234\012\000\017\165\016( \000\000\000\000\000\000\000\000\128@\000\000\000\004\000\000\000\000\002\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128@1\138q\220\252`\006z\131\000\004iD\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\t\000\000\012L\019e\146\192\002\001P\002\004\128\000n\128@Pw\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\220\252`\006z\131\000$iD\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\007\255\235\248 Q\164(\004\003\024\167\029\207\198\000g\1680\000F\148@\172\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\004I\b\001 \210)\006w0\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\b\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\0020\016\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\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\b\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000\128\000\b \017\128\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\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\018\rB\128o3\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000\128\000\b \017\128\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\018@\000H5\n\001\188\204\000\002\018\001\000 \001\004\002\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\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\235\218\180\000\004\000\b\000\000\000\001\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128@\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\002\000\000\000\000\000\000\000\018@\000H5\n\001\188\204\000\002\018\001\000 \001\004\002\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\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\031\255\175\224\129F\144\160\018\rB\156w?\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\001\000\128@\000\000\000\004\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\127\254\191\130\005\026B\128H5\nq\220\252`\006z\131\000$iD\n\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\001\000\001\000\000\b\192D\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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 A\164\b\004\003\016\161\029\204\194\000g\1680\000F\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\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\007\255\239\252 Q\1648\004\195P\183\029\207\198\000\231\1690\006G\148u\172\192\000\000\000\129\006\144 \016\012B\132w3\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\001\255\250\254\b\020i\n\001\000\198-\199s\240\128\025\234\012\000\017\229\028h \000\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000\002\000\000\000\000\031\255\175\224\129F\144\160\016\012b\220w?\b\001\158\160\192\001\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@ \016\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\031\255\175\224\129F\144\160\018\rB\220w?\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\001\255\250\254\b\020i\n\001 \212-\199s\240\128\025\234\012\000\145\229\028h \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\016\000\031\255\175\224\129F\144\160\016\012b\220w?\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 \000\001\000\001\255\250\254\b\020i\n\001\000\198-\199s\240\128\025\234\012\000\017\165\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\000\000\000\000\000@ \016\004\000\000\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\000\000\000\000\031\255\175\224\129F\144\160\018\rB\220w?\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\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\000\000\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\000\140\004\000\000\002\000\000\000\000\001\000\000\000\000\000\000\000\000\004\0000\016\000\000\000\000\000 \000\000\000\128\000\001\000\023\255\235\248 Q\164(\004\003\024\167\029\207\194\000g\1680\000F\148@\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\001\016\012\004\000\000\000\000\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\007\255\235\248 Q\1648\004\195P\167\029\207\194\000\231\1680\002F\148D\160\223\255\175\224\129F\144\160\016\012b\156w?\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\007\255\235\248 Q\1648\004\195P\167\029\207\194\000\231\1680\002F\148D\160\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\031\255\175\224\129F\144\160\018\rB\220w?\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\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\127\254\191\130\005\026B\128H5\nq\220\252`\006z\131\000$iD\n\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{\254\191\128\001\018B\128@0\nA\156\248\000\006\018\001\000\000\tD\n\b\000\000\000\000\000I\000A \208(\006s0\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\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\001\239\250\254\000\004I\n\001\000\192)\006s\224\000\024H\004\000\000%\016( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\030\189\171\192\000@\000\128\000\b\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\004\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\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\144\000\018\rB\128o3\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\001\000\000\b\192@\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\b\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\189\171\192\000@\000\128\000\b \017\128\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\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\018\rB\128o3\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\001\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\018@\000H5\n\001\188\204\000\002\018\001\000 \001\004\002\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\014\189\171@\000@\000\128\000\000\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\004\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\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\144\000\018\rB\128o3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\030\255\175\224\000D\144\160\016\012\002\144g>\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\144\000\000\192\193\006I,\000 \020\000\000H\000\006(\004\004\004`\000\000\000\000\000\000\001\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\018@\000H5\n\001\188\204\000\002\018\001\000 \001\004\002\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\018B\000H4\138A\157\204\000\002\018\001\000 \001\004\130\b\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\000\016\000\016\000\000\140\004\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\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\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\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\004`\000@\000\000\000\000\002\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\016\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\001$\000\004\131P\160\027\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\144\000\018\rB\128o3\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\003\175j\208\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\000\002\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\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\001$\000\004\131P\160\027\204\192\000! \016\002\000\016@ \128\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\004\000\004\000@#\001\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\001\002\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\b\020i\n\001\000\198)\199s\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001 \208(\006s0\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\001\000\000\000\000\031\255\175\224\129F\144\160\018\rB\156w?\b\001\158\160\192\t\030Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\255\250\254\000\004\000\b\000\000\128\001\000\000\192\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\001\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\005\255\250\254\b\020i\n\001\000\198)\199s\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\031\255\175\224\129F\144\160\016\012b\156w?\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000@\000\000\000\000\004\144\000\018\r\002\128g3\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\000I\000\001 \208(\006s0\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\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\004\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\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\b\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\016\000\000\000\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\006\144 \016\012B\132w3\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\004\000\000\000\b\016i\002\001\000\196(Gs0\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\129\006\144 \016\012B\132w3\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000I\000\001 \208(\006s0\000\bH\004\000\128\004\016\b \000\000\000\000\000\000\016\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\000\004\000\b\000\000\128\001\000\000\192\000\000\b\000\000\000 \000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000_\255\175\224\000@\000\128\000\b\000\016\000\012\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\250\254\000\004\000\b\000\000\128\001\000\000\192\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\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\004\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\004\144\000\018\r\002\128g3\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\b\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\b\003\128\130D\144!\000\192\000\004\144\000\133(R\000\0060\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\001\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\004\000\160 \017\004\000\004\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\b\000\000\000\004\000@\n\002\t\016@\000@\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\128\000\000\000\000 \000\002\000\000\000\000\000\000\000\002\002\000\000\000\000\000\b\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\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\002\000\000\000\000\000\000\000\136\000\000\000\000\000\000\000\b\b\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\189\171\192\000\224 \145\004\b@0\000\001$\000!H\020\128\001\140\000\000z\246\175\000\003\128\130\000\016!\000\192\000\004\144\000\133 R\000\0060\000\000\000\000\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\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\128\000\000\000@\004\000\160 \145\004\000\004\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\001\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\030\189\171\192\000\224 \144\004\b@0\000\001$\000!H\020\128\001\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235\218\188\000\014\002\b\000@\132\003\000\000\018@\002\020\129H\000\024@\000\000\000\016\001\000(\b$A\000\001\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\016\000\000\004\000@\n\002\t\016@\000@\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\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\004\000@\n\002\t\016@\000@\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\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\000\000\000\004\000@\n\002\t\016@\000@\000\000\n@\002\029\160H\000\016\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\001\000(\b$A\000\001\000\000\000\t\000\bv\129 \000C\000\000\000\000@\004\000\160 \145\004\000\132\000\000\000\164\000!\218\004\128\001\014\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\144\002\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\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\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\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\030\189\171\192\000@\000\128\000\b\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 @\007\175j\240\000\016\000 \000\002\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\016\000\000\004\000@\n\002\t\016@\000`\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@\004\000\160 \145\004\000\004\000\000\000$\000!\218\004\128\001\012\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\018\000\000\000\000\000\000\000\000@\004\000\160 \145\004\000\004\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\b\000\000\000\000\000\000\000 \000\000\000\016\001\000(\b$A\000\001\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\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\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\004\000@\n\002\t\016@\004@\000\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000(\b$A\000\001\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\000\000\000\004\000@\011\130\t\016@\001@\000\000\n@\002\029\160H\000\016\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\001\000(\b$A\000\001\000\000\000\t\000\bv\129 \000C\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\004\000@\138\002\t\016@\000@\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\128\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\128\000\000\000@\004\b\160 \145\004\000\004\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\001\128\000\000\000\001\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\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\004\000@\n\002\t\016@\000@\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\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\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\002\128B\004\000\160 \145\004\000\006\000\000\000$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\024\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000\001\128\000\000\t\000\bv\129 \000C\000\000\000\000\000\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\002\144\000\135h\018\000\0048\000\000\000\004\000@\n\002\t\016@\000@\000\000\002@\n\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\002\000\000\000@\004\000\160 \145\004\000\004\000\000\000$\000!\218\004\128\001\012\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\001\000\016\002\128\130D\016\000\024\000\000\000\144\000\135h\018\000\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000(\b$A\000\001\128\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\t\000\bv\129 \000C\000\000\000\000\000\000\000\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\b\000\000\000\000\000\000\000\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\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\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\002\004\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\001\000(\b$A\000\001\000\000\000\t\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\000\000\004\000@\n\002\t\016@\000@\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\025\000\000\000\000\016\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\002\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\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\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\016\001\000(\b$A\000\001\000\000\000\t\000\bv\129 \000C\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\004\000@\n\002\t\016@\000@\000\000\002@\002\029\160H\000\016\192\000\000\000\016\001\000.\b$A\000\005\000\000\000)\000\bv\129 \000C\128\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\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@\004\000\160 \145\004\000\004\000\000\000$\000!\218\004\128\001\012\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\007\175z\241\0008\b$A\002\017\004\000\000I\000\bv\129 \000C\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\001\000\016\002\128\128D\016\000\016\000\000\000\144\000\135h\018\000\0040\000\000\000\004\000@\011\146\t\016@\t`\000\000\n@\002\029\160H\000\016\224\000\000\000\016\001\000(\b$A\000!\000\000\000\t\000\bv\129 \000C\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\004\000@\n\002\t\016@\000@\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\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\016\000\000\000\000\000\000\030\189\235\196\000\224 \145\004\bF\016\000\001$\000!\218\004\128\001\012\000\000\000\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\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@\004\000\160 \145\004\000\004\000\000\000$\000!\218\004\128\001\012\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\001\000\016\002\128\130D\016\000\016\000\000\000\144\000\135h\018\000\0040\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\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\030\189\171\194\000\224 \145$\b@0\000\001$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\224\025\204\192\000! \016\002\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\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\001$\000\004\131@\160\025\204\192\000! \016\002\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\007\255\239\252 Q\164(\004\131\208\231\029\207\194\000g\1690\002F\148@\172\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\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H=\nq\220\252 \006z\147\000$iD\n\205\239\251\255\000\004\000\b\000\000\128\001\000\000\000\000\000\000@\000\000\000\000\000\007\191\239\252\000\016\000 \000\002\000\004\000\000\000\000\000\001\000\000\000\000\000\000\030\255\191\240\000@\000\128\000\b\000\016\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004!C\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\001\000\000\000\000\000\000\000B\0200\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\255\175\224\241F\144\160\016\012b\156w?\b\001\158\160\192\001\026Q\002\130\127\254\191\130\005\026B\128@1\138q\220\252 \006z\131\000\004iD\n\b\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\235\248 Q\164(\004\003\024\167\029\207\194\000g\1680\000F\148@\172\192\000\000\000\000\000\000\000\002\001\000\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\002\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\220\252 \006z\131\000$iD\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\001$\000\004\0038\160\025\204\192\000a \016\n\128\016A \128\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\001\255\250\254\015\020i\n\001\000\198)\199s\240\128\025\234\012\000\017\165\016('\255\235\248 Q\164(\004\003\024\167\029\207\194\000g\1680\000F\148@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\127\254\191\130\005\026B\128@1\138q\220\252 \006z\131\000\004iD\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\007\255\235\248<Q\164(\004\003\024\167\029\207\194\000g\1680\000F\148@\160\159\255\175\224\129F\144\160\016\012b\156w?\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\255\191\240\000@\000\128\000\b\000\016\000\000\000\000\000\132\000\000\000\000\000\000\001\bP\192\000\000\000\000\000\016\000\000\140\004\000\000\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\0020\016\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\246\175\000\001\000\002\000\000 \128F\000\004\000\000\000\000\000 \000\000\128\001\235\218\188\000\004\000\b\000\000\130\001\024\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\246\175\000\001\000\002\000\000 \128F\000\004\000\000\000\000\000\000\000\000\128\001\235\218\188\000\004\000\b\000\000\130\001\024\000\016\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\030\189\171\192\000@\000\128\000\b \017\128\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\128\000\000\000 \000\000\000\000\136\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\b\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\136\000\030\189\171\192\000@\000\128\000\b \017\128\001\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\031\255\175\224\129F\144\160\018\rB\156w?\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\016\000\000\000\000\000\000\000\000\000\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\002\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\191\130\005\026B\128H5\nq\220\252 \006z\131\000$iD\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\016\133\012\000\000\000\001\000\001\000\000\b\192@\000\000!\000\000\000\000\000\012@\000\000\000\000\000\002\002\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\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\000I\000\001 \2088\006s0\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\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000\018\r\002\128g3\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\001\255\251\255\b\020i\n\001 \2449\199s\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\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\255\191\240\129F\144\160\018\015B\156w?\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\001\255\251\255\b\020i\n\001\000\198)\199s\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\002\000\000\000\012_\255\191\240\129F\144\160\016\012b\156w?\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\001\255\251\255\b\020i\n\001 \212)\199s\240\128\025\234L\000\145\165\016+7\255\239\252 Q\164(\004\003\024\167\029\207\194\000g\1690\000F\148@\172\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\016\b\004\000\000\000\000\000\000\000\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\007\255\239\252 Q\164(\004\131P\167\029\207\194\000g\1690\002F\148@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\254\255\194\005\026B\128H5\nq\220\252 \006z\147\000$iD\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\007\255\239\252 Q\164(\004\131P\167\029\207\194\000g\1690\002F\148@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\016\000\016\000\000\140\004\000\000\002\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\167\029\207\194\000g\1690\002F\148@\172\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\016\b\004\000\000\000\000\000\000\000\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\007\255\239\252 Q\164(\004\131P\167\029\207\194\000g\1690\002F\148@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\bP\192\000\000\000\016\000\016\000\000\140\004\000\000\002\016\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\000\000\000\004\000\001\000\000\000\000\000\000\000\000\000@\145.\000`\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\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\b\000\000\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\000\000\000\000\002\000\000\016 \000\000\000\000\000\000\000\004\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\001\002\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\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\b\001\000\000\000\000\000\000\000\128\000\004\b\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\016\000\000\000\001\000\000\000\000\000\000\000\000\004\024\001\000\000\128P\000\000\000\000\000\000\b\000\000@\128\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\016\000\000\000\001\000\000\000\000\000\000\000\000\004\024\001\000\000\000P\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\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\001\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\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\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\004\000\000\000\000\000\000\000\000\000\000\000\000\001\014\000`\000\000\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000A\128\024\000\000\004\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\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\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\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\014\000`\000\000\016\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\004\024\001\128\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\000A\128\016\000\000\004\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\016\000\000\000\000@\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\004\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\004\024\001\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\000A\128\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\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\b\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\b\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\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\b\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\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\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\016\000\000\000\000\000\000\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\016\000\000\000\000\000\000\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\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")
   
   let action =
-    ((16, "\000\136\000\193\000\000\000\000\t\156\000\193\000\000\000\000\000\021\000\000\000\000\000\000\000\199\000\000\000\000\000\000\000\136\000\000\001^,4\000\000\018\212\018\212\000\000\000\000*L\018\212\000\000<\208\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000%\000B\018\212\000\000\018\212\000\000\000\000\000\000*\180\018\212\000\000<\220\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000|\000\244\018\212\000\000\018\212\000\000\018\212\000\000=\012\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000w\000\000\000\000\018\212\000\000\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000\252\001\180\018\212\000\000,4<\208I,\000\000\021@\002&-\176\000EI,\000\000\001\188\018\212\000\000I,\000\000\000w\003z/\226\000\000\000\0009\138\000\000=\212\000\000>`-\228-\228\0206\0206=\212\0206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\022-\228\000\000\000\000:\022\000\000:\022\000\000-\228\000\000\000\000\000\000\023\186\000w\000\000\0206\000\000+F-\228\027\232-\228\000\000\000\000\000\000\000\000\000\000\000\000\030\198-\228\031\192-\228 \030-\228!\024-\228\000\000-\228\000\000-\228!v-\228\"p-\228\"\206-\228#\200-\228$&/\226\002\"-\228\000\000\000\000\000\000\000\000\000\000-\228% -\228%~-\228&x-\228\000\000\000\000-\228\000\000\000\000\002x\000\000\000\000\000\000\000\000\001\182\018\212\000\000\000\252\018\212\000\000>\226\018\212\000\000\000\000\018\212\000\000\018\212\000\000\002\180\003\002\018\212\000\000\018\212\000\000\007\230\018\212\000\000?\022\018\212\000\000\000\000\018\212\000\000\018\212\000\000\0030\003\226\018\212\000\000\018\212\000\000\018\212\000\000?\"\018\212\000\000\000\000\018\212\000\000\018\212\000\000\000w\018\212\000\000\018\212\000\000\018\212\000\000\018\212\000\000\003\218\004\006\018\212\000\000= I,\003\238\018\212\000\000I\160IX\000\000\000\031\004\178\000w\004\028\004\230-\176\000\000\000\000\000)JZ\000\000\000\000\000\000\000\000\005\218\005X\000E\005\146-\176\001B-\176\000\000\000\000\004\234\000\000\005\006\005\210-\176\005\022\000\000\000\000\000\000\000)\000\000\0054\006.\000\000\0062\000\000\005\220\000\150I,\005p\018\212\000\000>\226I,\005t\018\212\000\000\000\000\000w\006Z\000\000\000\000\000\000\001v\0206\000\000-\228\005\130\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\005\136\000\000\000\000\005\144\000\000\005\148=\212\000\000\000\000\000\000\000\000\000\000\000\000@\020-\228\000\000@\020\000\000@\020=\212\000\000\000\000@\176\000w\000\000\0206\005\156\000\000-\228\005\208\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000J\166-\228\000\000-\228\000\000\000\000\005\214\000\000\000\000:\192\006\142-\228\006\\\000\000\000\000=\212\000\000\000\000\000\000\000\000\000\000\000\000J\234=\212Kv=\212K\166=\212K\234=\212\000\000=\212\000\000=\212LD=\212L\156=\212L\246=\212M:=\212Mj/\226\0062=\212\000\000=\212M\174=\212N\008=\212N`\006\016\000\000\006\"\000\000\000\132-\228\000\000\000\132\000\000\000\000\002\016,4\000\000\002\016\000\000\000\000\006\"-\228\000\000\006&\000\000\0206\0064\000\000\000\000\007\000\000\000\0206\0068\000\000\000\000\006:\000\000\000\000\003z\000\000\007(\000\000?\022I,\006H\018\212\000\000\000\000\006\226\000\000\006f\018\212\000\000\000\000\000\t,4\000\000,4\000\000\006X\000\000\000\t\000\000\016\150\030\198\018\170\000\000\008d\018\170\000\000\018\170\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\156\006\200\018\170\000\000\018\170\000\000\t\002\018\170\000\000\018\212\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\160\006\210\018\170\000\000\018\170\000\000\018\170\000\000\018\226\018\170\000\000\000\000\018\170\000\000\018\170\000\000\000w\018\170\000\000\018\170\000\000\018\170\000\000\018\170\000\000\006\170\006\218\018\170\000\000,4\006\142\000\000\018\196I,\006\144\018\170\000\000\000\000\000=\000\000\002\028\000=\000\000\000\000\000\000\007|\000\000\001\020I,\006\154\018\170\000\000\018\212I,\006\158\018\170\000\000\000\000\007>\018\170\000\000\n\002\018\170\000\0000\174\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\212\007\002\018\170\000\000\018\170\000\000\n0\018\170\000\0000\198\018\170\000\000\000\000\018\170\000\000\018\170\000\000\006\220\007\012\018\170\000\000\018\170\000\000\018\170\000\0000\202\018\170\000\000\000\000\018\170\000\000\018\170\000\000\000w\018\170\000\000\018\170\000\000\018\170\000\000\018\170\000\000\006\230\007\018\018\170\000\000\018\226I,\006\194\018\170\000\000\000\000\002bI,\006\196\018\170\000\0000\198I,\006\206\018\170\000\000\000\000\000\000\000\000\000\000\000\000\007\150-\228\006\220\021\246\007\156-\228\006\224\007\158-\176\000\000\000\000-\176\000w\000\000\001\192-\228'\152\000\000@\246-\228\006\236\000\000\0206\006\236\000\000\006\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000A\160-\228\000\000A\160\000\000A\160B,\0206\006\246B,\000\000\000\000J\\\000w\000\000\0206\006\252\000\000-\228\007\022\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000-\228\001,-\228\007\026\000\000\000\000(B\026(&\196\007\230-\228\000\000\007\184\000\000\000\000\000w\000\000\000\000;\\\007n'\152\000\000\007p'\152\000\000\001L\000\000\000\000\023FB,\0312B,*\190B,90B,\000\000B,\000\000B,N\160B,N\194B,O\006B,OFB,O\192B,P\000B,P@B,P\146\000\000\007D\000\000\007T(\236\000\000)\150\007^)\150,\"\007`)\150\000\000\000\000\000\000\000\000\000\000\007V\000\000\008<\000\000\000w\000\000\001\192\008>\000\000\004F\008\020\000w\007j\008,-\176\007p\002*\000\000-\228\008R\000\000\005\252\006\174\0084-\176\007z\008`\000\000\002.-\228\008d\000\000\008l\000\000\005\220\000w\002\190-\228\008p\000\000\008t\000\000\000w\003t-\228\008v\000\000\008x\000\000\001\018\007\196\006\232\000\000B\184CD\0206\007\160\000\000\007\172CD\000\000\000\000\000\000\000\000\000\000\000\000C\208-\228\000\000C\208\000\000C\208CD\000\000\000\000\026\134\000w\000\000\0206\007\174\000\000-\228\007\172\000\000\000\000\000w\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000,\204-\228\000\000-\228\000\000\007\186\000\000\000\132\000\000\000\000\000\000\000\000\000\0001\176CD1\224CD2\234CD3\026CD\000\000CD\000\000CD4$CD4TCD5^CD5\142CD6\152/\226\007\242CD\000\000CD6\200CD7\210CD8\002\0206\007\206\000\000\000\000-\228\000\000\008\180\000\000\001`\008\138-\228\008T\000\000\008\142-\228\008X\000\000\000\031\000\000\006\232\006\232\001`\000\000\001`\000\000\016\150\006\232\006\232\000\000\000\000\000\000\000\000\000\000\000\000\008\158-\228\007\228\021\246\022\198\000w\008\202\000\000\008\172/\226\008\214/\226\008\218-\228\008\002\021\246\021\246\000w\002^\001T\000\000\000\000\000\000\002^\000\000\003,\000w\000\000\000\000\008\004\000\000\000\000\000\000\008\238\000\000\008\242\000\000\000\000\t(\008\214-\228\008\"\t\002\000\000\008\232\0206\008,\021\246\000\000\000\000\008Z\000\000\000\015\000\000\005\134\000\000\000\000\001`\000\000\008\176\000\000\012p\004\020\000\000\012p\000\000\000\000\025\028\000\000\004\020\000\000\000\000\t\172\000\000\012p\000\000\008\248\0206\008>\t \000\000\000%\000\000\008\242\000w\008J\t\012-\176\008T\002\146\000\000-\228\t>\000\000\t>-\176\008\144\tv\000\000\004\028-\228\tz\000\000\t|\000\000\005\220\000w\004\156-\228\t~\000\000\t\128\000\000\000\000\000\000\t\172\000\000\000\000\004\020\000\000\006\232\000\000\000%\000\000\000\000\003^\022\198\000\000\003^\000\000\000\000\008\168\000\000\003:\000\003\021\246\000\000\004$\000O\004$\000\000\000\015\000\000\006\232\000\000\006\232\000\000\000\000\000\000\008\164\000\000\000\000\008\182\000\000\004\216\005\134\001V\004$\000\000\000\000\000\000\008J\000\000\006\232\000\000\004\216\000\000\000\000\003\022\000\015\016\150\000\000\000\015\000\000\008J\016\150\000\000\000\000\008J\000\000\000\000\008\182\000\000\000\000\008\188\000\000\004\222\006\232\000\000\004\222\000\000\000\000\t8\000\000\004\020\000\000\006\232\000\000\000\000\000\000\017\2368\254\000\000\t\160\000\000\017\236\t\164\000\000\t\168\000\000-\176\000w\003\140\000\000-\228\t\172\000\000\005\166\t~\000w\008\214\t\150-\176\008\220\003\180\000\000-\228\t\188\000\000\003\244\000\000-\228\t\196\000\000\005\220\000w\004,\000\000-\228\t\198\000\000\005*\017\236\000\000\025\028\004\192\000\000-\228\t\214\000\000\000\000\000\000\003\250\000\000\t\186\0206\t\006\t\236\000\000\007\n\000\000\t\190\000w\t\"\t\234-\176\t0\005\156\000\000-\228\n\020\000\000\005\160\000\000-\228\n\022\000\000\005\220\000w\005\172\000\000-\228\n\024\000\000\005*\000\000\000\000\t>\000\000\003\250\008\230\t\184\000\000\000\000\000\000\t\186\000\000\0020\000\031\000\000\016\150\n\012\000\000\000\000-\228\tn\006\232\000\000\tH\000\000\001\018\000\000-\176\000\000\000\000\002\190\016\150\000\000\016\150\000\000\t6\000\000\002\190\000\000-\228\003\138-\228\000\000-\228\000\000\tN\000\000\003\138\000\000-\228\003\138\tP\000\000\021\246\004 \021\246\000\000\021\246\000\000\tV\000\000\004 \000\000-\228\003\138\tX\000\000-\176\004\226-\176\000\000-\176\000\000\t^\000\000\004\226\000\000-\228\003\138\t`\000\000\000\000\025\028\000\000\000\000\t\206.\194\000\000\000\000\000\000\000\000\000\000\t\170\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\202.\194\000\000\004\132\000x\000\000\t\172\000\193\000\000\000\000\000\000\004\130\000x\000\000\000\000\000\000\000\000\n\n\000\000\000\000\000\000\000\000\027\232\029J\000\000D\142\000\000.\194\000\000\0016.\194\000\000\000?\000K\000K\000\000\002L\000K\000\000\t\136\000\000\000\000\000\000\000\000\n\024\000\000\029\196\000\000\030\198.\194\000\000\000W.\194\000\000\n\028\000\000.\194\n \000\000F\022/P\n$\000\000\n(\000\000F\194;\216.\194\t\166.\194\n0\000\000\n2\000\000\n6\000\000,4\000\000\002\134,4\000\000\t\180\018\170\000\000\000\207.\194\000\000\005l.\194\000\000\003L\n\182\000\000\n\184\000\000.\194.\194\t\216\000\000\000\000\000\000\000\000\000\000\000\000\nt\000\000G\028.\194\nv\000\000\nx\000\000.\194\nz\000\000.\194\n$\000\193\000\000\000\000\005\230.\194\000\000\003L\000\000\n\128\000\000.\194\n\130\000\000D\252/P.\194\n\000.\194\n\134\000\000\n\136\000\000E\168\000\000\000\000\006\026.\194\000\000\002\194\000L\000K\n\008\000\000\000\000\000N\000N\000\000\000\000\000\000\003\186\000N\000\000\n\n\000\000\000\000\000\000\000\000\000\000\000\000.\194\000\000\006f.\194\000\000\001`\004@\000\193\n\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\156\000\000\n\162\000\000.\194\n\164\000\000G\148.\194\n\172\000\000\n\182\000\000\021\140\n^G\238\018\196\000\000.\194\n\190\000\000\n\192\000\000\n\144\021\140.\194\n\200\000\000.\194\n\210\000\000\n\212\000\000.\194\nR.\194\n\224\000\000\n\228\000\000\000\193\nV\000\000\000\000\025\028\000\000\000\000\002z\011F\000\000\000\000\002\174\000\000\000\000\000\000-\228\000\000\000\000\000\000\002\194\000\000\004\248\000\000\000\000\000\000\004$-\176-\176-\176\000\000\002P\002P\002P\002P\000\000\000\000\000\000\000\000\000\000\000\000\001`\016\150\011<\013\210\000O\000\000\000\000\001&\000\000\t\172\000\000'\152\nn\000\000\001`\016\150\n\130\0154\000\000\001`\013\210\000\000\000\000\000\000-\176\006v\000\000\000\000\000\000\n\214\0014\011PI\160\000\000\004\136J\138\000\000\000\000\000\000\t~\011@\000w\000\000\004\136\000\000\004\176I\160\000\000\000\000\n\152\011P\006\232\n\150\000\000\001&\000\000\t\172\000\000;\002\004<\000\000\000\000\011<\000\000\000\000\002z\000\000\005\016\000\000\000\000\000\000-\228\000\000\002\194\000\000\005N\000\000\000\000\000\000\005\134\000\000\011\014\002\144\011\014\000\000\006\232\011\014\000\000\002\144\000\000\006\232\000\000\006\232\000\000\006\232\000\000\t:\000\000\000\000\000\000\000\000\000\000\006\232\000\000\002\144\000\000\006\232\000\000C\170\000\000\000\000\nj\n\200\000\193\005p\011d\003\004\000\000\003\004\011\140\000\000\011\142\000\000\011\144\000\000\000\000\004p\003\004\007r\003\004\000\000\000\000\004\174\n\152\000\000\n\216\000\193\005p\n\160\000\000\nj\011\164\000\000\n|\003P\011\182\000\215\011\182\000\000\000\000\002\030\000\193\000\000\001\152\000\000\000\000\002\178\000\000\n\178\000\000\000\000\000\000\n\238\000\193\005p\n\184\000\000\000\000\nj\n|\003P\002\030\001\152\002\178\n\186\000\000\n|\003P\002\030\001\152\002\178\n\192\000\000\000\193\000\000\011\194\001V\n\252\000\193\011X\000\000\011\000\000\193\011\\\000\000"), (16, "\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\021&\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\011\249\008}\014\218\011e\022\210\011\249\015\002\000\n\011e\011e\000&\015\014\011\249\001\"\016\138\022\006\011\249\011\249\001~\011\249\011e\007\189\011\249\022\002\007\150\016\022\011\249\011\249\011\249\000*\016\142\008\210\027\226\004>\014\218\007\189\011\157\011\249\001\"\015\006\011\249\011\249\006}\015\014\000\n\011e\011\249\011\249\006\173\011\249\001\230\011\249\0007\000;\012\226\001\242\011\249\001\"\011\249\011\249\011\249\011\249\011\249\015\138\017.\021&\011\249\011\249\011\249\000\n\011\249\011\249\011\249\000\n\011\249\011\249\011\249\011\249\000\006\000\"\021\146\011\249\011\249\016&\003\237\000\n\007\189\021\150\000\n\007\158\023\202\023\222\011\249\011\249\011\249\018Z\022N\011\249\011\249\011\249\011\249\018^\011\249\011\157\011\249\018b\000\150\011\249\006\173\004~\011\249\011\249\012\165\012\165\003:\016&\003B\012\165\003R\004^\017^\011\249\006\026\005\253\011\249\003Z\006\222\004\222\011\249\011\249\011\249\011\249\021\162\011\249\023\226\011\249\000\154\007\189\019\214\011\249\011\249\011\249\000\n\011\249\006}\011\249\011\249\001\"\011\249\007\189\011\249\011\249\006%\003b\011\249\011\249\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\000.\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\006\133\000\n\016\022\011\197\028\130\006\133\014\222\014\238\014\254\000\226\003r\014\218\006\133\008\246\022\234\022\242\006\133\006\133\023\198\006\133\015\014\028\146\006\133\003.\0036\000\170\006\133\000\174\006\133\003z\003\190\006U\003\198\001\"\003\214\014\218\003\222\006\133\003\230\003\242\011n\003\250\006\029\006\029\015\014\001\230\006\133\006\133\000\230\001\238\001\242\006\133\006\133\024.\004\213\004\002\006\133\011\205\006\133\006\133\006\133\006\133\006\133\021\130\000\n\001\"\006\133\006\133\006\133\004\n\006\133\006\133\006\133\001R\006\133\006\133\006\133\006\133\008\153\011}\000\n\006\133\006\133\000N\007\182\020R\020z\020\138\020\178\020\194\020\234\013V\016&\006\133\006\133\011v\000\n\006\133\006\133\006\133\006\133\020\002\006\133\004\026\006\133\nR\005\237\006\133\nV\006\013\006\133\006\133\025r\011\170\nZ\015\146\016&\021\246\011\130\n^\025v\012\165\012\165\004\138\006\133\011\213\012\165\003i\006\133\006\133\006\133\006\133\012\210\006\133\011}\006\133\004\213\027\254\008\153\006\133\006\133\006\133\004u\028\002\001V\006\133\006\133\006\246\006\133\005\030\006\133\006\133\001v\004e\006\133\006\133\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\n\158\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\004u\n*\006\157\006\157\016\022\016\170\011m\012\158\006\157\006\157\006\157\006\157\001\138\014\218\006\157\006\157\023\198\006\157\006\157\025\022\006\157\001\"\015\014\0202\006\157\006\149\006\157\011}\006\157\006\157\006\149\006\149\006\157\006\157\006\157\006\157\006\157\006\157\006\157\006\157\002\206\012\214\027\242\013\002\006\157\006\157\006\157\006\157\004\161\006\157\006M\023\218\000\n\008\218\006\157\025\022\006\157\027j\006\157\006\157\006\157\006\157\012\158\019\234\006\157\006\157\006\157\006\149\006\157\006\157\006\157\016\138\006\157\006\157\006\157\006\157\008\145\022\018\027n\027\218\006\157\022\234\022\242\006\157\011\141\027r\015\142\016\142\020:\016\022\006\021\006\157\006\157\016\174\016&\006\157\006\157\006\157\006\157\006\246\006\157\006\157\006\157\003\026\028\n\006\157\022\186\001\230\006\157\006\157\006\157\012\226\001\242\011u\003f\013\"\006\157\006\222\011}\006\157\022\250\005\229\006\157\008\189\008\189\020Z\006\157\006\157\008\189\006\157\018\150\006\157\003j\006\157\012\158\017:\008\145\006\157\025'\025+\001\162\005}\000\n\025/\006\157\008\161\006\157\027z\006\157\006\157\018\198\006=\006\157\006\157\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\021\018\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\003\170\021\022\006\141\027\130\nb\006M\018\218\006\141\006\141\0196\021\026\001F\021\030\015\170\020b\001\166\nr\003\241\013^\006\141\021\"\013b\016\022\006U\020\146\001N\011}\014\202\021.\008\161\013>\014\218\0212\005\229\018\246\026\135\001\178\006\222\0216\025\150\015\014\006u\018\154\026\139\006\141\015\"\013j\025\194\025\206\012\158\015&\017j\005\229\026\142\021:\001\218\005\229\001\222\004\177\001b\016\030\015.\018\202\012\182\0242\013~\001\230\0152\003\174\013\130\011\138\001\242\012\165\013\134\013\138\n\134\013\142\0065\004\021\021>\027\146\0156\021B\001\230\023\242\004\014\004\018\012\226\001\242\020\154\011}\011\133\n\226\013\146\018\222\021F\015:\015>\013\150\015B\021J\000\n\021N\015V\021R\021V\004\141\021Z\019\026\015b\013\158\027\146\016&\021^\016\210\000\n\021b\004&\000\n\006U\025\226\020\202\018\250\015\130\011\221\n\241\004B\015\134\015\194\004\177\n\138\021f\013\162\012\158\015\198\021j\021n\004J\013\166\004\177\004\177\012\165\012\165\004N\004\177\015\206\012\165\013\170\017\174\006\165\006\165\018.\006E\002\"\006\165\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\021\142\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\004\021\016\242\027\162\021\174\nb\004\021\004\021\011\221\n\241\020\210\026\"\001F\019\n\027\154\005\245\001\166\nr\004\021\013^\019\030\012\158\013b\003.\0036\000\170\001N\000\174\014\202\003z\003\190\026N\003\198\004z\003\214\003]\003\222\001\178\003\230\003\242\014\218\003\250\019r\004\021\019\134\027\154\015\"\013j\025\194\015\014\019\162\015&\017\178\004\130\006]\004\002\001\218\006e\001\222\004\193\001b\016\030\015.\018\170\004\154\011\181\013~\001\230\0152\004\n\013\130\011\138\001\242\006-\013\134\013\138\n\134\013\142\004\162\025O\025S\016\"\0156\001\230\025W\004\166\004\174\012\226\001\242\004v\005\013\026\167\026\171\n\226\013\146\006m\026\175\015:\015>\013\150\015B\004\198\000\n\004\026\015V\nR\004\241\004\141\nV\005\013\015b\013\158\025r\001\"\nZ\004\202\027b\004\210\000\n\n^\025v\016&\026\199\026\203\015\130\022\222\011\189\026\207\015\134\015\194\019v\n\138\019\138\013\162\004\230\015\198\004\250\005\014\019\166\013\166\004\017\004\193\005.\005R\000\n\000\n\015\206\005^\013\170\005f\006\181\006\181\011\165\005\186\002\"\006\181\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\012\182\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\005\013\005\t\0039\005\198\nb\006\018\0039\006\"\023b\001\230\006*\001F\011\173\012\226\001\242\001\166\nr\004\237\013^\005\013\005\t\013b\t\"\t*\000\170\001N\000\174\014\202\tn\t\178\006\170\t\186\006\206\t\202\023\186\t\210\001\178\t\218\t\230\014\218\t\238\006\214\007\014\007\026\000\n\015\n\013j\019R\015\014\004\161\015&\007&\0072\007>\t\246\001\218\007J\001\222\004\221\001b\015*\015.\007^\019V\007n\013~\001\230\0152\t\254\013\130\011\138\001\242\024\"\013\134\013\138\n\134\013\142\007~\004\013\007\134\012\173\0156\007\171\001\230\007\246\007\250\008:\012\226\001\242\005\t\008>\008\158\n\226\013\146\008\162\008\178\015:\015>\013\150\015B\008\194\000\n\n\014\015V\008\238\008\254\004\141\t\018\005\t\015b\013\158\004\013\tZ\003~\t^\003\134\t\158\003\150\000\n\t\162\016&\n\002\n\006\015\130\003\158\n\026\n2\015\134\015\194\004\221\n\138\nF\013\162\nf\015\198\nn\nv\n~\013\166\004\221\004\221\n\130\n\182\n\194\004\221\015\206\n\202\013\170\011\014\008\197\008\197\011.\003\166\002\"\008\197\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\011:\001\014\011~\001\022\nZ\001\030\0012\001:\001>\n^\007\202\004\013\007\210\011\150\007\226\nb\004\013\004\013\011\162\011\190\003\182\007\234\001F\011\202\012R\012Z\001\166\nr\004\013\013^\012j\012v\013b\012\146\012\154\012\174\001N\007\197\014\202\012\186\012\194\016\022\012\198\012\206\004\013\012\222\012\238\001\178\012\246\007\242\014\218\007\197\012\250\004\013\013\n\027\154\015\n\013j\013\018\015\014\013*\015&\0132\013F\013N\013Z\001\218\013r\001\222\004\213\001b\015*\015.\013z\013\206\013\218\013~\001\230\0152\014\"\013\130\011\138\001\242\008\002\013\134\013\138\n\134\013\142\014\154\008\014\014\194\008\022\0156\008&\014\214\014\226\014\234\014\242\014\250\015F\008.\015N\007\197\n\226\013\146\015^\015f\015:\015>\013\150\015B\015n\000\n\015v\015V\nR\015~\015\186\nV\019R\015b\013\158\025r\015\202\nZ\015\210\015\222\015\226\0086\n^\025v\016&\015\234\015\238\015\130\019V\015\246\015\254\015\134\015\194\016\014\n\138\0162\013\162\016v\015\198\016~\006\246\016\130\013\166\016\146\004\213\016\154\007\197\016\158\001\230\015\206\016\166\013\170\012\226\001\242\016\138\008F\016\182\002\"\007\197\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\016\142\001\014\016\190\001\022\nZ\001\030\0012\001:\001>\n^\016\198\011\149\011\149\000\n\016\202\nb\016\218\016\226\016\250\017\002\001\230\017R\001F\017\154\012\226\001\242\001\166\nr\017\166\013^\018\026\018&\013b\018F\0266\018r\001N\018~\014\202\018\134\t.\018\162\t6\018\174\tF\018\182\018\186\001\178\018\194\018\210\014\218\tN\006M\018\230\019\002\000\n\015\n\013j\001\"\015\014\004\161\015&\019&\tr\019>\tz\001\218\t\138\001\222\019F\001b\015*\015.\019J\t\146\019Z\013~\001\230\0152\tV\013\130\011\138\001\242\019b\013\134\013\138\n\134\013\142\019f\000\n\019n\012\173\0156\019~\019\146\019\174\019\194\019\210\019\226\019\250\011\149\020\n\t\154\n\226\013\146\020\022\020G\015:\015>\013\150\015B\011\149\000\n\tf\015V\004\129\011\149\011\149\020o\020\135\015b\013\158\020\167\020\191\004\017\0039\020\223\020\247\021\014\0039\027V\016&\021*\021\154\015\130\021\199\t\170\022\030\015\134\015\194\000\022\n\138\0223\013\162\022[\015\198\022g\011\149\022w\013\166\022\127\022\146\011\149\011\149\022\155\022\163\015\206\022\171\013\170\022\198\012\173\012\173\022\238\022\246\002\"\012\173\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\023\006\001\014\025^\001\022\nZ\001\030\0012\001:\001>\n^\025b\023#\0233\023;\023G\nb\023R\023w\023\131\023\150\023\159\023\167\001F\027\178\023\210\023\254\001\166\nr\024:\013^\000\n\024[\013b\027\198\024c\024o\001N\004\129\014\202\024\127\028\030\027\202\004\129\004\129\024\135\024\146\004\017\001\178\024\167\024\175\024\182\004\017\004\017\024\195\004\129\004\129\015\"\013j\024\207\024\215\024\226\015&\026\222\004\017\027b\024\235\001\218\024\243\001\222\024\255\001b\016\030\015.\025\026\025\162\025\202\013~\001\230\0152\004\129\013\130\011\138\001\242\025\218\013\134\013\138\n\134\013\142\004\017\026\014\026\022\026:\0156\026^\026b\026j\026\147\027Z\027f\027v\027~\027\134\027\175\n\226\013\146\027\182\027\195\015:\015>\013\150\015B\027\206\000\n\027\222\015V\028\019\028\"\004\141\028/\028S\015b\013\158\028o\028~\028\134\028\143\028\150\028\159\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\008\169\008\169\000\000\000\000\002\"\008\169\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\001F\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\016:\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\012\137\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012\137\012\137\000\000\000\000\002\"\012\137\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\001F\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025\166\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012\213\012\213\000\000\000\000\002\"\012\213\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\001F\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\025\166\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\012\209\012\209\000\000\000\000\002\"\012\209\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\001F\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\014\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\"\013j\000\000\000\000\000\000\015&\017\230\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\016\030\015.\000\000\000\000\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\130\000\000\000\000\000\000\015\134\015\194\000\000\n\138\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\000R\000V\000f\000\170\002\"\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\001N\000\000\018f\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\018v\013j\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~\001\230\000\000\000\000\013\130\001\238\001\242\000\000\013\134\013\138\n\134\013\142\000\000\000\000\000\000\000\000\000\000\000\000\007\214\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\005\221\005\221\013\150\000\000\005\221\000\n\000\000\005\221\008\026\005\221\000\000\005\221\000\000\005\221\013\158\008Z\005\221\000\000\005\221\005\221\000\000\005\221\005\221\000\000\005\221\nu\nu\005\221\005\221\nu\005\221\005\221\005\221\000\000\n\138\000\000\013\162\005\221\018z\005\221\005\221\000\000\013\166\000\000\005\221\005\221\005\221\005\221\005\221\018\130\005\221\013\170\005\221\005\221\000Z\005\221\000\000\002\"\005\221\005\221\000\000\005\221\008\186\000\000\nu\005\221\005\221\000Z\000\000\005\221\t\n\005\221\000\000\000\000\005\221\000Z\005\221\n\018\005\221\005\221\000\000\005\221\000Z\000\000\000\000\000\000\005\221\000\000\000\000\nu\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\005\221\005\221\005\221\005\221\000\000\005\221\005\221\000\000\005\221\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\005\221\005\221\005\221\005\221\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\005\221\000\000\000\000\000\000\005\221\005\221\nu\000\000\005\221\000\000\000\000\000\000\005\221\005\221\005\221\005\221\000\000\005\221\005\221\005\221\005\221\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\005\221\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\206\001\202\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\000\000\001\234\001\238\001\242\002F\001\246\001\250\000\000\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\002\014\004M\004M\004M\004M\000\000\004M\000\000\004M\004M\002\018\004M\000\000\004M\000\000\004M\000\000\004M\004M\004M\004M\000\000\002\022\000\000\000\000\000\000\000\000\000\000\002\026\000\000\001r\004a\000\000\000\000\004M\000\000\000\000\002\030\000\000\000R\007\190\007\198\000\170\002\"\000\174\000\000\008\n\008N\004M\008V\021\018\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\000\000\021\022\000\000\000\000\000\000\000\000\000\000\004M\000\000\000\000\021\026\008\146\021\030\004M\000\000\000\000\000\000\000\000\000\000\000\000\021\"\004M\000\000\000\000\000\000\024\142\000\000\000\000\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\0216\000\000\000\000\000\000\000\000\000\000\000\000\008\170\000\000\000\000\000\000\000\000\022\174\000\000\000\000\000\000\021:\023\170\000\000\nb\000\000\008\182\000\000\000\000\000\000\004M\000\000\000\000\000\000\000\000\001\166\nr\000\000\013^\000\000\000\000\013b\000\000\000\000\000\000\000\000\021>\014\202\000\000\021B\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\021F\000\000\000\000\015R\013j\021J\000\n\021N\015&\021R\021V\004M\021Z\001\218\000\000\001\222\000\000\000\000\021^\015.\000\000\021b\000\000\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\021f\000\000\000\000\0156\021j\021n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\000\000\000\n\000\000\015V\000\000\000\000\000\000\000\000\nb\015b\013\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\nr\000\000\013^\015\130\000\000\013b\000\000\015\134\015\194\000\000\000\000\014\202\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\001\178\000\000\000\000\000\000\000\000\015\206\000\000\013\170\000\000\013f\013j\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\015.\000\000\000\000\011\226\013~\001\230\0152\000\000\013\130\011\138\001\242\000\000\013\134\013\138\000\000\013\142\000\000\000\000\000\000\000\000\0156\000\000\000\000\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\015:\015>\013\150\015B\011\242\000\n\000\000\015V\000\000\000\000\0122\012:\000\000\015b\013\158\000\000\000\000\000\000\000\000\000\000\012\018\000\000\000\000\011\250\000\000\012\n\013\221\015\130\000\000\013\221\000\000\015\134\015\194\000\000\000\000\000\000\013\162\000\000\015\198\000\000\000\000\000\000\013\166\000\000\000\000\000\000\012\026\000\000\013\221\015\206\000\000\013\170\013\221\000\000\000\000\002:\013\221\002\"\000\000\000\000\000\000\000\000\013\221\000\000\000\000\013\221\013\221\000\000\013\221\013\221\000\000\000\000\002B\000\000\013\221\005&\000\000\000\000\013\221\000\000\000\000\013\221\000\000\013\221\013\221\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\013\221\005U\013\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\221\000\000\000\000\012B\012*\000\000\000\000\0052\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\221\013\221\000\000\013\221\013\221\0056\000\000\013\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005>\000\000\000\000\000\000\000\000\013\221\000\000\000\000\013\221\013\221\013\221\013\221\000\000\000\000\000\000\000\000\013\221\013\221\013\221\000\000\013\221\013\221\013\221\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\237\000\000\021\002\004\237\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\237\000\000\000\000\001=\004\237\000\000\001=\004\237\004\237\000\000\001=\000\000\000\000\021\006\004\237\000\000\001=\004\237\004\237\000\000\004\237\004\237\000\000\001=\004\237\000\000\004\237\004\237\001=\000\000\004\237\000\000\000\000\004\237\000\000\004\237\004\237\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\237\001=\004\237\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\000\000\000\000\000\001=\000\000\000\000\004\237\000\000\001=\000\n\001=\000\000\000\000\001=\000\000\021\n\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\004\237\004\237\000\000\004\237\005\t\004\237\000\000\004\237\000\000\000\000\000\000\000\000\000\000\000\000\001=\004\237\000\000\004\241\001=\001=\004\241\000\000\000\000\004\237\000\000\004\237\000\000\000\000\000\000\021\202\000\000\004\237\004\237\004\237\000\000\004\237\004\237\004\237\000\000\004\241\000\000\000\000\000\000\004\241\000\000\000\000\004\241\004\241\000\000\000\000\000\000\000\000\000\000\004\241\000\000\000\000\004\241\004\241\000\000\004\241\004\241\000\000\000\000\004\241\0141\004\241\004\241\0141\000\000\004\241\000\000\000\000\004\241\000\000\004\241\004\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0141\000\000\000\000\000\000\0141\000\000\000\000\013\190\0141\004\241\000\000\004\241\000\000\000\000\0141\000\000\000\000\0141\0141\000\000\0141\0141\004\241\000\000\013\198\000\000\0141\013\210\000\000\004\241\0141\000\000\000\000\0141\000\000\0141\0141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\241\004\241\000\000\004\241\005\013\004\241\000\000\004\241\0141\000\000\0141\000\000\000\000\000\000\000\000\004\241\000\000\000\000\000\000\000\000\004\241\0141\000\000\004\241\000\000\004\241\000\000\000\000\013\222\000\000\000\000\004\241\004\241\004\241\000\000\004\241\004\241\004\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0141\0141\000\000\0141\000\000\013\226\000\000\0141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0141\000\000\0141\000\000\000\000\000\000\000\000\000\000\0141\0141\0141\000\000\0141\0141\0141\nq\nq\nq\nq\000\000\nq\000\000\nq\nq\000\000\nq\000\000\nq\000\000\nq\000\000\nq\nq\nq\nq\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\nq\nq\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nq\000\000\001\137\000\000\000\000\nq\001\137\000\000\021\218\000\000\001\137\000\000\021\226\000\000\000\000\000\000\001\137\000\000\nq\001\137\001\137\000\000\001\137\001\137\000\000\nq\000\000\000\000\001\137\000\000\nq\000\000\001\137\000\000\000\000\001\137\000\000\001\137\001\137\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\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\nq\001\137\000\000\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\nq\000\000\000\000\000\000\000\000\nq\000\000\nq\000\000\000\000\nq\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nq\000\000\000\000\nq\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\nq\000\000\000\000\000\000\0226\nq\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\na\na\na\na\000\000\na\000\000\na\na\000\000\na\000\000\na\000\000\na\000\000\na\na\na\na\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\na\na\na\000\000\000\000\000\000\000\000\000\000\000\000\000\000\na\000\000\000\000\000\000\000\000\na\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\na\ne\ne\ne\ne\000\000\ne\na\ne\ne\000\000\ne\na\ne\000\000\ne\000\000\ne\ne\ne\ne\na\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ne\ne\ne\000\000\000\000\000\000\000\000\000\000\na\000\000\ne\na\000\000\000\000\000\000\ne\000\000\000\000\022:\000\000\000\000\000\000\000\000\000\000\na\000\000\000\000\000\000\ne\na\000\000\na\000\000\000\000\na\ne\000\000\000\000\000\000\000\000\ne\000\000\na\000\000\000\000\na\000\000\000\000\000\000\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\na\000\000\000\000\000\000\021\222\na\000\000\000\000\000\000\ne\000\000\000\000\ne\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ne\000\000\000\000\000\000\000\000\ne\000\000\ne\000\000\000\000\ne\000\000\000R\007\190\007\198\000\170\000\000\000\174\ne\008\n\008N\ne\008V\000\000\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\000\000\002v\000\000\ne\002\198\000\000\000\000\000\000\ne\000\000\000\000\022B\008\146\022^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022j\000\000\002~\000\000\000\000\008\154\002\t\000\000\000\000\000\000\002\t\000\000\000\000\000\000\000\000\000\000\002\134\000\000\022\130\002\t\002\t\000\000\002\230\002\238\000\000\008\170\000\000\000\000\002\t\000\000\022\174\000\000\002\166\000\000\000\181\002\142\000\000\002\158\002\t\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\011\234\000\000\002\174\022\206\002\t\000\000\023&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\002\t\000\000\000\000\000\000\023>\000\181\000\181\000\000\000\000\023J\000\000\008y\000\000\000\000\023z\012\018\000\000\000\000\011\250\000\000\012\n\000\000\023\134\000\000\000\000\024f\002\182\000\000\000\000\002\t\002\t\000\000\000\000\002\150\000}\000\000\000\000\000}\000\000\000\000\024r\012\026\000\000\000\000\000\000\024\138\002\t\000\000\000\000\002\t\002\t\002\t\002\t\000\000\000\000\000\000\002~\000\000\002\t\002\t\000}\002\246\002\190\002\t\000}\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\012\"\000e\000}\000\000\000e\000\000\002\166\012\002\000\000\002\142\000\000\002\158\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\002\174\000\000\000}\000\181\012*\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\002\182\000\000\000\000\000}\000}\000\000\000\000\002\150\000e\000\000\000e\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}\002\190\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\002\150\000]\000\000\000\000\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000e\000e\000\000\000\000\000\000\000]\000\000\000e\000e\000]\000e\000e\000e\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000a\000]\000\000\000a\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\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\002\150\000a\000\000\000a\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\000\000a\000\000\000\000\000a\000a\000\000\000\000\002\150\000q\000\000\000\000\000q\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\000\000\002~\000\000\000a\000a\000q\000a\000a\000a\000q\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000\000\000i\000q\000\000\000i\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\000\000\000\000\002~\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\002\174\000\000\000q\000\000\000\000\002\134\000\000\000\000\000i\000i\000\000\000i\000i\000q\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\142\000\000\002\158\000i\000\000\000\000\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\000\000\002\150\000i\000\000\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000i\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\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000\000\002\150\000m\000\000\000\000\000m\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\000\000\002~\000\000\000i\000i\000m\000i\000i\000i\000m\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000u\000m\000\000\000u\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\000\000\000\000\002~\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\002\174\000\000\000m\000\000\000\000\002\134\000\000\000\000\000u\000u\000\000\000u\000u\000m\000\000\000\000\000\000\000u\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000u\000\000\000\000\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\002\150\002\174\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000u\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\002\182\000\000\000\000\000u\000u\000\000\000\000\002\150\002v\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\000\002~\000\000\000u\000u\000\133\000u\000u\000u\000\133\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\133\000\133\000\000\000\133\002\238\000\000\000\000\000\000\002v\000\133\000\000\000y\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\000\000\000\000\002~\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\002\174\000\000\000\133\000\000\000\000\002\134\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\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\002\182\000\000\000\000\000\133\000\133\000\000\000\000\002\150\002\174\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\002\246\002\190\000\133\000\000\000\000\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\002v\000\000\000\000\000\129\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\002~\000\000\000y\000y\000\129\000y\002\190\000y\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\011\146\000\000\000\000\000\129\000\000\000\000\000\000\002\166\004E\000\000\002\142\004E\002\158\000\129\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\004E\000\000\000\000\000\000\002\174\000\000\000\129\000\000\000\000\004E\004E\000\000\000\000\004E\004E\000\000\000\000\000\129\000\000\004E\000\000\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\004E\000\000\000\000\004E\004E\004E\000\000\004E\004E\000\000\004E\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\004E\004E\000\000\000\000\000\000\000\000\004E\000\129\000\000\004E\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\004E\000\129\000\129\000\000\000\129\002\190\000\129\000\000\004E\000\000\004E\001\166\004E\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\001\178\000\000\004E\000\000\000\000\004E\000\000\000\000\000\000\n\174\011\006\004E\000\000\011n\011\134\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\013\000\000\011\142\001\178\011\170\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\000\000\000\000\n\250\000\000\001\218\000\000\001\222\000\000\012\138\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\013\000\000\011\142\001\178\011\170\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\000\000\000\000\n\250\000\000\001\218\000\000\001\222\000\000\011\178\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\013\000\000\011\142\001\178\011\170\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\000\000\000\000\n\250\000\000\001\218\000\000\001\222\000\000\005m\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\138\001\242\000\000\n\214\n\218\003)\n\222\000j\003)\000r\000\000\000\130\003)\000\000\003)\000\000\000\000\000\000\000\138\003)\003)\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\146\003)\006\013\000\000\011\142\003)\011\170\000\000\000\000\000\000\000\000\003%\000\000\000\182\003%\000\190\n\246\000\206\003%\000\000\003%\003)\n\250\000\000\000\214\003%\003%\000\000\001\189\000\000\000\000\n\254\000\157\003)\000\162\000\000\000\000\002\"\000\000\000\000\000\000\003)\000\000\000\000\000\000\003)\003)\000\000\000\000\000\000\000\000\000\000\000\222\003%\000\157\003)\000\000\003%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003)\000\000\011\242\000\000\000\000\000\000\000\000\003%\000\157\000\157\003)\000\000\000\000\000\000\000\000\003)\000\000\000\000\000\157\003%\000\238\011\250\000\000\012\n\000\000\000\000\000\000\003%\000\000\000\000\000\000\003%\003%\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\003%\000\000\000\000\000\157\000\000\003)\000\000\000\000\003)\003)\000\000\003%\003)\000\000\000\000\001\137\000\000\003)\003)\001\137\000\000\003%\003)\001\137\000\000\000\000\003%\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\001\137\001\137\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\001\137\000\000\000\000\001\137\012\002\001\137\001\137\000\000\000\000\000\000\000\000\000\000\003%\000\000\000\000\003%\003%\000\157\000\000\003%\000\000\000\000\000\000\000\000\003%\003%\001\137\000\000\001\137\003%\000\000\000\000\000\157\000\157\000\000\000\000\000\000\000\000\000\000\001\137\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\000\000\001\022\000\000\001\030\0012\001:\001>\001\137\002N\000\000\001\137\001\137\000\000\000\000\001\137\001\166\000\000\000\000\n\166\000\000\001F\n\170\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\001\137\001\137\000\000\001\137\001N\000\000\001\178\000\000\003\n\001\137\001\137\000\000\001\137\001\137\001\137\n\174\011\006\000\000\000\000\011n\011\134\000\000\000\000\000\000\001^\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\001b\n\210\011\138\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\001\161\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\n\242\001\161\000\000\000\000\000\000\001\161\000\000\000\000\006\013\000\000\000\000\001\161\011\170\000\000\001\161\001\161\000\000\001\161\001\161\000\000\000\000\000\000\n\246\001\161\000\000\000\000\000\000\001\161\n\250\000\000\001\161\000\000\001\161\001\161\001\201\000\000\000\000\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000\000\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\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^\025b\000\000\000\000\000\000\001\161\014\014\000\000\001\161\000\000\000\000\000\000\001\161\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\001\161\000\000\001\161\000\000\000\000\000\000\000\000\000\000\014\022\001\161\001\161\000\000\001\161\001\161\001\161\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\206\000\000\000\000\001b\000\000\000\000\001\178\004R\004V\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\154\001\234\001\238\001\242\000\000\001\246\001\250\000\n\001\254\000\000\000\000\000\000\004\141\000\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\004Z\000\000\000\000\000\000\002\006\000\000\021\018\000\n\000\000\006\005\n\138\000\000\000\000\000\000\000\000\000\000\002\014\000\000\021\022\006\005\000\000\003U\000\000\000\000\006\005\023N\002\018\021\026\000\000\021\030\n\201\n\201\000\000\000\000\000\000\000\000\000\000\021\"\002\022\000\000\000\000\000\000\021&\000\000\002\026\021.\000\000\008\137\000\000\0212\000\000\000\000\000\000\002\030\000\000\0216\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\024\222\022\254\000\000\n\201\000\000\021:\000\000\000\000\000\000\000\000\000\000\021\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\022\000\000\000\000\000\000\000\000\n\201\000\000\021>\000\000\021\026\021B\021\030\000\000\000\000\000\000\000\000\n\157\000\000\000\000\021\"\000\000\000\000\000\000\021F\021&\000\000\000\000\021.\021J\000\n\021N\0212\021R\021V\000\000\021Z\000\000\0216\000\000\000\000\000\000\021^\000\000\000\000\021b\000\000\000\000\000\000\023\142\000\000\000\000\n\157\000\000\021:\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\000\000\021j\021n\n\201\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\157\000\000\021>\000\000\000\000\021B\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\021F\000\000\000\000\000\000\000\000\021J\000\n\021N\008\137\021R\021V\000\000\021Z\000\000\001\178\000\000\000\000\001\182\021^\000\000\000\000\021b\000\000\001\198\001\202\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\021f\000\000\000\000\000\000\021j\021n\n\157\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\000\000\000\000\000\000\000\000\000\000\t:\005\221\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\t~\005\221\t\190\005\221\000\000\000\000\000\000\000\000\002\014\000\000\005\221\000\000\005\221\005\221\000\000\005\221\000\000\000\000\002\018\008\137\005\221\000\000\005\221\000\000\005\221\005\221\005\221\000\000\005\221\000\000\002\022\000\000\005\221\000\000\005\221\000\000\002\026\005\221\005\221\005\221\005\221\008\137\005\221\000\000\005\221\002\030\005\221\000\000\000\000\005\221\005\221\002\"\005\221\000\000\005\221\000Z\000\000\000\000\000\000\005\221\000\000\005\221\n>\005\221\000\000\000\000\005\221\000Z\005\221\000Z\000\000\005\221\000\000\005\221\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\005\221\005\221\005\221\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\005\221\005\221\000\000\005\221\000\000\005\221\000\000\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\005\221\000\000\000\000\000\000\005\221\000\000\005\221\005\221\014B\005\221\005\221\014\146\000\000\000\000\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\005\221\000\000\005\221\005\221\005\221\005\221\014J\000\000\001%\000\000\002\025\001%\000\000\000\000\002\025\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\002\025\002\025\000\000\014\162\014\170\000\000\000\000\014J\000\000\002\025\000\000\001%\000\000\014r\000\000\001%\014Z\000\000\014j\002\025\000\000\014R\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\000\000\000\000\001%\000\000\000\000\000\000\014r\000\000\014z\014Z\002\025\014j\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\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\014\130\000\000\000\000\002\025\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\025\014\130\002\025\000\000\001%\000\000\000\000\000\000\014b\002\025\002\025\000\000\014\178\014\138\002\025\000\000\000\000\001\013\000\000\000\000\001\013\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\138\001%\001\013\000\000\001\005\000\000\001\013\001\005\000\000\000\000\001\013\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\013\001\013\000\000\001\013\001\013\000\000\000\000\001\005\000\000\001\013\000\000\001\005\000\000\001\013\000\000\001\005\014Z\000\000\014j\001\013\000\000\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\001\013\014Z\001\013\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\000\000\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\000\000\000\000\000\000\000\000\001\005\000\000\001\013\000\000\000\000\001\013\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\001\005\001\013\000\000\001\005\000\000\000\000\000\000\014b\001\013\001\013\000\000\001\013\001\013\001\013\000\000\000\000\001\t\000\000\000\000\001\t\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\000\000\001\005\001\005\001\005\001\t\000\000\001\025\000\000\001\t\001\025\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\001\t\001\t\000\000\001\t\001\t\000\000\000\000\014J\000\000\001\t\000\000\001\025\000\000\001\t\000\000\001\025\014Z\000\000\001\t\001\t\000\000\014R\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\001\t\014Z\001\t\014j\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\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\t\000\000\000\000\001\t\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\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\001\025\001\t\000\000\001\025\000\000\000\000\000\000\014b\001\t\001\t\000\000\001\t\001\t\001\t\000\000\000\000\001\017\000\000\000\000\001\017\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\000\000\001\025\001\025\001\025\014J\000\000\001\021\000\000\001\017\001\021\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\014J\000\000\001\017\000\000\001\021\000\000\001\017\000\000\001\021\014Z\000\000\014j\001\017\000\000\014R\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\001\017\014Z\001\017\014j\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\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\001\017\000\000\000\000\001\017\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\021\001\017\000\000\001\021\000\000\000\000\000\000\014b\001\017\001\017\000\000\001\017\001\017\001\017\000\000\000\000\001\029\000\000\000\000\001\029\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\000\000\001\021\001\021\001\021\014J\000\000\014B\000\000\001\029\001-\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\014J\000\000\001\029\000\000\001-\000\000\014r\000\000\001-\014Z\000\000\014j\001\029\000\000\014R\000\000\000\000\001-\001-\000\000\001-\014\170\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\014r\000\000\014z\014Z\001\029\014j\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\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\014\130\000\000\000\000\001\029\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\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\014\130\001\029\000\000\001-\000\000\000\000\000\000\014b\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\014B\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\014\178\014\138\001-\014J\000\000\014B\000\000\001!\001)\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\014R\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\014J\000\000\001!\000\000\001)\000\000\014r\000\000\001)\014Z\000\000\014j\001!\000\000\014R\000\000\000\000\001)\001)\000\000\001)\014\170\000\000\000\000\000\000\000\000\001)\000\000\000\000\000\000\014r\000\000\014z\014Z\001!\014j\001)\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\014z\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\014\130\000\000\000\000\001!\000\000\000\000\000\000\014b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\014\130\001!\000\000\001)\000\000\000\000\000\000\014b\001!\001!\000\000\001!\014\138\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\001\166\001)\000\000\001\170\000\000\000\000\001\174\000\000\001)\001)\000\149\001)\014\138\001)\000\000\018j\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\198\001\202\000\149\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\149\000\000\000\000\000\000\001\226\001\230\000\149\000\149\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\000\149\000\000\000\000\011\250\000\000\000\149\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\000\000\000\n\000\000\000\149\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\149\001\246\001\250\000\000\001\254\002\030\000\000\012\002\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\149\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\149\000\149\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\000\000\006\030\002\002\000\000\000\000\000\000\000\000\002\006\000\000\004=\000\n\nR\004=\000\000\nV\004=\000\000\000\000\025r\002\014\nZ\000\000\000\000\000\000\000\000\n^\025v\000\000\000\000\002\018\004=\000\000\000\000\004=\000\000\000\000\000\000\000\000\000\000\004=\004=\002\022\004=\000\000\000\000\000\000\000\000\002\026\000\000\004=\000\000\004=\000\000\000\000\000\000\000\000\002\030\016\138\000\000\004=\004=\000\000\002\"\004=\004=\004=\000\000\004=\004=\000\000\004=\000\000\004\237\016\142\000\000\004\237\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\004=\001\230\004\237\004=\000\000\012\226\001\242\000\000\000\000\004\237\004\237\000\000\004=\000\000\000\000\000\000\004\237\000\000\000\000\000\000\000\000\000\000\004\237\004\237\000\000\000\000\004\237\000\000\000\000\004\237\000\000\021\018\004\237\000\000\004=\004\237\000\n\004\237\004\237\000\000\004=\004\161\000\000\021\022\000\000\000\000\000\000\000\000\000\000\004=\000\000\000\000\021\026\000\000\021\030\004=\000\000\000\000\004\237\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\021&\000\000\000\000\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\004\237\000\000\0216\000\000\000\000\000\000\007\133\007\133\000\000\000\000\000\000\007\133\000\000\022\138\000\000\000\000\000\000\000\000\021:\004\237\004\237\000\000\000\000\005\t\004\237\000\000\004\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\237\000\000\000\000\000\000\000\000\004\237\000\000\n\157\004\237\021>\000\000\000\000\021B\000\000\000\000\000\000\004\237\000\000\000\000\000\000\004\237\004\237\000\000\000\000\000\000\021F\000\000\000\000\000\000\000\000\021J\000\n\021N\000\000\021R\021V\000\000\021Z\005\221\000\000\000\000\005\221\000v\021^\005\221\005\221\021b\005\221\000\194\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\021f\000\000\000\000\000\000\021j\021n\n\157\005\221\000\000\000\000\005\221\001\002\000\000\000\000\005\221\000\000\005\221\005\221\000\000\005\221\005\221\005\221\005\221\005\221\005\221\005\221\005\221\000\000\000\000\005\221\000\000\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\001f\000\000\005\221\000\000\000\000\000Z\005\221\000\000\005\221\000\000\005\221\000Z\000\000\000\000\005\221\000\000\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000Z\005\221\000\000\005\221\000\000\004\030\005\221\000\000\000\000\000\000\000Z\005\221\005\221\005\221\000\000\005\221\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\005\221\005\221\000\000\005\221\005\221\001\166\005\221\005\221\001\186\005\221\005\221\001\190\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\001\178\005\221\000\000\001\182\005\221\005\221\000\000\000\000\005\221\001\194\001\214\005\221\001\210\005\221\005\221\005\221\000\000\000\000\005\221\001\218\000\000\001\222\000\000\005\221\005\221\000\000\000\000\000\000\005\221\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\005\221\000\000\000\000\005\221\003F\000\000\001\218\005\221\001\222\005\221\000\000\000\000\000\000\005\142\005\221\005\221\005j\001\230\000\000\005\146\005n\001\238\001\242\000\000\005r\005v\005\221\005z\005\150\005\221\003\138\000\000\005\221\005\221\002\"\005\221\003\202\000\000\000\000\005\221\005\221\005\221\005\221\000\000\005~\000\000\005\221\005\221\000\000\005\130\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\138\005\221\000\000\000\000\000\000\004\242\000\000\005\221\000\000\000\000\000Z\005\221\000\000\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\005\221\005\142\000\000\000\000\005\221\005\221\005\221\005\146\000\000\000\000\007f\000\000\005\221\000\000\005\221\000Z\005\150\000\000\005\221\000\000\000\000\000Z\002\"\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\000\000\005\221\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\005\221\005\221\000\000\005\221\005\221\000\000\000\000\005\221\000\000\000\000\000\000\000\000\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\221\000\000\000\000\005\221\005\221\001\166\005\221\005\221\001\186\005\221\005\221\001\190\005\221\005\221\000\000\000\000\000\000\005\221\005\221\005\221\000\000\000\000\000\000\005\221\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\194\005\134\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\000\000\000\000\000\000\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\014\021\000\000\000\000\014\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005~\000\000\000\000\000\000\000\000\005\130\000\000\014\021\000\n\000\000\000\000\000\000\000\000\000\000\005\170\000\000\000\000\005\138\000\000\000\000\000\000\014\021\000\000\000\000\000\000\014\021\000\000\014\021\014\021\000\000\000\000\005\178\000\000\000\000\005\190\001\166\000\000\014\021\n\166\005\142\014\021\n\170\014\021\000\000\000\000\005\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\150\000\000\001\178\000\000\000\000\000\000\002\"\000\000\000\000\014\021\000\000\n\174\n\186\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\000\000\005\202\000\000\n\206\001\230\000\000\000\000\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\014\021\014\021\000\000\014\021\000\000\005\206\000\000\014\021\000\000\000\000\n\226\n\230\000\000\000\000\000\000\005\214\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\014\021\000\000\000\000\n\242\000\000\000\000\014\021\000\000\000\000\000\000\014\021\014\021\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\n\238\n\246\000\000\000\000\000\000\000\000\000\000\n\250\000\000\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\000\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\000\n\174\011\006\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\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\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013^\000\000\000\000\013b\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\013f\014\186\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~\001\230\000\000\n\250\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013^\000\000\000\000\013b\n\226\013\146\000\000\000\000\000\000\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\nR\001\178\000\000\nV\000\000\013\158\000\000\025r\000\000\nZ\013f\013j\000\000\000\000\n^\025v\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\013\162\000\000\000\000\013~\001\230\000\000\013\166\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\013\170\000\000\000\000\000\000\016\138\000\000\002\"\000\000\001\166\000\000\000\000\013^\000\000\000\000\013b\n\226\013\146\000\000\000\000\000\000\016\142\013\150\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\013\158\000\000\000\000\000\000\000\000\013f\013\154\001\230\000\000\000\000\000\000\012\226\001\242\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\013\162\000\000\000\000\013~\001\230\000\000\013\166\013\130\001\238\001\242\000\000\013\134\013\138\000\000\013\142\013\170\000\000\000\000\000\000\000\000\000\n\002\"\008\129\000\000\000\000\004\161\000\000\000\000\000\000\000\000\n\226\013\146\000\000\000\000\008\129\000\000\013\150\000\000\000\000\000\n\000\000\000\000\000\000\008\129\000\000\008\129\000\000\000\000\013\158\000\000\000\000\000\000\000\000\008\129\000\000\000\000\000\000\000\000\008\129\000\000\000\000\008\129\000\000\000\000\000\000\008\129\021\230\000\000\008\245\008\245\013\162\008\129\000\000\008\245\000\000\000\000\013\166\023\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013\170\000\000\008\129\000\000\021\022\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\021\026\000\000\021\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\008\129\021&\000\000\008\129\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\0216\000\000\008\129\000\000\000\000\000\000\000\000\008\129\008\129\008\129\000\000\008\129\008\129\000\000\008\129\000\000\021:\023\170\000\000\000\000\008\129\000\000\000\000\008\129\000\000\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\237\008\129\000\000\000\000\021>\008\129\008\129\021B\000\000\000\000\000\000\000\000\007\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021F\007\237\000\000\007\237\000\000\021J\000\n\021N\000\000\021R\021V\007\237\021Z\000\000\000\000\000\000\007\237\000\000\021^\007\237\000\000\021b\000\000\007\237\000\000\000\000\000\000\000\000\000\000\007\237\000\000\000\000\000\000\000\000\000\000\022n\021f\000\000\000\000\000\000\021j\021n\000\000\000\000\000\000\007\237\023\170\021\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\026\000\000\021\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\007\237\021&\000\000\007\237\021.\000\000\000\000\000\000\0212\000\000\000\000\000\000\000\000\000\000\0216\000\000\007\237\000\000\000\000\000\000\000\000\007\237\007\237\007\237\000\000\007\237\007\237\000\000\007\237\000\000\021:\000\000\000\000\000\000\007\237\000\000\000\000\007\237\000\000\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\134\007\237\000\000\000\000\021>\007\237\007\237\021B\000\000\000\000\000\000\000\000\021\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021F\021\026\000\000\021\030\000\000\021J\000\n\021N\000\000\021R\021V\021\"\021Z\000\000\000\000\000\000\021&\000\000\021^\021.\000\000\021b\000\000\0212\000\000\021\018\000\000\000\000\000\000\0216\000\000\000\000\000\000\000\000\000\000\000\000\021f\021\022\000\000\000\000\021j\021n\000\000\000\000\000\000\021:\021\026\000\000\021\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\"\000\000\000\000\000\000\000\000\021&\000\000\000\000\021.\000\000\000\000\000\000\0212\000\000\021>\000\000\000\000\021B\0216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\018\021F\000\000\000\000\000\000\023*\021J\000\n\021N\000\000\021R\021V\021\022\021Z\000\000\000\000\000\000\000\000\000\000\021^\000\000\021\026\021b\021\030\000\000\000\000\000\000\000\000\000\000\000\000\021>\021\"\000\000\021B\000\000\000\000\021&\021f\000\000\021.\000\000\021j\021n\0212\000\000\021\018\021F\000\000\000\000\0216\000\000\021J\000\n\021N\000\000\021R\021V\021\022\021Z\000\000\000\000\000\000\000\000\000\000\021^\024v\021\026\021b\021\030\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\021f\000\000\021.\000\000\021j\021n\0212\000\000\021>\000\000\000\000\021B\0216\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021F\000\000\000\000\000\000\021:\021J\000\n\021N\000\000\021R\021V\000\000\021Z\000\000\000\000\000\000\000\000\000\000\021^\000\000\000\000\021b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021>\000\000\000\000\021B\000\000\000\000\000\000\021f\000\000\000\000\000\000\021j\021n\000\000\000\000\000\000\021F\000\000\000\000\000\000\000\000\021J\024\150\021N\000\000\021R\021V\000\000\021Z\000\000\000\000\000\000\000\000\000\000\021^\000\000\000\000\021b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\000\000\021j\021n\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\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\001F\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\001^\000\254\001N\001\014\000\000\001\022\001j\001\030\0012\001:\001>\000\000\000\000\000\000\001b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\001F\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\001^\000\000\000\000\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\001n\026\026\004V\000\n\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\001n\001\022\012e\001\030\0012\001:\001>\000\000\000\000\000\000\013\249\000R\000V\000f\000\170\000\000\000\174\000\n\000\178\000\246\001F\000\254\000\000\001\014\0021\001\022\000\000\001\030\0012\001:\001>\000\000\013\249\000\000\001N\000\000\026\030\000\000\000\000\011\030\000\000\000\000\000\000\000\000\001F\000\000\013\249\001\153\000\000\000\000\001\153\000\000\013\249\013\249\001^\000\000\011&\003M\001N\0112\002)\000\000\013\249\000\000\000\000\013\249\000\000\013\249\001b\001\153\000\000\000\000\004R\004V\000\000\000\000\000\000\000\000\001^\000\000\000\000\006R\000\000\001\153\006\162\000\000\000\000\001\153\013\249\001\153\001\153\000\000\001b\000\000\000\000\000\000\026\026\004V\000\000\001\153\000\000\000\000\001\153\006Z\001\153\000\000\000\000\000\000\011>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\000\000\000\002\017\000\000\006\178\006\186\001\153\000\000\013\249\000\000\004b\000\000\000\000\011B\006\130\013\249\000\000\006j\000\000\006z\000\000\000\000\000\000\011J\000\000\000\000\000\000\000\000\013\249\000\000\000\000\000\000\000\237\000\000\026&\000\237\000\000\000\000\000\000\000\000\006\138\000\000\000\000\013\249\013\249\001\153\005\250\000\000\001\153\000\000\000\000\000\000\001\153\000\000\006Z\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\001\153\000\000\000\237\000\000\000\237\000\237\006\002\000\000\000\213\006\146\001\153\001\153\002\017\000\000\006\130\000\000\006r\006j\000\000\006z\000\205\000\000\006b\000\205\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\000\000\000\000\002\017\000\000\000\000\000\000\000\213\000\000\006\138\006j\000\205\006z\006\194\006\154\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\000\000\000\205\000\000\000\205\000\205\000\213\000\209\000\000\000\000\000\209\000\000\000\000\000\000\000\205\000\000\000\000\006j\000\000\000\205\000\000\006\146\000\000\000\000\000\237\000\000\000\000\000\000\006r\000\209\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\000\209\000\000\000\213\000\237\000\209\000\213\000\209\000\209\000\225\006r\000\000\000\225\000\000\000\237\006\154\000\000\000\209\000\000\000\000\006j\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\205\000\213\000\213\000\205\000\000\000\000\000\209\006r\006b\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\000\225\000\205\000\000\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\000\205\000\205\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\209\000\000\006\138\000\221\006r\006b\000\221\000\000\000\000\000\217\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\209\000\000\006j\006Z\006z\000\229\000\000\000\000\000\229\000\000\000\209\000\209\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\225\000\000\000\221\000\225\000\221\000\221\000\217\006r\006Z\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\006j\000\000\006z\006R\000\000\006b\000\245\000\000\000\225\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\225\000\225\000\000\006\130\000\000\006\138\006j\006Z\006z\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\006r\000\000\000\000\000\000\006b\000\000\000\000\000\000\000\245\000\000\000\245\006\186\006\138\006R\000\000\000\000\000\233\000\000\000\217\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\221\000\217\000\217\000\221\000\000\000\000\000\000\006r\006Z\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\006\146\000\221\000\233\000\229\000\233\000\233\006R\006r\000\000\000\241\000\000\000\221\000\221\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\000\229\000\000\000\000\006Z\000\000\000\000\000\000\000\000\000\000\006\146\000\229\000\229\000\245\000\153\000\000\006\138\006r\006b\000\000\000\000\000\000\000\241\000\000\000\241\006\186\000\000\000\000\000\000\000\000\000\000\000\169\000\000\000\000\006\130\000\245\000\153\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\006\194\006\154\000\000\000\000\000\000\000\153\000\000\000\000\011\234\000\000\006\146\000\153\000\153\000\233\000\000\006\138\000\000\006r\000\000\000\000\000\161\000\153\011\242\000\000\011\250\000\000\000\153\000\000\000\169\000\169\000\000\000\000\000\000\000\000\000\000\000\233\000\000\000\000\000\169\000\000\000\000\011\250\011\234\012\n\000\000\000\233\006\154\000\153\000\000\000\000\000\000\000\000\000\165\000\000\006\146\000\000\011\242\000\241\000\000\000\000\000\000\006r\000\161\000\161\012\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\161\000\000\011\234\011\250\000\000\012\n\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\011\242\000\241\006\154\000\000\000\000\012\002\000\165\000\165\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\169\000\165\000\000\000\153\011\250\000\000\012\n\012\002\000\000\000\000\000\173\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\153\000\169\000\000\000\000\000\000\000\000\000\000\000\000\012\026\000\000\000\000\000\000\000\000\011\234\000\000\000\161\000\169\000\169\000\000\000\000\000\000\000\000\012\002\011\226\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\000\000\000\173\000\173\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\018\000\000\011\234\011\250\000\165\012\n\000\000\000\161\000\161\000\000\000\000\012\002\011\226\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\000\000\000\189\012:\000\165\000\000\012\026\000\000\000\000\000\000\000\000\000\000\012\018\000\000\011\234\011\250\000\000\012\n\000\000\000\165\000\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\011\226\000\177\000\177\000\000\000\000\012\026\000\000\000\000\000\000\000\000\000\000\012\018\012\"\000\000\011\250\000\000\012\n\000\000\000\000\012\002\000\000\000\000\011\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\000\000\000\000\000\011\242\012\026\000\000\000\000\000\000\000\000\000\185\012:\012\"\000\000\000\000\000\173\000\173\000\000\000\000\012\002\012\018\000\000\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\000\000\189\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\012\026\012B\012*\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\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\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, "\000\172\000\213\000\000\000\000\n\236\000\213\000\000\000\000\000\b\000\000\000\000\000\000\000\135\000\000\000\000\000\000\000\172\000\000\000y&v\000\000\021\142\021\142\000\000\000\000?\\\021\142\000\000U\156\021\142\000\000\000\000\021\142\000\000\021\142\000\000\000!\000f\021\142\000\000\021\142\000\000\000\000\000\000\021\142\000\000\021\142\000\000@\018\021\142\000\000VP\021\142\000\000\000\000\021\142\000\000\021\142\000\000\000\146\001\004\021\142\000\000\021\142\000\000\021\142\000\000\021\142\000\000V\144\021\142\000\000\000\000\021\142\000\000\021\142\000\000\000\131\001$\001$\000\000\000\000\001\b\001\162\000\139\000\000\002\238\000\015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\136\000\000\000\000\000\185\001$\000\000\000Z\003<\001$\000\000\000\254\002\138\000\000\000\000\000\000\001J\021\142\000\000U\156\001$\001\\\021\142\000\000\000\000\021\142\000\000\000\000\021\142\000\000\021\142\000\000\002\012\002t\021\142\000\000&vVPXX\000\000\000\000\000\000X\n\003\bXX\002\138\000\000XX\000\000\000\000\002x\021\142\000\000XX\000\000\000\139\001VAj\000\000\000\000PfQ$\000\000X~\000\000Q\188Aj\028f\028fX~Aj\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000RTAj\000\000\000\000RTRTRT\000\000RT\000\000AjRT\000\000\000\000\" \000\139\000\000\023\b\028fAj\000\000#hAj)\208Aj)\232Aj\000\000\000\000\000\000\000\000\000\000\000\000\000\0002lAj\000\0003rAj+\002Aj+dAj\000\000Aj\000\000Aj,jAj,\204Aj-\210Aj.4Aj/:Aj/\156Aj\002\202Aj\000\000\000\000\000\000\000\000\000\000Aj3\212Aj4\218Aj5<Aj6BAj0\162Aj1\004Aj2\nAj6\164Aj7\170Aj\000\000Aj8\012Aj9\018Aj9tAj\000\000Aj:zAj:\220Aj\000\000\000\000Aj\000\000\002\190\000\000\000\000\000\139\000\000\000\000\000\000\002\248\000\000\002\254\000\000\000MAj\000\000\000M\000\000\000\000\001j&v\000\000\0238\021\142\000\000\000\136\021\142\000\000YD\021\142\000\000\000\000\021\142\000\000\021\142\000\000\003R\003\252\021\142\000\000\021\142\000\000\021\142\000\000\021\142\000\000\003J\021\142\000\000YF\021\142\000\000\000\000\021\142\000\000\021\142\000\000\0042\004\146\021\142\000\000\021\142\000\000\021\142\000\000\021\142\000\000Y\130\021\142\000\000\000\000\021\142\000\000\021\142\000\000\000\015\001$\005\016\021\142\000\000V\144\001$\005*\021\142\000\000\000\000\021\142\000\000\021\142\000\000\021\142\000\000\005z\005\202\021\142\000\000YDXX\005v\021\142\000\000_\178Z\252\000\000\002\160\006X\000\139\005\180\006\130[,[,\000\000\000\000\000\000\001\023`t[,\000\251\\\n\000\000\000\000\000\000\000\138\006\138\000V\0072[,\000\000\000\000\006r\000\000\006t\007D[,\006\128\000\000\000\000\000\000\000\011\\\198\000\000\000\000\000\000\006\132\007p\000\000\007t\000\000\0238\004\190XX\006\134\021\142\000\000YFXX\006\138\021\142\000\000\000\000\000\000\000\139\007\134\000\000\000\000\000\000\001j\000\000\000\000\028f\006\162\000\000\006\164X~\000\000\000\000\000\000\000\000\000\000\000\000RT\000\000\000\000RT\000\000\000\000RT\000\000X~\000\000\000\000R\212\000\139\000\000\023\b\023\b\000\000\001\142\027R\023\b\029\028Aj\000\000Aj\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000g2AjgjAj\006\218Aj\000\000Ajg\162Ajg\218Ajh\188Ajh\244Aji,AjidAj\000\000AjjFAjj~Ajj\182Aj\000\000Ajj\238Ajk\208\001\226\024v\000\000\000\000\002\030\025\228\000\000\000\000\000\000\000\000\006\188\000\000Aj\006\192\000\000\000\000\000\139\000\000\000\000\000\000\000\000\006\204\000\000\000\000\000\000\000\000\000\000\000\000\006\206\000\000\000\000\000\000\006\218\000\000\0009S\144\007\156Aj\007d\000\000\000\000X~\0009\000\000\006\234\000\000\006\236Aj\000\000\028f\006\238\000\000\000\000\007\200\000\000\028f\006\244\000\000\000\000\028f\006\246\000\000\000\000\006\244\000\000\000\000\001V\000\000\007\232\000\000\\\142XX\007\004\021\142\000\000\000\000\007\140\000\000\007\018\021\142\000\000\000\000\002\236&v\000\000&v\000\000\007\b\000\000\002\236\000\000\0190(\202\021\136\000\000\005v\021\136\000\000B\"\021\136\000\000\000\000\021\136\000\000\021\136\000\000\007L\007\128\021\136\000\000\021\136\000\000\021\136\000\000\021\136\000\000\007\174\021\136\000\000B6\021\136\000\000\000\000\021\136\000\000\021\136\000\000\007V\007\132\021\136\000\000\021\136\000\000\021\136\000\000\021\136\000\000B|\021\136\000\000\000\000\021\136\000\000\021\136\000\000\000\138\001$\007,\021\136\000\000\021\136\001$\0070\021\136\000\000\000\000\021\136\000\000\021\136\000\000\021\136\000\000\007d\007\148\021\136\000\000gN\000\000\007H\000\000\003\148gN\000\000\000\000\003\148\000\000\000\000\021\142XX\007D\021\136\000\000\000\000\000\000\000\127\000\000\000\000\001H\000\127\000\000\000\000\000\000\b6\000\000\b\170XX\007J\021\136\000\000B\"XX\007N\021\136\000\000\000\000\025P\021\136\000\000\bj\021\136\000\000B\144\021\136\000\000\000\000\021\136\000\000\021\136\000\000\007~\007\172\021\136\000\000\021\136\000\000\021\136\000\000\021\136\000\000\b\166\021\136\000\000B\188\021\136\000\000\000\000\021\136\000\000\021\136\000\000\007\136\007\184\021\136\000\000\021\136\000\000\021\136\000\000\021\136\000\000B\202\021\136\000\000\000\000\021\136\000\000\021\136\000\000\002\004\001$\007d\021\136\000\000B\182\001$\007h\021\136\000\000\000\000\021\136\000\000\021\136\000\000\021\136\000\000\007\216\b\012\021\136\000\000B\188XX\007\192\021\136\000\000\000\000\b\204XX\007\196\021\136\000\000B\220XX\007\198\021\136\000\000\000\000\000\000\000\000\000\000\000\000\b\152Aj\007\212\031\214\b\\\000\000\b\170Aj\007\226\b\166<V\000\000\000\000\000\000&v\000\139\000\000\001xAj<4\000\000T\028\028f\007\236\000\000\000\000Aj\007\240\000\000\028f\007\242\000\000\007\244a\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000RT\000\000\000\000RT\000\000\000\000RT\000\000a\030\000\000\000\000\023\142\000\139\000\000\023\b\007\246\000\000Aj\007\246\000\000\000\000\000\139\000\000\000\000\000\000\000\000\000\000\000\000Aj\000)Aj\007\250\000\000\000\000<4<4'P\003R\b\190Aj\000\000\b\130\000\000\000\000\000\139\000\000$\128\000\000\b0<4\b8<4\000\000\000\204\000\000\000\000?\234AjM\206Ajk\230Ajl\bAjl<Ajl\172Ajm\014Ajm\022Aj\000\000Ajm\140Ajn\026Ajn0Aj\000\000Ajn|Ajn\132\000\000\001v=\"\000\000\002\196>\138<4\000\000\002\250=\214\000\000\000\000\000\000\b\016\000\000\000\000\b\020\000\000\t\006\000\000\000\139\000\000\001x\t\b\000\000\001\022\b\216\000\139\b*\b\252[,\b>\000\014\000\000Aj\t2\000\000\000\000\000\000\002\214\t\"[,\bZ\tL\000\000\002\022Aj\tN\000\000\tP\000\000\0238\000\139\003\164Aj\tV\000\000\tX\000\000\000\139\004PAj\tZ\000\000\t\\\000\000\0001\b\174\b\218\000\000T\180\028f\b\136\000\000\000\000C\162\000\000\tx\000\000\002\242\tPAj\t\024\000\000\tZAj\t\028\000\000\000D\000\000\b\218\b\218\028f\b\160\000\000\b\162a\158a\158\000\000\000\000\000\000\000\000\000\000\000\000RT\000\000\000\000RT\000\000\000\000RT\000\000a\158\000\000\000\000(\202\000\139\000\000\023\b\b\164\000\000Aj\b\166\000\000\000\000\000\139\000\000\000\000\000\000\000\000\000\000@\172Aj\000\000Aj\000\000\b\178\000\000\000M\000\000\000\000\000\000\000\000\000\000D\nAjE\016Aj\b\220Aj\000\000AjErAjFxAjF\218AjG\224AjHBAjIHAj\000\000AjI\170AjJ\176AjK\018Aj\000\000AjL\024AjLz\000\000\002\242\000\000\002\242\000\000\0190\b\218\b\218\000\000\000\000\000\000\000\003\000\000\000\000\000\000\t\128Aj\b\186\031\214 \178\000\139\t\174\000\000\t\144MN\t\180MN\t\184MN\b\208\031\214\031\214\004\004\004\004\002$\004\190\004\004\000\000\000\000\003\152\007>\000\000\004h\011\172\000\000\000\000\000\000\000\000\000\000\b\210\000\000\000\000\t\196\000\000\t\198\000\000\000\000\n\002\t\174Aj\b\232\t\216\000\000\t\026\000\000\t\220\023\b\t&\031\214\000\000\000\000\000\154\000\000\007`\000\000\000\000\002\242\000\000\t\166\000\000\014\194\000M\000\000\014\194\000\000\000\000$\128\000\000\002\182\000\000\000\000\011\206\000\000\014\194\000\000\t\246\023\b\t.\n\028\000\000\002\194\000\000\t\236\000\139\t<\n\n[,\tD\000$\000\000Aj\n0\000\000\n\018[,\tT\nB\000\000\004TAj\nD\000\000\nF\000\000\0238\000\139\004\136Aj\nP\000\000\nT\000\000\000\000\000\000\011\206\000\000\000\000\001\128\000\000\b\218\000\000\023\028\000\000\000\000\004x \178\000\000\004x\000\000\000\000\tn\000\000\000\154\001x\031\214\000\000\005\230\000W\005\230\000\000\001\128\000\000\b\218\000\000\b\218\000\000\000\000\000\000\th\000\000\000\000\tr\000\000\004\226\007`\000W\005\230\000\000\000\000\000\000\005\176\000\000\b\218\000\000\004\226\000\000\000\000\002\194\t~\0190\000\000\t~\000\000\nT\0190\000\000\000\000\nT\000\000\000\000\tp\000\000\000\000\tv\000\000\005\004\b\218\000\000\005\004\000\000\000\000\t\246\000\000\001\128\000\000\b\218\000\000\000\000\000\000\020\158N\028\000\000\nd\000\000\020\158\000\000\nn\000\000\np\000\000&v\000\139\001\178\000\000Aj\nv\000\000\t\000\nH\000\139\t\148\n`[,\t\154\005@\000\000Aj\n\136\000\000\005X\000\000Aj\n\140\000\000\0238\000\139\005\244\000\000Aj\n\142\000\000\005\022\020\158\000\000$\128\006 \000\000Aj\n\150\000\000\000\000\000\000\001f\000\000\nx\023\b\t\176\n\162\000\000\003\024\000\000\nx\000\139\t\194\n\158[,\t\214\006*\000\000Aj\n\196\000\000\006,\000\000Aj\n\198\000\000\0238\000\139\006d\000\000Aj\n\200\000\000\005\022\000\000\000\000\t\226\000\000\001f\r\024\n`\000\000\000\000\000\000\nb\000\000\003\\\000D\000\000\0190\n\188\000\000\000\000Aj\n\018\b\218\000\000\t\228\000\000\0001\000\000<V\000\000\000\000\004B\0190\000\000\0190\000\000\t\218\000\000\004B\000\000Aj\004RAj\000\000Aj\000\000\t\228\000\000\004R\000\000Aj\004R\t\232\000\000\031\214\005T\031\214\000\000\031\214\000\000\t\238\000\000\005T\000\000Aj\004R\t\240\000\000<V\005\188<V\000\000<V\000\000\t\242\000\000\005\188\000\000Aj\004R\t\252\000\000\000\000\029\212\000\000\000\000\ntN\178\000\000\000\000\000\000\000\000\000\000\nH\005\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002zN\178\000\000\001`\001l\000\000\nJ\000\213\000\000\000\000\000\000\000\000\000u\001l\000\000\000\000\000\000\000\000\n\168\000\000\000\000\000\000\000\000\" %\250\000\000b4\000\000N\178\000\000\005\174N\178\000\000\005x\004\138\004\138\000\000\003H\004\138\000\000\n \000\000\000\000\000\000\000\000\n\174\000\000'P\000\000(\202N\178\000\000\002\228N\178\000\000\n\176\000\000N\178\n\180\000\000c\200O0\n\190\000\000\n\194\000\000d~]>N\178\000\000\000\000\n<N\178\n\200\000\000\n\204\000\000\n\206\000\000&v\000\000\0046&v\000\000\nF\0214\000\000N\178\n\212\000\000\003\004N\178\000\000\005\206N\178\000\000\005\252\011V\000\000\011X\000\000O0N\178\nR\000\000\000\000\000\000\000\000\000\000\000\000\n\222\000\000d\224N\178\n\226\000\000\n\230\000\000N\178\n\232\000\000O0\n\144\000\213\000\000\000\000\006@O0\000\000\005\252\000\000\n\238\000\000N\178\011\016\000\000N\178\011$\000\000U\142\0214\000\000\0214\000\000O0N\178\n\158N\178\011(\000\000\011,\000\000\0214\000\000b\176\000\000\000\000\006BN\178\000\000\006n\004\220\004\138\n\166\000\000\000\000\005\200\005v\000\000\000\000\000\000\005\176\005v\000\000\n\168\000\000\000\000\000\000\000\000\000\000\000\000\000\000N\178\000\000\006FN\178\000\000\002J\004H\000\213\n\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011:\000\000\011>\000\000N\178\011B\000\000e\150N\178\011D\000\000\011F\000\000N\178\011L\000\000\0310\n\244e\248\0214cf\n\202\000\000N\178\011V\000\000\011X\000\000\011(\0310N\178\011\\\000\000N\178\011`\000\000\011d\000\000N\178\011f\000\000\000\213\n\212\000\000\000\000\029\212\000\000\000\000\004\018\011\202\000\000\000\000\002\154\000\000\000\000\000\000Aj\000\000\000\000\000\000\004l\000\000\003\170\000\000\000\000\000\000\005\230P\136P\136P\136\000\000\002F\002F\002F\002F\000\000\000\000\000\000\000\000\000\000\000\000\002\242\0190\011\192\016<\000M\000\000\000\000\002\182\000\000\011\206\000\000<4\n\232\000\000\002\242\0190\n\242\017\182\000\000\002\242\016<\000\000\000\000\000\000P\136\026\240\000\000\000\000\000\000\011B\000\139\000\000\011\196^\150^\150\000\000\005\230a0^\150\006H^\198\000\000\000\000\004J\011\184\000\131\000\000\006T_\130\000\000\000\000\000\000\000\000\000\000\011\006\011\204\b\218\011\b\000\000\002\182\000\000\011\206\000\000\026\018\002\026\000\000\000\000\011\184\000\000\000\000\004\018\000\000\003\232\000\000\000\000\000\000Aj\000\000\004l\000\000\004\234\000\000\000\000\000\000\007`\000\000\rH\004`\rH\000\000\b\218\rH\000\000\004`\000\000\b\218\000\000\b\218\000\000\b\218\000\000\026\018\000\000\000\000\000\000\000\000\000\000\b\218\000\000\004`\000\000\b\218\000\000\029\248\000\000\000\000\nT\011<\000\213\001&\011\230\007\228\000\000\007\228\012\016\000\000\012\018\000\000\012\028\000\000\000\000\004\196\007\228\000\148\007\228\000\000\000\000\006|\001&\011\024\000\000\011 \000\000\011d\000\213\001&\011*\000\000\007\250\012>\000\000\006\152\005\006\012P\tp\012P\000\000\000\000\011\166\000\213\000\000\002\192\000\000\000\000\004(\000\000\011<\000\000\000\000\000\000\011~\000\213\001&\011D\000\000\000\000\007\250\006\152\005\006\011\166\002\192\004(\011H\000\000\006\152\005\006\011\166\002\192\004(\011J\000\000\002\004\004j\011f\000\213\011b\006l\007:\011\140\000\213\000\000\011\142\000\213\000\000\011\252\000\000\011\132\007h\011\130\006l\012\n\000\000\011\136\006l\012\018\000\000\000\000\006l\000\000\012\020\000\000"), (16, "\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\001:\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\r\165\016\030\011\030\015v\000\n\r\165\016\030\001B\015z\006*\017\170\001f\r\165\t}\r\165\017\170\001F\0075\r\165\r\165\005\177\r\165\011\"\0066\r\165\004\150\000&\tm\r\145\r\165\r\165\r\165\000N\t\166\023\006\023.\023>\023f\023v\023\158\r\165\000\n\015f\r\165\r\165\000\n\000*\000\n\005\142\r\165\r\165\014i\r\165\019Z\r\165\004\198\001\150\016F\004\206\r\165\004\222\r\165\r\165\t\025\r\165\r\165\r\165\004\230\001b\001f\r\165\r\165\r\165\001j\r\165\r\165\r\165\001n\001r\r\165\r\165\r\165\r\165\r\165\r\165\004\141\024f\018\214\r\165\r\165\r\145\016J\018\214\0007\000;\001v\000\006\000\"\004\238\r\165\r\165\r\165\b\198\000\n\r\165\r\165\r\165\r\165\005\177\r\165\014\006\r\165\018\198\007\005\r\165\015\238\000\150\r\165\r\165\001f\006J\004\141\014i\014i\n\130\0075\022\182\014i\r\165\r\165\b\029\006\181\r\165\004\254\014\018\015j\r\165\r\165\r\165\r\165\004\150\001N\r\165\006\138\r\165\001f\019^\002\157\r\165\r\165\r\165\021\n\r\165\000\n\r\165\r\165\r\254\r\165\021\014\r\165\r\165\000\154\021\018\r\165\r\165\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\000\n\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\r\177\015J\004\141\000.\001\162\r\177\006R\022\138\004\141\004\141\r\137\t)\r\177\001>\r\177\024F\000\242\006\173\r\177\r\177\004\141\r\177\015v\024J\r\177\021\234\001B\015z\003\229\r\177\r\177\r\177\003\229\001B\r1\001F\002f\004\141\018\198\007\005\r\177\006\197\001F\r\177\r\177\014>\004\141\016\030\030\166\r\177\r\177\000\246\r\177\004\150\r\177\004\174\017\170\006\205\006\205\r\177\000\n\r\177\r\177\021J\r\177\r\177\r\177\000\n\000\n\024V\r\177\r\177\r\177\012\137\r\177\r\177\r\177\001R\024Z\r\177\r\177\r\177\r\177\r\177\r\177\012\218\001\178\001J\r\177\r\177\012\222\004\193\014i\002m\030n\028j\001\138\012\226\004\193\r\177\r\177\r\177\012\230\028n\r\177\r\177\r\177\r\177\029\147\r\177\006\173\r\177\t\029\r1\r\177\024B\029\151\r\177\r\177\004\145\031\142\025\182\025\190\011*\012F\026\182\029\154\r2\020\014\r\177\006\173\001\198\r\177\018\214\006\173\012\137\r\177\r\177\r\177\r\177\001\218\007\005\r\177\006\253\r\177\001f\014\234\0152\r\177\r\177\r\177\002:\r\177\t5\r\177\r\177\021N\r\177\007v\r\177\r\177\027\"\b\241\r\177\r\177\007=\007=\007=\007=\007=\007=\007=\007=\007=\007=\007=\007=\007=\007=\000\n\007=\007=\007=\007=\007=\007=\007=\007=\007=\007=\n1\002>\001>\018\198\007=\016\"\0162\016B\006\002\019:\b>\007=\016\030\007=\b\225\002\006\015\154\007=\007=\006\173\007=\017\170\001B\007=\ry\019>\t\134\005}\007=\005\026\007=\001F\005\"\001B\0052\005]\0152\004\174\002f\007=\bN\005:\001F\0182\002M\002\n\015v\t\r\007=\007=\001B\015z\022\006\007=\007=\014&\000\n\014i\007=\001F\007=\007=\n1\007=\007=\007=\0022\000\n\022\n\007=\007=\007=\005B\007=\007=\007=\001J\rQ\007=\007=\007=\007=\007=\007=\000\n\005\r\0246\007=\007=\015v\031\022\001\166\002N\001B\015z\t\142\0055\031\026\018\214\007=\007=\002q\001F\007=\007=\007=\007=\005R\007=\003\186\007=\001B\006\173\007=\028\031\028#\007=\007=\n\021\028'\001F\025\158\r1\014\246\001^\006\253\004j\000\n\014i\014i\tE\007=\006\173\014i\0055\007=\007=\007=\007=\025\006\r!\007=\n\230\007=\005\r\000\n\rQ\007=\007=\007=\015\006\005\r\004\134\007=\007=\004\142\007=\002}\007=\007=\006\213\007]\007=\007=\007]\007]\007]\007]\007]\007]\007]\007]\007]\007]\007]\007]\007]\007]\004\242\007]\007]\007]\007]\007]\007]\007]\007]\007]\007]\024\202\t-\018*\007]\007]\004\201\007]\rA\022\230\031\146\022\158\007]\004\201\007]\028\014\007]\023\014\007]\007]\r1\007]\r1\001B\007]\007]\007]\015\186\018\198\007]\007]\007]\001F\029>\007]\007]\027&\016\030\007]\007]\007]\018F\007\029\007]\023\218\b\253\017\170\0152\r1\007]\007]\007]\007]\004\246\007]\002:\007]\000\n\001f\007]\028\014\007]\028G\028K\007]\007]\007]\028O\019\234\024\190\007]\007]\007]\007]\007]\007]\007]\018.\022\238\007]\007]\007]\007]\007]\007]\023\218\023\022\030\242\031\"\007]\030\158\000\n\000\n\029\179\029\183\006\182\0186\007]\029\187\004\233\007]\007]\005F\007]\007]\007]\007]\007]\000\n\007]\026\186\007]\007]\015\214\007]\019\130\001B\007]\007]\t\186\025z\020^\t\194\018\214\t\210\001F\006E\r)\005J\007]\003\229\t\218\007]\0152\003\229\0152\007]\007]\020\222\007]\021z\019\162\007]\006\237\007]\018R\023F\021\190\007]\002]\000\n\006\229\021\142\nU\nU\007]\007-\007]\nU\007]\007]\0152\t\226\007]\007]\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\023\198\001&\028V\001.\012\226\0016\001\230\001\238\001\242\012\230\028Z\024\186\023\202\t\017\007M\012\234\030\174\018\198\t\242\023~\007M\007M\012\250\023\206\001\250\023\210\016\030\030\166\002j\r\002\007\r\015\246\007M\023\214\015\250\017\170\023N\025\182\025\190\002\002\007m\016\014\023\226\029\211\029\215\005\177\023\230\007\021\029\219\026\206\002z\021\170\023\234\028\142\021~\026\210\007%\005\150\007M\017\190\016R\028\186\028\198\000\n\017\194\020\026\021\146\r\129\023\238\002\158\005\170\002\162\005\141\021\206\002\022\018\206\017\202\025\198\022&\022:\016j\002\170\017\206\ri\016n\014\030\002\178\005\210\023\134\016r\016v\r\022\r\026\016z\017\210\004\149\026\210\023\242\026\182\017\214\023\246\006\245\007m\031\162\000\n\005\214\n9\022V\005\234\004\145\r\134\016~\018\214\023\250\017\218\017\222\016\130\017\226\023\254\000\n\024\002\017\246\024\006\024\n\005i\024\014\006\006\018\002\016\138\024\174\026\226\030\158\024\018\005\177\026\202\024\022\006\014\r9\006\018\028\218\rq\rY\018\"\ra\021\174\025\170\018&\018r\005\141\r\030\024\026\006N\016\142\006\221\018v\024\030\024\"\029\"\016\150\005\141\005\141\ta\031\247\n)\005\141\018~\021\210\016\154\n9\007e\007e\022*\022>\002\238\007e\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\031\166\001&\028V\001.\012\226\0016\001\230\001\238\001\242\012\230\028Z\022Z\004\149\026.\026\170\012\234\027\022\029.\004\149\004\149\031\178\tQ\012\250\029N\001\250\031\206\004\145\002\141\002j\r\002\004\149\015\246\004\145\004\145\015\250\n\014\n)\006V\n\022\002\002\n&\016\014\006f\006n\004\145\030n\006r\n.\018*\006z\002z\006\158\006\162\016\030\006\170\006\190\004\149\006\210\030\166\017\190\016R\028\186\017\170\006\234\017\194\020b\007\n\007\018\001B\002\158\004\145\002\162\005\157\007\202\002\022\018\206\017\202\001F\n6\bf\016j\002\170\017\206\br\016n\014\030\002\178\b\146\b\174\016r\016v\r\022\r\026\016z\017\210\b\190\b\206\005Q\018\210\017\214\b\214\b\238\000\n\b\246\t\006\030v\t\018\t\030\t.\t:\r\134\016~\tN\nF\017\218\017\222\016\130\017\226\t^\000\n\tn\017\246\018.\000\n\005i\tv\030z\018\002\016\138\011~\t\155\t\230\011\134\030~\011\150\t\234\n:\n>\n\138\018\214\n\158\011\158\018\"\n\198\t\001\n\202\018&\018r\n\222\r\030\011\n\011>\016\142\011N\018v\011b\011\170\011\174\016\150\011\210\005\157\011\254\011\218\012\002\011\234\018~\012N\016\154\012b\007u\007u\011\242\011\166\002\238\007u\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\002:\001&\028V\001.\012\226\0016\001\230\001\238\001\242\012\230\028Z\030\134\012\138\011\250\005Q\012\234\012\142\002:\011\182\030\226\005Q\005Q\012\250\012\162\001\250\012\186\012\206\012\238\002j\r\002\012\246\015\246\005Q\005Q\015\250\012\254\r\006\r\014\r\018\002\002\011F\016\014\rJ\rZ\030\142\rf\rn\r\206\012\n\r\218\002z\014\014\014*\016\030\0146\014R\014Z\012\178\005Q\016N\016R\001B\017\170\015\026\017\194\015&\015.\015B\015N\002\158\001F\002\162\005\185\015V\002\022\017\198\017\202\015Z\001B\021^\016j\002\170\017\206\015b\016n\014\030\002\178\001F\015r\016r\016v\r\022\r\026\016z\017\210\000\n\015\134\015\142\014q\017\214\015v\015\146\015\162\015\170\001B\015z\015\194\015\202\015\222\015\230\r\134\016~\000\n\001F\017\218\017\222\016\130\017\226\015\242\000\n\016\006\017\246\b\165\016\026\005i\016&\018\198\018\002\016\138\016.\0166\016>\016Z\016b\016\194\016\030\b\165\016\206\000\n\018\214\017\006\0176\018\"\017\230\017\170\017\238\018&\018r\005\185\r\030\017\254\018\006\016\142\018\014\018v\018\022\018\030\018n\016\150\005\185\005\185\018z\018\130\018\142\005\185\018~\018\146\016\154\018\154\n]\n]\018\158\018\166\002\238\n]\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\018\174\001&\b\165\001.\012\226\0016\001\230\001\238\001\242\012\230\018\182\018\226\r\025\019&\019.\012\234\0192\019B\r\025\r\025\005Q\019J\012\250\019N\001\250\019V\019f\019n\002j\r\002\r\025\015\246\018\214\019v\015\250\019z\019\138\019\146\030b\002\002\b\173\016\014\019\170\030\250\019\178\020\002\020J\020V\020\202\020\214\002z\020\246\021\"\016\030\b\173\b\165\r\025\0212\021:\016N\016R\021V\017\170\021b\017\194\021j\021n\b\165\021v\002\158\021\134\002\162\021\154\021\182\002\022\017\198\017\202\021\218\021\242\021\250\016j\002\170\017\206\021\254\016n\014\030\002\178\022\014\022\022\016r\016v\r\022\r\026\016z\017\210\rI\rI\022\026\022\"\017\214\0222\022F\022b\022v\022\134\022\150\022\174\022\190\022\202\b\173\r\134\016~\030\202\022\251\017\218\017\222\016\130\017\226\023#\000\n\023;\017\246\030\222\023[\023s\023\147\005Q\018\002\016\138\0316\023\171\030\226\005Q\005Q\023\194\023\222\024N\024\127\024\214\018\214\024\235\025\019\018\"\025\031\005Q\005Q\018&\018r\025/\r\030\0257\025R\016\142\025[\018v\025c\025k\025\134\016\150\025\151\025\186\025\194\b\173\025\210\025\239\018~\025\255\016\154\026\007\026\019\005Q\026\030\026C\002\238\b\173\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\026O\001&\rI\001.\012\226\0016\001\230\001\238\001\242\012\230\026[\026~\026\135\rI\026\143\012\234\026\194\026\238\027.\rI\rI\027O\012\250\027W\001\250\027c\027s\027{\002j\r\002\027\135\015\246\027\146\027\162\015\250\027\175\027\183\027\190\027\203\002\002\027\215\016\014\027\223\027\235\000\022\027\247\028\018\028\154\018*\028\194\002z\rI\028\210\016\030\029\006\029\018\rI\rI\029B\016N\016R\029j\017\170\029n\017\194\029v\029\159\030f\001B\002\158\030r\002\162\030\130\030\138\002\022\017\198\017\202\001F\030\146\030\191\016j\002\170\017\206\030\199\016n\014\030\002\178\030\206\030\219\016r\016v\r\022\r\026\016z\017\210\030\230\030\246\031+\014q\017\214\031:\031G\000\n\031k\031\135\031\150\007U\031\158\031\170\031\182\r\134\016~\007U\007U\017\218\017\222\016\130\017\226\031\195\000\n\031\202\017\246\018.\031\210\031\n\031\219\031\226\018\002\016\138\031\235\031\255\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\214\000\000\000\000\018\"\000\000\002a\000\000\018&\018r\000\000\r\030\007U\000\000\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\000\000\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\014q\014q\000\000\000\000\002\238\014q\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\028V\001.\012\226\0016\001\230\001\238\001\242\012\230\028Z\000\000\000\000\000\000\000\000\012\234\000\000\000\000\000\000\000\000\022\006\000\000\012\250\000\000\001\250\000\000\000\000\000\000\002j\r\002\000\000\015\246\000\000\000\000\015\250\000\000\022\n\000\000\000\000\002\002\000\000\016\014\000\000\000\000\000\000\000\000\000\000\000\000\004\174\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\015v\000\000\017\190\016R\001B\015z\000\000\017\194\029\234\000\000\000\000\000\000\002\158\001F\002\162\000\000\000\000\002\022\018\206\017\202\000\000\000\000\000\000\016j\002\170\017\206\000\000\016n\014\030\002\178\000\000\000\000\016r\016v\r\022\r\026\016z\017\210\000\n\000\000\000\000\000\000\017\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\016~\000\000\000\000\017\218\017\222\016\130\017\226\000\000\000\n\000\000\017\246\000\000\000\000\005i\000\000\000\000\018\002\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\253\000\000\000\000\000\000\000\000\000\000\018\"\000\000\000\000\000\000\018&\018r\000\000\r\030\000\000\000\000\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\000\000\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\nA\nA\000\000\000\000\002\238\nA\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\000\000\001.\012\226\0016\001\230\001\238\001\242\012\230\000\000\000\000\000\000\000\000\000\000\012\234\000\000\000\000\000\000\000\000\000\000\000\000\012\250\000\000\001\250\000\000\000\000\000\000\002j\r\002\000\000\015\246\000\000\000\000\015\250\000\000\000\000\000\000\000\000\002\002\000\000\016\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\190\016R\000\000\000\000\000\000\017\194\018\234\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\002\022\018\206\017\202\000\000\000\000\000\000\016j\002\170\017\206\000\000\016n\014\030\002\178\000\000\000\000\016r\016v\r\022\r\026\016z\017\210\000\000\000\000\000\000\014M\017\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\016~\000\000\000\000\017\218\017\222\016\130\017\226\000\000\000\n\000\000\017\246\000\000\000\000\000\000\000\000\000\000\018\002\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\"\000\000\000\000\000\000\018&\018r\000\000\r\030\000\000\000\000\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\000\000\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\014M\014M\000\000\000\000\002\238\014M\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\000\000\001.\012\226\0016\001\230\001\238\001\242\012\230\000\000\000\000\000\000\000\000\000\000\012\234\000\000\000\000\000\000\000\000\000\000\000\000\012\250\000\000\001\250\000\000\000\000\000\000\002j\r\002\000\000\015\246\000\000\000\000\015\250\000\000\000\000\000\000\000\000\002\002\000\000\016\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\190\016R\000\000\000\000\000\000\017\194\028\158\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\002\022\018\206\017\202\000\000\000\000\000\000\016j\002\170\017\206\000\000\016n\014\030\002\178\000\000\000\000\016r\016v\r\022\r\026\016z\017\210\000\000\000\000\000\000\000\000\017\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\016~\000\000\000\000\017\218\017\222\016\130\017\226\000\000\000\n\000\000\017\246\000\000\000\000\000\000\000\000\000\000\018\002\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\"\000\000\000\000\000\000\018&\018r\000\000\r\030\000\000\000\000\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\000\000\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\014\153\014\153\000\000\000\000\002\238\014\153\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\000\000\001.\012\226\0016\001\230\001\238\001\242\012\230\000\000\000\000\000\000\000\000\000\000\012\234\000\000\000\000\000\000\000\000\000\000\000\000\012\250\000\000\001\250\000\000\000\000\000\000\002j\r\002\000\000\015\246\000\000\000\000\015\250\000\000\000\000\000\000\000\000\002\002\000\000\016\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\190\016R\000\000\000\000\000\000\017\194\028\158\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\002\022\018\206\017\202\000\000\000\000\000\000\016j\002\170\017\206\000\000\016n\014\030\002\178\000\000\000\000\016r\016v\r\022\r\026\016z\017\210\000\000\000\000\000\000\000\000\017\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\016~\000\000\000\000\017\218\017\222\016\130\017\226\000\000\000\n\000\000\017\246\000\000\000\000\000\000\000\000\000\000\018\002\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\"\000\000\000\000\000\000\018&\018r\000\000\r\030\000\000\000\000\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\000\000\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\014\149\014\149\000\000\000\000\002\238\014\149\000R\000V\000f\000\170\t\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\000\000\001.\012\226\0016\001\230\001\238\001\242\012\230\000\000\000\000\000\000\000\000\000\000\012\234\000\000\000\000\000\000\000\000\000\000\000\000\012\250\000\000\001\250\000\000\000\000\000\000\002j\r\002\000\000\015\246\000\000\000\000\015\250\000\000\000\000\000\000\000\000\002\002\000\000\016\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\190\016R\000\000\000\000\000\000\017\194\020\150\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\002\022\018\206\017\202\000\000\000\000\000\000\016j\002\170\017\206\000\000\016n\014\030\002\178\000\000\000\000\016r\016v\r\022\r\026\016z\017\210\000\000\000\000\000\000\000\000\017\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\016~\000\000\000\000\017\218\017\222\016\130\017\226\000\000\000\n\000\000\017\246\000\000\000\000\000\000\000\000\000\000\018\002\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\"\000\000\000\000\000\000\018&\018r\000\000\r\030\000\000\000\000\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\000\000\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\000R\000V\000f\000\170\002\238\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\000\000\001.\012\226\0016\001\230\001\238\001\242\012\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\002j\000\000\000\000\015\246\000\000\000\000\015\250\000\000\000\000\000\000\000\000\002\002\000\000\021\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021&\016R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\002\022\006\165\000\000\000\000\000\000\000\000\016j\002\170\000\000\000\000\016n\001f\002\178\006\165\000\000\016r\016v\r\022\021*\016z\000\000\000\000\000\000\000\000\006\165\000\000\006\165\012\r\012\r\000\000\000\000\012\r\000\000\000\000\006\165\000\000\r\134\016~\006\165\000\000\006\165\000\000\016\130\006\165\000\000\000\n\006\165\006\165\006\165\000\000\006\165\000\000\000\000\006\165\016\138\006\165\006\165\000\000\006\165\000\000\000\000\000\000\000\000\000\000\006\165\000\000\006\165\012\r\006\165\006\165\000Z\006\165\000\000\000\000\000\000\r\030\006\165\000\000\016\142\006\165\021.\000\000\006\165\000\000\016\150\006\165\006\165\000\000\006\165\006\165\006\165\0216\006\165\016\154\000\000\006\165\012\r\000\000\006\165\002\238\000\000\006\165\000\000\000\000\000\000\000\000\006\165\n\150\000\000\006\165\011\002\006\165\000Z\000\000\006\165\000Z\000\000\006\165\006\165\006\165\006\165\006\165\000\000\006\165\006\165\000\000\006\165\006\165\000\000\000\000\000\000\006\165\006\165\006\165\000\000\000\000\006\165\006\165\000\000\000\000\006\165\000\000\000\000\006\165\006\165\000\000\006\165\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\006\165\006\165\006\165\012\r\006\165\000\000\006\165\006\165\006\165\006\165\006\165\006\165\000\000\006\165\006\165\006\165\006\165\000\000\000\000\000\000\006\165\000\000\000\000\006\165\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\006\165\000\000\006\165\006\165\000\000\006\165\006\165\006\165\000\000\000\000\006\165\006\165\000\000\000\000\006\165\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\000\000\006\165\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\230\001\238\001\242\000\000\000\000\004\186\004\194\000\170\000\000\000\174\000\000\005\006\005\014\005\022\005Z\000\000\005b\005j\001\250\005z\000\000\005\130\002j\005\138\005\182\002\130\005\190\000\000\002\134\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\198\000\000\002z\000\000\000\000\002~\019:\000\000\000\000\000\000\000\000\003\018\007\002\000\000\002\150\005\206\000\000\007j\000\000\000\000\000\000\002\158\019>\002\162\000\000\000\000\002\022\000\000\000\000\000\000\015\245\000\000\007\022\002\170\000\000\000\000\007\026\001f\002\178\000\000\007n\007\030\007\"\015v\000\000\007&\002\194\001B\015z\000\000\005\222\000\000\000\000\000\000\015\245\015\245\001F\000\000\000\000\000\000\019\222\000\000\r\190\007*\000\000\000\000\000\000\000\000\007.\015\245\000\000\000\n\000\000\000\000\000\000\015\245\015\245\000\000\000\000\r\198\0076\000\n\r\210\000\000\000\000\015\245\000\000\000\000\015\245\000\000\015\245\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:\000\000\000\000\000\000\000\000\000\000\007B\000\000\000\000\004\225\000\000\015\245\000\000\000\000\000\000\007F\000\000\000R\000V\000f\000\170\002\238\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\r\222\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\245\000\000\000\000\000\000\001\250\r\226\000\000\015\245\002j\000\000\000\000\002\130\000\000\000\000\002\134\000\000\r\234\000\000\000\000\002\002\000\000\015\245\000\000\000\000\000\000\000\000\000\000\000\000\015\245\000\000\002z\000\000\000\000\002~\000\000\000\000\015\245\015\245\000\000\003\018\007\002\000\000\002\150\000\000\000\000\007j\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\007\022\002\170\000\000\000\000\007\026\001f\002\178\000\000\007n\007\030\007\"\000\000\000\000\007&\002\194\000\000\011r\011z\000\170\000\000\000\174\000\000\011\190\011\198\011\206\012\018\000\000\012\026\012\"\000\000\0122\007*\012:\000\000\012B\012n\007.\012v\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0076\000\000\000\000\000\000\000\000\012~\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\012\134\000\000\000\000\000\000\007:\000\000\000\000\000\000\000\000\000\000\007B\000\000\000\000\b\229\000\000\000\000\000\000\000\000\000\000\007F\000\000\000R\000V\000f\000\170\002\238\000\174\000\000\000\178\000\186\000\194\001\006\000\000\001\014\001\022\012\150\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\012\218\000\000\000\000\000\000\000\000\012\222\000\000\000\000\000\000\001\250\028j\000\000\012\226\002j\000\000\000\000\002\130\012\230\028n\002\134\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\003\018\007\002\000\000\002\150\000\000\000\000\007j\000\000\019:\000\000\002\158\000\000\002\162\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\007\022\002\170\000\000\019>\007\026\001f\002\178\000\000\007n\007\030\007\"\000\000\000\000\007&\002\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015v\000\000\000\000\000\000\001B\015z\000\000\007*\000\000\000\000\000\000\000\000\007.\001F\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\012\218\000\000\0076\000\000\000\000\012\222\000\000\000\000\000\000\000\000\028j\000\000\012\226\007r\000\000\000\000\000\n\012\230\028n\000\000\000\000\005}\000\000\000\000\000\000\000\000\007:\000\000\000\000\000\000\000\000\000\000\007B\000\000\000\000\002Q\000\000\000\000\000\000\000\000\000\000\007F\000\000\000R\000V\000f\000\170\002\238\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\230\001\238\001\242\bi\bi\015J\000\000\000\000\bi\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\002j\000\000\000\000\002\130\015v\000\000\002\134\000\000\001B\015z\000\000\002\002\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\000\000\002z\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\003\018\007\002\000\000\002\150\000\000\000\000\007z\000\000\000\000\000\000\002\158\000\n\002\162\000\000\000\000\002\022\005}\000\000\000\000\000\000\000\000\007\022\002\170\000\000\000\000\007\026\001f\002\178\000\000\007n\007\030\007\"\000\000\000\000\007&\002\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007*\000\000\000\000\000\000\000\000\007.\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\0076\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\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\007:\000\000\000\000\000\000\000\000\000\000\007B\000\000\000\000\b\245\001\250\000\000\000\000\000\000\002j\007F\000\000\002n\000\000\000\000\002r\002\238\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\002\146\002\142\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\002\166\002\170\000\000\000\000\002\174\001f\002\178\000\000\000\000\002\182\002\186\000\000\000\000\002\190\002\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\225\000\000\000\000\001\225\000\000\000\000\000\000\000\000\000\000\002\198\000\000\000\000\000\000\000\000\002\202\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\001\225\001\225\002\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\214\000\000\001\225\000\000\000\000\000\000\001\225\000\000\001\225\001\225\000\000\000\000\000\000\002\218\000\000\000\000\000\000\000\000\001\225\002\230\000\000\001\225\000\000\001\225\000\000\000\000\000\000\000\000\002\246\000\000\001\133\001\133\001\133\001\133\002\238\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\001\225\001\133\001\133\001\133\001\133\000\000\012\218\000\000\000\000\023\182\000\000\012\222\000\000\000\000\000\000\000\000\028j\000\000\012\226\001\133\001\133\001\133\000\000\012\230\028n\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\001\225\007\130\001\133\001\225\000\000\023\186\000\000\001\225\001\133\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\019:\000\000\001\133\001\225\000\000\000\000\000\000\001\225\001\225\000\000\000\000\001\133\001\133\000\000\007\138\000\000\019>\000\000\001\225\001\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\000\000\000\000\001\133\000\000\015v\001\133\000\000\000\000\001B\015z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\001\133\000\000\000\000\000\000\000\000\001\133\000\000\001\133\000\000\000\000\001\133\000\000\023\190\000\000\000\000\000\000\000\000\001\133\000\000\001\133\000\000\000\000\001\133\000\000\000\n\000\000\000\000\000\000\000\000\005}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\133\001\133\000\000\000\000\000\000\001\133\001\133\000\000\000\000\000\000\000R\t\174\t\182\000\170\000\000\000\174\024\130\t\250\n\002\n\n\nN\000\000\nV\n^\023\198\nn\000\000\nv\000\000\n~\n\170\001\238\n\178\000\000\000\000\000\000\023\202\n\141\n\141\000\000\000\000\000\000\n\141\000\000\000\000\000\000\000\000\023\206\n\186\023\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\214\000\000\000\000\000\000\000\000\000\000\027\142\000\000\000\000\023\226\000\000\000\000\000\000\023\230\000\000\000\000\000\000\000\000\000\000\023\234\000\000\000\000\000\000\000\000\000\000\000\000\n\210\000\000\000\000\000\000\000\000\025n\000\000\000\000\000\000\023\238\026\154\000\000\000\000\000\000\000\000\n\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\022\000\000\000\000\023\242\012\234\000\000\023\246\000\000\000\000\000\000\000\000\012\250\000\000\000\000\000\000\000\000\000\000\002j\r\002\023\250\015\246\000\000\000\000\015\250\023\254\000\n\024\002\000\000\024\006\024\n\016\014\024\014\000\000\000\000\000\000\000\000\000\000\000\000\024\018\002z\000\000\024\022\000\000\000\000\000\000\000\000\000\000\000\000\017\242\016R\000\000\000\000\000\000\017\194\000\000\000\000\024\026\000\000\002\158\000\000\002\162\024\030\024\"\000\000\000\000\017\202\000\000\000\000\000\000\016j\002\170\017\206\000\000\016n\014\030\002\178\000\000\000\000\016r\016v\000\000\000\000\016z\017\210\000\000\000\000\000\000\000\000\017\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\016~\000\000\000\000\017\218\017\222\016\130\017\226\000\000\000\n\000\000\017\246\000\000\000\000\000\000\012\234\000\000\018\002\016\138\000\000\000\000\000\000\012\250\000\000\000\000\000\000\000\000\000\000\002j\r\002\000\000\015\246\018\"\000\000\015\250\000\000\018&\018r\000\000\000\000\000\000\016\014\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\002z\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\016f\016R\000\000\000\000\002\238\017\194\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\017\202\000\000\000\000\000\000\016j\002\170\017\206\000\000\016n\014\030\002\178\000\000\000\000\016r\016v\000\000\000\000\016z\017\210\000\000\000\000\000\000\000\000\017\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\016~\000\000\000\000\017\218\017\222\016\130\017\226\000\000\000\n\000\000\017\246\000\000\000\000\000\000\000\000\000\000\018\002\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\"\000\000\000\000\000\000\018&\018r\000\000\000\000\000\000\000\000\016\142\000\000\018v\000\000\000\000\000\000\016\150\000\000\000\000\000\000\000\000\000\000\000\000\018~\000\000\016\154\000\000\012\t\012\t\012\t\012\t\002\238\012\t\000\000\012\t\012\t\012\t\012\t\000\000\012\t\012\t\000\000\012\t\000\000\012\t\000\000\012\t\012\t\012\t\012\t\000\000\000\000\016I\000\000\000\000\016I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\t\012\t\012\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\t\000\000\016I\016I\000\000\000\000\012\t\016I\000\000\024\146\003\006\016I\000\000\024\154\000\000\000\000\000\000\016I\000\000\012\t\016I\016I\000\000\016I\016I\000\000\012\t\003\014\000\000\016I\003\"\012\t\000\000\016I\000\000\000\000\016I\000\000\016I\016I\012\t\012\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\t\000\000\016I\012\t\016I\000\000\012\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016I\000\000\000\000\000\000\012\t\000\000\000\000\004n\000\000\012\t\000\000\012\t\000\000\000\000\012\t\000\000\000\000\000\000\000\000\000\000\000\000\012\t\000\000\012\t\000\000\000\000\012\t\016I\016I\000\000\016I\016I\004r\000\000\016I\000\000\000\000\000\000\000\000\000\000\000\000\012\t\012\t\004z\000\000\000\000\024\238\012\t\016I\000\000\000\000\016I\016I\016I\016I\016I\000\000\000\000\000\000\016I\016I\016I\000\000\016I\016I\016I\015\217\000\000\000\000\015\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\217\015\217\000\000\000\000\000\000\015\217\000\000\000\000\003\006\015\217\000\000\000\000\000\000\000\000\000\000\015\217\000\000\000\000\015\217\015\217\000\000\015\217\015\217\000\000\000\000\003\014\000\000\015\217\003\"\000\000\000\000\015\217\000\000\000\000\015\217\000\000\015\217\015\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\217\000\000\015\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\217\000\000\000\000\000\000\000\000\000\000\000\000\004n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\217\015\217\000\000\015\217\015\217\004r\000\000\015\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\225\004z\000\000\005\225\000\000\000\000\015\217\000\000\000\000\015\217\015\217\015\217\015\217\015\217\000\000\000\000\000\000\015\217\015\217\015\217\000\000\015\217\015\217\015\217\005\225\005\225\000\000\000\000\000\000\005\225\000\000\000\000\005\225\005\225\000\000\000\000\000\000\000\000\000\000\005\225\000\000\000\000\005\225\005\225\000\000\005\225\005\225\000\000\000\000\005\225\000\000\005\225\005\225\000\000\000\000\005\225\000\000\000\000\005\225\000\000\005\225\005\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\005\225\000\000\005\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\225\000\000\000\000\000\000\000\000\000\000\000\000\005\225\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\225\005\225\000\000\005\225\b\025\005\225\000\000\005\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\225\000\000\000\000\000\000\000\000\005\225\000\000\000\000\005\225\000\000\005\225\000\000\005\225\000\000\000\000\000\000\005\225\005\225\005\225\000\000\005\225\005\225\005\225\011\249\011\249\011\249\011\249\000\000\011\249\000\000\011\249\011\249\011\249\011\249\000\000\011\249\011\249\000\000\011\249\000\000\011\249\000\000\011\249\011\249\011\249\011\249\000\000\000\000\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\011\249\011\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\249\000\000\000\000\000\000\000\000\000\000\011\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\011\249\000\174\000\000\000\178\000\186\000\194\001\006\011\249\001\014\001\022\000\000\001&\011\249\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\011\249\011\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\249\000\000\000\000\011\249\000\000\000\000\011\249\002\002\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\000\000\000\000\000\000\011\249\000\000\011\249\002\018\000\000\011\249\000\000\000\000\000\000\000\000\000\000\000\000\011\249\000\000\011\249\000\000\000\000\011\249\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\011\249\011\249\000\000\000\000\000\000\024\150\011\249\011\253\011\253\011\253\011\253\000\000\011\253\000\000\011\253\011\253\011\253\011\253\000\000\011\253\011\253\000\000\011\253\000\000\011\253\000\000\011\253\011\253\011\253\011\253\000\000\000\n\005\229\000\000\000\000\005\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\253\011\253\011\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\253\000\000\005\229\005\229\000\000\000\000\011\253\005\229\000\000\024\242\005\229\005\229\000\000\000\000\000\000\000\000\000\000\005\229\000\000\011\253\005\229\005\229\000\000\005\229\005\229\000\000\011\253\005\229\000\000\005\229\005\229\011\253\000\000\005\229\000\000\000\000\005\229\000\000\005\229\005\229\011\253\011\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\253\000\000\005\229\011\253\005\229\000\000\011\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\229\000\000\000\000\000\000\011\253\000\000\000\000\005\229\000\000\011\253\000\000\011\253\000\000\000\000\011\253\000\000\000\000\000\000\000\000\000\000\000\000\011\253\000\000\011\253\000\000\000\000\011\253\005\229\005\229\000\000\005\229\b!\005\229\000\000\005\229\000\000\000\000\000\000\000\000\000\000\000\000\011\253\011\253\005\229\000\000\000\000\000\000\011\253\005\229\000\000\000\000\005\229\000\000\005\229\000\000\005\229\000\000\000\000\000\000\005\229\005\229\005\229\000\000\005\229\005\229\005\229\000R\t\174\t\182\000\170\000\000\000\174\000\000\t\250\n\002\n\n\nN\000\000\nV\n^\000\000\nn\000\000\nv\000\000\n~\n\170\001\238\n\178\000\000\000\000\016-\000\000\000\000\016-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\250\n\186\025\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\"\000\000\016-\016-\000\000\000\000\n\194\016-\000\000\000\000\016\178\016-\000\000\000\000\000\000\000\000\000\000\016-\000\000\025:\016-\016-\000\000\016-\016-\000\000\n\210\016\186\000\000\016-\016\198\025n\000\000\016-\000\000\000\000\016-\000\000\016-\016-\025\142\n\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\022\000\000\016-\025\154\016-\000\000\025\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016-\000\000\000\000\000\000\026\n\000\000\000\000\016\210\000\000\026\022\000\000\n\017\000\000\000\000\026F\000\000\000\000\000\000\000\000\000\000\000\000\026R\000\000\026^\000\000\000\000\027Z\016-\016-\000\000\016-\000\000\016\214\001\209\016-\000\000\001\209\000\000\000\000\000\000\000\000\027f\027~\016\222\000\000\001\209\000\000\027\138\001\209\000\000\000\000\016-\000\000\016-\000\000\000\000\000\000\001\209\001\209\016-\016-\016-\001\209\016-\016-\016-\001\209\000\000\000\000\001\209\001\209\000\000\001\209\000\000\001\209\001\209\001\209\000\000\001\209\001\209\000\000\000\000\000\000\000\000\001\209\000\000\000\000\001\209\001\209\000\000\001\209\001\209\000\000\001\209\001\209\000\000\001\209\000\000\000\000\000\000\001\209\000\000\000\000\001\209\000\000\001\209\001\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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*\000\000\001\209\001\209\000\000\000\000\001\209\000\000\000\000\000\000\000\000\001\209\0032\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\004^\001\209\001\209\000\000\001\209\001\209\001\209\001\209\000\000\000\000\000\000\000\000\004R\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\003j\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\003r\000\000\003\130\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\000\000\000\000\001Y\000\000\001Y\001M\000\000\000\000\001M\001M\000\000\001M\001M\000\000\000\000\001Y\000\000\001M\000\000\000\000\000\000\001M\000\000\000\000\003r\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\000\000\000\000\001Y\000\000\000\000\001Y\001Y\000\000\000\000\003z\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\003z\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\003r\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\000\000\000\000\001Q\000\000\001Q\003j\000\000\000\000\001U\001U\000\000\001U\001U\000\000\000\000\001Q\000\000\001U\000\000\000\000\000\000\001U\000\000\000\000\003r\000\000\003\130\001U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001Q\000\000\000\000\001Q\001Q\000\000\000\000\003z\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\003z\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\003b\003\138\000\000\001U\001U\001e\001U\001U\001U\001e\000\000\000\000\000\000\000\000\000\000\003j\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\003r\000\000\003\130\001e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\003\154\000\000\001e\003j\000\000\000\000\001]\001]\000\000\001]\001]\000\000\000\000\001e\000\000\001]\000\000\000\000\000\000\001]\000\000\000\000\003r\000\000\003\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\000\000\001e\000\000\000\000\001e\001e\000\000\000\000\003z\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\003z\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\003b\003\138\000\000\001]\001]\001a\001]\001]\001]\001a\000\000\000\000\000\000\000\000\000\000\003j\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\003r\000\000\003\130\001a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\001i\000\000\000\000\000\000\001i\000\000\000\000\003\154\000\000\001a\003j\000\000\000\000\001i\001i\000\000\001i\001i\000\000\000\000\001a\000\000\001i\000\000\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\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\000\000\000\000\001a\000\000\000\000\001a\001a\000\000\000\000\003z\000\000\003\154\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\162\000\000\000\000\001i\001i\000\000\001q\003z\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\003b\003\138\000\000\001i\001i\001q\001i\001i\001i\001q\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001q\001q\000\000\001q\001q\000\000\000\000\003\242\000\000\001q\001m\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\001m\000\000\000\000\000\000\001m\000\000\000\000\003\154\000\000\001q\003j\000\000\000\000\001m\001m\000\000\001m\001m\000\000\000\000\001q\000\000\001m\000\000\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\001m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\001q\001q\000\000\000\000\003z\000\000\003\154\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\170\001q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\001m\001m\000\000\003\242\003z\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\003b\003\138\000\000\001m\001m\001u\001m\003\170\001m\001u\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001u\001u\000\000\001u\003\250\000\000\000\000\003V\000\000\001u\003\178\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\210\003\218\000\000\000\000\000\000\002-\000\000\000\000\000\000\002-\000\000\000\000\003\154\000\000\001u\003\226\000\000\000\000\002-\002-\000\000\003\234\004\n\000\000\000\000\001u\000\000\002-\000\000\000\000\000\000\004\018\000\000\000\000\004\026\000\000\004\"\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\003\162\000\000\000\000\001u\001u\000\000\000\000\003z\000\000\004*\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\170\001u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0042\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\003b\003\138\000\000\002-\002-\000\129\004B\004J\002-\000\129\000\000\000\000\000\000\000\000\000\000\003j\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\003\146\000\000\000\000\003r\000\000\003\130\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\000\000\000\000\003\154\000\000\000\129\003j\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000\129\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\003r\000\000\003\130\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000\129\000\129\000\000\000\000\003z\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\170\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\003z\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\003j\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\003r\000\000\003\130\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\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\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\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\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\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\242\003z\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\003b\003\138\000\000\000]\000]\000\137\000]\000]\000]\000\137\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\137\000\137\000\000\000\137\003\250\000\000\000\000\003\242\000\000\000\137\000}\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\000}\000\000\000\000\000\000\000}\000\000\000\000\003\154\000\000\000\137\003j\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\137\000\000\000}\000\000\000\000\000\000\003\146\000\000\000\000\003r\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\003\162\000\000\000\000\000\137\000\137\000\000\000\000\003z\000\000\003\154\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\004\002\003\170\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000}\000}\000\000\000u\003z\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\003b\003\138\000\000\000}\000}\000u\000}\003\170\000}\000u\000\000\000\000\000\000\000\000\000\000\003j\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\003r\000\000\003\130\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\000\000\000\000\003\154\000\000\000u\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\000\000\000u\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\003r\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\000u\000\000\000\000\000u\000u\000\000\000\000\003z\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\003z\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\003b\003\138\000\000\000a\000a\000m\000a\000a\000a\000m\000\000\000\000\000\000\000\000\000\000\003j\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\003r\000\000\003\130\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\000m\000\000\000m\003j\000\000\000\000\000q\000q\000\000\000q\000q\000\000\000\000\000m\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\003r\000\000\003\130\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\003z\000\000\003\154\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\242\003z\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\003b\003\138\000\000\000q\000q\000\133\000q\000q\000q\000\133\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\133\000\133\000\000\000\133\003\250\000\000\000\000\000y\000\000\000\133\000y\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\003\154\000\000\000\133\003j\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\003\146\000\000\000\000\003r\000\000\003\130\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000\133\000\133\000\000\000\000\003z\000\000\003\154\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\170\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000y\000y\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\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\170\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\000\000\001.\012\226\0016\001\230\001\238\001\242\012\230\000\000\002j\000\000\000\000\r:\000\000\000\000\r>\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\rR\r^\000\000\000\000\r\254\014\022\014\026\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\rr\002\170\000\000\000\000\rv\014\030\002\178\000\000\000\000\rz\r~\002\022\000\000\r\130\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\r\022\r\026\r\134\r\138\000\000\000\000\000\000\000\000\r\142\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\006\197\000\000\014\"\000\000\014>\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\r:\000\000\r\154\r>\000\000\000\000\000\000\000\000\r\162\000\000\000\000\000\000\000\000\000\000\004\241\006\189\r\030\r\166\000\000\002z\000\000\000\000\000\000\002\238\000\000\000\000\006\189\000\000\rR\r^\000\000\006\189\r\254\014\022\014\026\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\rr\002\170\000\000\000\000\rv\014\030\002\178\000\000\000\000\rz\r~\000\000\000\000\r\130\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\r\138\000\000\000\000\000\000\000\000\r\142\000\000\002j\000\n\000\000\r:\000\000\000\000\r>\000\000\000\000\000\000\r\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\197\000\000\014\"\002z\014>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\rR\r^\000\000\r\154\r\254\014\022\014\026\000\000\000\000\r\162\002\158\000\000\002\162\000\000\000\000\t9\000\000\000\000\r\166\000\000\000\000\rr\002\170\000\000\002\238\rv\014\030\002\178\000\000\000\000\rz\r~\000\000\000\000\r\130\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\134\r\138\000\000\000\000\000\000\000\000\r\142\000\000\002j\000\n\000\000\r:\000\000\000\000\r>\000\000\000\000\000\000\r\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\197\000\000\014\"\002z\014>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\rR\r^\000\000\r\154\r\254\014\022\014\250\000\000\000\000\r\162\002\158\000\000\002\162\000\000\000\000\002\129\000\000\000\000\r\166\000\000\000\000\rr\002\170\000\000\002\238\rv\014\030\002\178\000\000\000\000\rz\r~\000\000\000\000\r\130\001F\000\000\000\000\003\213\000\000\000\000\000\000\000j\003\213\000\000\000r\000\000\000\130\003\213\000\000\003\213\r\134\r\138\000\000\000\138\003\213\003\213\r\142\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\197\000\000\000\000\000\000\014>\000\000\000\000\000\146\003\213\000\000\000\000\000\000\003\213\000\000\000\000\r\154\000\000\000\000\000\000\000\000\000\000\r\162\000\000\000\000\000\000\000\000\000\000\tI\003\213\000\000\r\166\000\000\000\000\000\000\000\000\000\000\002\238\000\000\000\000\000\000\003\213\000\000\000\162\000\000\000\000\000\000\000\000\000\000\000\000\003\213\014r\003\209\000\000\003\213\003\213\000\198\003\209\000\000\000\206\000\000\000\222\003\209\003\213\003\209\000\000\000\000\003\213\000\230\003\209\003\209\000\000\000\000\000\000\000\000\014z\014\130\000\000\003\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\213\000\000\014\138\000\000\000\000\003\213\000\000\000\000\014\146\014\154\000\000\000\238\003\209\000\000\000\000\000\000\003\209\000\000\014\162\000\000\000\000\014\170\000\000\014\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\209\000\000\000\000\000\000\000\000\000\000\003\213\000\000\000\000\003\213\003\213\000\000\003\209\003\213\000\254\000\000\014\186\000\000\003\213\003\213\000\000\003\209\000\000\003\213\000\000\003\209\003\209\000\000\001\233\000\000\000\000\001\233\000\000\000\000\003\209\000\000\000\000\000\000\003\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\209\000\000\000\000\001\233\001\233\000\000\000\000\014\194\001\233\000\000\003\209\000\000\001\233\000\000\014\202\003\209\000\000\000\000\001\233\000\000\000\000\001\233\001\233\000\000\001\233\001\233\000\000\000\000\006-\000\000\001\233\000\000\000\000\000\000\001\233\006-\000\000\001\233\000\000\001\233\001\233\000\000\000\000\014\210\014\218\000\000\000\000\000\000\003\209\000\000\000\000\003\209\003\209\000\000\000\000\003\209\000\000\000\000\000\000\000\000\003\209\003\209\000\000\000\000\001\233\003\209\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\002n\000\000\000\000\002r\000\000\000\000\000\000\000\000\000\000\000\000\001\233\016\242\000\000\001\233\000\000\000\000\000\000\001\233\000\000\002z\000\000\000\000\002~\000\000\000\000\000\000\000\000\000\000\002\138\002\142\000\000\002\150\000\000\r6\001\233\000\000\001\233\000\000\002\158\000\000\002\162\000\000\016\250\001\233\001\233\000\000\001\233\001\233\001\233\002\166\002\170\000\000\014.\002\174\001f\002\178\000\000\000\000\002\182\002\186\t\198\006\165\002\190\002\194\000\000\000\000\000\000\000\000\000\000\000\000\n\026\006\165\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\002\198\000\000\000\000\006\165\006\165\002\202\006\165\000\000\000\n\000\000\000\000\000\000\000\000\000\000\006\165\000\000\006\165\002\210\000\000\000\000\006\165\000\000\000\000\006\165\006\165\nb\006\165\006\165\002\214\n!\006\165\000\000\000\000\006\165\000\000\011\138\006\165\006\165\006\165\000\000\000\000\002\218\000\000\006\165\006\165\011Z\000\000\002\230\006\165\006\165\000Z\006\165\n!\000\000\006\165\006\165\002\246\011\222\006\165\006\165\000Z\006\165\002\238\000\000\012&\006\165\000\000\006\165\006\165\006\165\006\165\000\000\006\165\000\000\006\165\006\165\000\000\006\165\006\165\000\000\006\165\006\165\006\165\006\165\000\000\006\165\006\165\000\000\006\165\006\165\006\165\006\165\000\000\000\000\006\165\000Z\000\000\006\165\006\165\006\165\006\165\006\165\000\000\006\165\006\165\000Z\006\165\006\165\000\000\006\165\006\165\006\165\000\000\006\165\006\165\000\000\006\165\006\165\006\165\012Z\006\165\006\165\012\154\006\165\000Z\000\000\006\165\000Z\006\165\006\165\006\165\006\165\006\165\006\165\000Z\000\000\006\165\006\165\012\198\006\165\000\000\006\165\006\165\000Z\006\165\006\165\006\165\006\165\006\165\006\165\000\000\006\165\006\165\000\000\006\165\006\165\006\165\000\000\006\165\006\165\000\000\006\165\006\165\000\000\000\000\006\165\000\000\000\000\006\165\000\000\000\000\006\165\000\000\006\165\006\165\006\165\006\165\006\165\006\165\000\000\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\000\000\006\165\006\165\006\165\006\165\006\165\000\000\006\165\006\165\000\000\006\165\006\165\002j\000\000\000\000\002n\006\165\006\165\002r\006\165\006\165\006\165\006\165\000\000\006\165\006\165\006\165\000\000\016\018\000\000\000\000\006\165\006\165\000\000\002z\006\165\000\000\002~\000\000\000\000\006\165\006\165\000\000\002\138\002\142\000\000\002\150\017&\000\000\000\000\017.\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\002\170\000\000\000\000\002\174\001f\002\178\017>\017F\002\182\002\186\000\000\002=\002\190\002\194\000\000\002=\000\000\000\000\000\000\000\000\000\000\017N\000\000\000\000\002=\002=\000\000\017V\017^\000\000\002\198\000\000\000\000\002=\000\000\002\202\000\000\017f\000\n\000\000\017n\000\000\017v\002=\000\000\000\000\000\000\002\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017~\000\000\002=\000\000\002\218\000\000\000\000\000\000\000\000\000\000\002\230\000\000\000\000\002=\000\000\000\000\000\000\000\000\000\000\002\246\000\000\000\000\000\000\000\000\000\000\002\238\000\000\000\000\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\134\000\000\000\000\002=\000\000\000\000\0015\017\142\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002=\000\000\002=\000\000\000\000\000\000\003b\003\138\000\000\002=\002=\0015\017\150\017\158\002=\0015\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\0015\0015\000\000\0015\0015\000\000\000\000\001\029\000\000\0015\001\029\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\000\000\000\000\001\029\000\000\000\000\000\000\001\029\000\000\000\000\003\154\000\000\0015\003j\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\0015\000\000\001\029\000\000\000\000\000\000\001\029\000\000\000\000\003r\000\000\003\130\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\003\162\000\000\000\000\0015\000\000\000\000\000\000\003z\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\0015\000\000\0015\000\000\000\000\000\000\000\000\000\000\000\000\0015\0015\000\000\0015\003\170\0015\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\001\025\003z\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\001\025\001\025\000\000\001\029\001\029\001\025\001\029\001\029\001\029\001\025\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\001\017\000\000\001\025\001\017\000\000\000\000\001\025\000\000\000\000\003r\000\000\003\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\001\017\001\017\000\000\000\000\000\000\001\017\000\000\000\000\000\000\001\017\000\000\000\000\001\025\000\000\001\025\001\017\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\000\000\001\025\000\000\001\017\000\000\000\000\000\000\001\017\000\000\000\000\003r\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\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\000\000\003z\000\000\001\017\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\003\242\003z\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\001\017\000\000\000\000\000\000\003b\003\138\000\000\001\017\001\017\001=\001\017\001\017\001\017\001=\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001=\001=\000\000\001=\003\250\000\000\000\000\003\242\000\000\001=\0011\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\0011\000\000\000\000\000\000\0011\000\000\000\000\003\154\000\000\001=\003j\000\000\000\000\0011\0011\000\000\0011\0011\000\000\000\000\001=\000\000\0011\000\000\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\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\003\162\000\000\000\000\001=\000\000\000\000\000\000\003z\000\000\003\154\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0011\000\000\001=\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\000\000\004\002\003\170\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\0011\000\000\000\000\001)\003z\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0011\000\000\0011\000\000\000\000\000\000\003b\003\138\000\000\0011\0011\001)\0011\003\170\0011\001)\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001)\001)\000\000\001)\001)\000\000\000\000\001\021\000\000\001)\001\021\000\000\000\000\001)\000\000\000\000\003r\000\000\003\130\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\003\154\000\000\001)\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\000\000\000\000\000\000\001\021\000\000\000\000\003r\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\000\000\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\000\000\003z\000\000\001\021\000\000\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\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\001\021\000\000\000\000\001\021\000\000\000\000\001!\003z\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\003b\003\138\000\000\001\021\001\021\001!\001\021\001\021\001\021\001!\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\001!\001!\000\000\001!\001!\000\000\000\000\001%\000\000\001!\001%\000\000\000\000\001!\000\000\000\000\003r\000\000\003\130\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\000\000\001!\000\000\001!\003j\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\001!\000\000\001%\000\000\000\000\000\000\001%\000\000\000\000\003r\000\000\003\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\000\000\001!\000\000\000\000\001!\000\000\000\000\000\000\003z\000\000\003\154\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!\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\001%\000\000\000\000\001%\000\000\000\000\003\242\003z\000\000\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\003b\003\138\000\000\001%\001%\0019\001%\001%\001%\0019\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\0019\0019\000\000\0019\003\250\000\000\000\000\001-\000\000\0019\001-\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\130\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\001-\000\000\000\000\000\000\001-\000\000\000\000\003\154\000\000\0019\003j\000\000\000\000\001-\001-\000\000\001-\001-\000\000\000\000\0019\000\000\001-\000\000\000\000\000\000\003\146\000\000\000\000\003r\000\000\003\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\000\000\003\162\000\000\000\000\0019\000\000\000\000\000\000\003z\000\000\003\154\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\0019\000\000\0019\000\000\000\000\000\000\000\000\000\000\000\000\0019\0019\000\000\0019\003\170\0019\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\003\162\002n\000\000\001-\002r\000\000\000\000\003z\000\000\000\000\000\000\000\000\000\000\000\000\n!\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\002~\001-\000\000\001-\000\000\000\000\002\138\002\142\000\000\002\150\001-\001-\000\000\001-\001-\001-\002\158\000\000\002\162\000\000\000\000\000\000\000\189\000\000\000\000\000\000\000\000\002\166\002\170\000\000\000\000\002\174\001f\002\178\000\000\000\000\002\182\002\186\000\000\000\000\002\190\002\194\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\198\000\000\000\000\003j\000\000\002\202\000\000\000\000\000\n\000\189\000\189\000\000\000\000\000\000\000\000\000\000\000\000\002\210\000\000\003\146\002j\000\000\003r\002n\003\130\000\000\002r\000\000\002\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\026\000\000\000\000\000\000\000\000\002\218\002z\000\000\000\000\002~\000\000\002\230\000\000\003\154\n!\002\138\002\142\000\000\002\150\000\000\002\246\000\000\000\000\000\000\000\000\002\158\002\238\002\162\000\000\000\000\000\000\023\198\000\000\000\000\000\000\000\000\002\166\002\170\000\000\000\000\002\174\001f\002\178\023\202\000\000\002\182\002\186\000\000\000\000\002\190\002\194\000\000\000\000\003\162\023\206\000\000\023\210\012a\012a\000\000\003z\000\000\000\000\000\000\023\214\000\000\000\000\002\198\000\000\000\000\023\218\000\000\002\202\023\226\000\189\000\n\000\000\023\230\000\000\000\000\000\000\000\189\000\000\023\234\002\210\000\000\000\000\000\000\000\000\000\189\003\170\000\000\000\000\000\000\023\198\002\214\000\000\012a\000\000\023\238\000\000\000\000\000\000\000\000\000\000\000\000\023\202\000\000\002\218\000\000\000\000\000\000\000\000\026\026\002\230\000\000\000\000\023\206\000\000\023\210\000\000\000\000\000\000\002\246\0125\000\000\012a\023\214\023\242\002\238\000\000\023\246\000\000\023\218\000\000\000\000\023\226\000\000\000\000\000\000\023\230\000\000\025F\000\000\023\250\000\000\023\234\000\000\000\000\023\254\000\n\024\002\000\000\024\006\024\n\000\000\024\014\026v\025\202\000\000\0125\000\000\023\238\024\018\000\000\000\000\024\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\024\026\000\000\000\000\000\000\000\000\024\030\024\"\012a\0125\000\000\023\242\000\000\000\000\023\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\250\000\000\000\000\000\000\000\000\023\254\000\n\024\002\000\000\024\006\024\n\000\000\024\014\000\000\000\000\000\000\000\000\000\000\000\000\024\018\000\000\000\000\024\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\024\026\000\000\000\000\000\000\000\000\024\030\024\"\0125\000R\000V\000f\000\170\000\000\000\174\012\218\000\178\000\186\000\194\001\006\012\222\001\014\001\022\000\000\001&\028V\001.\012\226\0016\001\230\001\238\001\242\012\230\028Z\002j\000\000\000\000\002n\000\000\000\000\002v\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\000\000\002~\000\000\000\000\002\002\000\000\000\000\002\138\t&\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\002\166\002\170\000\000\000\000\002\174\001f\002\178\000\000\000\000\002\182\002\186\002\022\000\000\002\190\002\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\198\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\n\000\000\000\000\000\000\002j\000\000\000\000\002n\000\000\002\210\002v\000\000\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\002\214\000\000\005i\000\000\000\000\000\000\002z\000\000\000\000\002~\000\000\000\000\000\000\002\226\000\000\002\138\t\022\000\000\002\150\002\230\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\002\234\000\000\000\000\000\000\000\000\000\000\002\238\000\000\002\166\002\170\000\000\000\000\002\174\001f\002\178\000\000\000\000\002\182\002\186\000\000\000\000\002\190\002\194\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\002n\000\000\000\000\002v\002\198\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\002\210\002~\000\000\000\000\000\000\000\000\000\000\002\138\b\254\000\000\002\150\002\214\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\002\226\000\000\000\000\000\000\002\166\002\170\002\230\000\000\002\174\001f\002\178\000\000\000\000\002\182\002\186\002\234\000\000\002\190\002\194\000\000\000\000\002\238\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\002n\000\000\000\000\002v\002\198\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\002\210\002~\000\000\000\000\000\000\000\000\000\000\002\138\002\206\000\000\002\150\002\214\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\016\017\002\226\000\000\016\017\000\000\002\166\002\170\002\230\000\000\002\174\001f\002\178\000\000\000\000\002\182\002\186\002\234\000\000\002\190\002\194\000\000\000\000\002\238\000\000\016\017\016\017\000\000\000\000\000\000\000\000\000\000\000\000\007^\000\000\000\000\000\000\002\198\000\000\000\000\016\017\000\000\002\222\000\000\016\017\000\n\016\017\016\017\000\000\000\000\007f\000\000\000\000\bj\002\210\000\000\016\017\000\000\000\000\016\017\000\000\016\017\000\000\000\000\000\000\002\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\226\000\000\000\000\000\000\000\000\000\000\002\230\000\000\016\017\000\000\000\000\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\000\000\000\000\002\238\000\000\000\000\b\202\000\000\000\000\000\000\bv\000\000\000\000\000\000\000\000\000\000\004\185\000\000\000\000\004\185\000\000\000\000\004\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\017\016\017\000\000\016\017\000\000\bz\000\000\016\017\004\185\000\000\000\000\004\185\000\000\000\000\000\000\000\000\b\130\004\185\004\185\000\000\004\185\016\017\000\000\000\000\000\000\016\017\016\017\004\185\000\000\004\185\000\000\000\000\016\017\000\000\000\000\000\000\016\017\016\017\004\185\004\185\000\000\000\000\004\185\004\185\004\185\000\000\000\000\004\185\004\185\000\000\000\000\004\185\004\185\000\000\000\000\000\000\002j\000\000\000\000\002n\000\000\000\000\002v\000\000\000\000\000\000\000\000\000\000\000\000\004\185\000\000\000\000\000\000\000\000\004\185\000\000\000\000\004\185\002z\000\000\000\000\002~\000\000\000\000\000\000\000\000\004\185\002\138\rB\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\166\002\170\004\185\000\000\002\174\001f\002\178\000\000\004\185\002\182\002\186\000\000\000\000\002\190\002\194\000\000\000\000\004\185\000\000\000\000\000\000\000\000\000\000\004\185\002j\000\000\000\000\002n\000\000\000\000\002v\002\198\000\000\000\000\000\000\000\000\002\222\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\002z\000\000\002\210\002~\000\000\000\000\000\000\000\000\000\000\002\138\015\254\000\000\002\150\002\214\000\000\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\000\000\002\226\000\000\000\000\000\000\002\166\002\170\002\230\000\000\002\174\001f\002\178\000\000\000\000\002\182\002\186\002\234\000\000\002\190\002\194\000\000\000\000\002\238\026b\000\000\026j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\026r\000\000\002\198\000\000\006\165\026\146\000v\002\222\000\000\006\165\000\n\006\165\023\202\000\000\000\000\000\000\006\165\006\165\000\000\002\210\000\000\000\000\000\000\023\206\000\000\023\210\000\000\000\000\000\000\000\000\002\214\000\000\000\000\023\214\000\000\000\000\000\000\000\000\000\000\023\218\000\000\000\000\023\226\002\226\000\000\000\000\023\230\006\165\000\000\002\230\000\000\006\165\023\234\000\000\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\000\000\000\000\002\238\000\000\000\000\006\165\023\238\026\154\000\000\001\210\000\000\000\000\000\000\000\000\000Z\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\006\165\006\165\006\165\000\000\000\210\023\242\000\000\006\165\023\246\006\165\000\000\000\000\000\000\006\165\006\165\006\165\000\000\000\000\000\000\000\000\000\000\023\250\000\000\000\000\006\165\000\000\023\254\000\n\024\002\006\165\024\006\024\n\000\000\024\014\006\165\000\000\001\026\000\000\000\000\006\165\024\018\006\165\000\000\024\022\000\000\006\165\006\165\006\165\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\026\000\000\000\000\000\000\000\000\024\030\024\"\006\165\000\000\000\000\000\000\002\026\000\000\000\000\006\165\000\000\000Z\006\165\006\165\006\165\000\000\006\165\000\000\006\165\000\000\000\000\006\165\006\165\006\165\000\000\000\000\006\165\006\165\006\165\000\000\000\000\000\000\000\000\000\000\006\165\000\000\006\165\000\000\005\162\000\000\006\165\000\000\000\000\000Z\000\000\000\000\006\165\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\006\165\000\000\000\000\000\000\006\165\006\165\006\165\000\000\000\000\000\000\000\000\006\165\000\000\006\165\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\006\165\006\165\000\000\000\000\006\165\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\000\000\006\165\000\000\000\000\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\165\000\000\000\000\006\165\006\165\000\000\000\000\006\165\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\000\000\006\165\004\209\004\209\004\209\004\209\000\000\004\209\000\000\004\209\004\209\004\209\004\209\000\000\004\209\004\209\000\000\004\209\000\000\004\209\000\000\004\209\004\209\004\209\004\209\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\004\209\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\004\209\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\209\000\000\000\000\000\000\001\250\000\000\004\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\209\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\004\209\000\000\002\130\000\000\000\000\002\134\000\000\004\209\000\000\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\000\002z\000\000\000\000\002~\000\000\002\022\000\000\000\000\000\000\002\154\007\002\004\209\002\150\000\000\000\000\000\000\000\000\000\000\002\"\002\158\000\000\002\162\000\000\000\000\000\000\002&\000\000\000\000\000\000\000\000\007\022\002\170\000\000\000\000\007\026\001f\002\178\000\000\000\000\007\030\007\"\006\165\006\165\007&\002\194\000\000\006\165\006\165\004\210\005&\000\n\006\165\006\165\006\165\006\165\000\000\004\209\000\000\006\165\006\165\006\165\007*\000\000\000\000\000\000\000\000\007.\000\000\000\000\000\n\002*\000\000\006\165\000\000\000\000\000\000\000\000\006\165\0076\005n\000\000\000\000\006\165\000\000\006\165\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\006\165\006\165\014\017\000\000\000\000\000\000\000\000\000\000\000\000\007:\000\000\000\000\000\000\000\000\000\000\007B\006\165\006\165\000\000\000\000\005\226\006\202\000\000\000\000\007F\000Z\000Z\006\165\006\165\006\165\002\238\006\165\000\000\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\006\165\006\165\006\165\000\000\000\000\000\000\006\165\000\000\000\000\006\165\006\165\000\000\000\000\006\165\006\165\000Z\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\006\165\006\165\000\000\006\165\000\000\000\000\000\000\006\165\006\165\000\000\006\165\006\165\000\000\000\000\000\000\006\165\006\165\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\006\165\000\000\006\165\006\165\000\000\006\165\006\165\006\165\000\000\006\165\006\165\000\000\000\000\000\000\006\165\006\165\006\165\000\000\000\000\006\165\006\165\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\165\000\000\000\000\006\165\006\165\000\000\000\000\006\165\000\000\000\000\000\000\000\000\006\165\006\165\000\000\000\000\000\000\006\165\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\230\001\238\001\242\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\250\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\002\002\000\000\002\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\002\"\000\000\006\022\000\000\000\000\000\000\000\000\002&\000\000\000\000\000\000\002\022\000\000\000\000\000\000\006\026\006\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\"\000\n\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.\002*\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\006&\002\181\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\000\000\000\000\000\000\000\000\000\000\005\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\002\018\000\000\000\000\000\000\006\165\000\000\006\022\000\000\000\000\006\165\000\000\006\165\000\000\000\000\000\000\002\022\006\165\006\165\000\000\006\026\006\030\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\006\"\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\006\165\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\tV\000\000\000\000\002\002\000\000\000Z\000\000\000\000\006\165\006&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\165\000\000\000\000\000\000\006\165\006\165\002\018\023\198\000\000\000\000\000\000\000\000\006\022\006\165\tq\000\000\000\000\006\165\000\000\023\202\000\000\002\022\000\000\000\000\000\000\006\026\006\030\000\000\006\165\000\000\023\206\000\000\023\210\000\000\000\000\000\000\000\000\000\000\006\165\000\000\023\214\006\"\000\000\006\165\000\000\000\000\023\218\000\000\000\000\023\226\000\000\000\000\000\000\023\230\000\000\000\000\000\000\000\000\000\000\023\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025B\000\000\000\000\000\000\000\000\023\238\006\165\000\000\000\000\006\165\006\165\000\000\000\000\006\165\000\000\000\000\006&\000\000\006\165\006\165\000\000\000\000\000\000\006\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0125\000\000\023\242\000\000\000\000\023\246\002\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\250\000\000\000\000\000\000\000\000\023\254\000\n\024\002\000\000\024\006\024\n\000\000\024\014\000\000\000\000\000\000\000\000\000\000\000\000\024\018\000\000\000\000\024\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\024\026\000\000\000\000\000\000\000\000\024\030\024\"\0125\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\230\001\238\001\242\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\250\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\002\002\000\000\029\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\000\000\029\026\006\030\000\000\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\029\022\000\000\000\000\000\000\000\000\006\"\000\000\000\000\000\000\002\022\000\000\000\000\000\000\029\026\006\030\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\006\"\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\029\030\001\014\001\022\001\250\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\000\000\000\000\004\249\000\000\029\030\000\000\000\000\001\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\002\002\000\000\029\022\000\000\tU\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\000\000\029\026\006\030\000\000\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\000\000\000\006\"\000\000\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\002\"\000\174\000\000\000\178\000\186\000\194\001\006\002&\001\014\001\022\000\000\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\030\000\000\000\000\000\000\000\n\000\000\001\250\000\000\000\000\000\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\002\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\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\006.\000\000\002\173\000\000\000\000\000\000\000\000\000\000\000\000\002\022\000\000\000\000\000\000\006\026\006\030\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\006\"\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002j\000\000\000\000\r:\000\000\001\250\r>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\002\000\000\002z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\rR\r^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\018\002\158\000\000\002\162\000\000\000\000\029&\000\000\t\129\000\000\000\000\000\000\rr\002\170\000\000\002\022\rv\001f\002\178\029\026\006\030\rz\r~\000\000\002j\r\130\000\000\015\246\000\000\000\000\015\250\000\000\000\000\000\000\000\000\006\"\000\000\000\000\000\000\000\000\000\000\000\000\r\134\r\138\000\000\000\000\002z\000\000\r\142\000\000\000\000\000\n\000\000\000\000\000\000\016f\016R\000\000\000\000\000\000\r\150\000\000\000\000\000\000\000\000\002\158\000\000\002\162\000\000\000\000\000\000\n\025\000\000\000\000\000\000\000\000\016j\002\170\000\000\000\000\016n\001f\002\178\n\025\r\154\016r\016v\000\000\000\000\016z\r\162\000\000\000\000\000\000\n\025\000\000\n\025\000\000\000\000\r\166\000\000\000\000\te\000\000\n\025\002\238\r\134\016~\000\000\000\000\n\025\000\000\016\130\n\025\000\000\000\n\000\000\n\025\024\158\000\000\000\000\000\000\000\000\n\025\016\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\217\000\000\000\000\000\000\000\000\000\000\n\025\000\000\000\000\000\000\000\000\000\000\b\217\000\000\000\000\016\142\000\000\000\000\000\000\000\000\000\000\016\150\000\000\b\217\000\000\b\217\000\000\000\000\000\000\000\000\016\154\000\000\000\000\b\217\000\000\n\025\002\238\000\000\n\025\b\217\000\000\000\000\b\217\000\000\000\000\000\000\b\217\000\000\000\000\000\000\000\000\n\025\b\217\000\000\000\000\000\000\n\025\n\025\n\025\000\000\n\025\n\025\000\000\n\025\000\000\000\000\000\000\000\000\b\217\026\154\n\025\000\000\000\000\n\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\025\000\000\000\000\007\133\000\000\n\025\n\025\000\000\000\000\b\217\000\000\000\000\b\217\000\000\000\000\007\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\217\007\133\000\000\007\133\000\000\b\217\b\217\b\217\000\000\b\217\b\217\007\133\b\217\000\000\000\000\000\000\000\000\007\133\000\000\b\217\007\133\000\000\b\217\000\000\007\133\000\000\000\000\025&\000\000\000\000\007\133\000\000\000\000\000\000\000\000\000\000\000\000\b\217\000\000\023\202\000\000\027\158\b\217\b\217\000\000\000\000\007\133\000\000\000\000\000\000\023\206\000\000\023\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\214\000\000\000\000\000\000\000\000\000\000\023\218\000\000\000\000\023\226\000\000\000\000\000\000\023\230\000\000\007\133\000\000\000\000\007\133\023\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\133\000\000\000\000\000\000\023\238\007\133\007\133\007\133\000\000\007\133\007\133\000\000\007\133\000\000\000\000\000\000\000\000\000\000\000\000\007\133\000\000\000\000\007\133\000\000\000\000\000\000\000\000\025>\000\000\000\000\000\000\000\000\000\000\023\242\000\000\000\000\023\246\007\133\000\000\023\202\000\000\000\000\007\133\007\133\000\000\000\000\000\000\000\000\000\000\023\250\023\206\000\000\023\210\000\000\023\254\000\n\024\002\000\000\024\006\024\n\023\214\024\014\000\000\000\000\000\000\000\000\023\218\000\000\024\018\023\226\000\000\024\022\000\000\023\230\000\000\000\000\023\198\000\000\000\000\023\234\000\000\000\000\000\000\000\000\000\000\000\000\024\026\000\000\023\202\000\000\000\000\024\030\024\"\000\000\000\000\023\238\000\000\000\000\000\000\023\206\000\000\023\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\214\000\000\000\000\000\000\000\000\000\000\023\218\000\000\000\000\023\226\000\000\000\000\000\000\023\230\000\000\023\242\000\000\000\000\023\246\023\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\250\000\000\000\000\000\000\025\246\023\254\000\n\024\002\000\000\024\006\024\n\000\000\024\014\000\000\000\000\000\000\000\000\000\000\000\000\024\018\000\000\000\000\024\022\000\000\000\000\000\000\000\000\023\198\000\000\000\000\000\000\000\000\000\000\023\242\000\000\000\000\023\246\024\026\000\000\023\202\000\000\000\000\024\030\024\"\000\000\000\000\000\000\000\000\000\000\023\250\023\206\000\000\023\210\000\000\023\254\000\n\024\002\000\000\024\006\024\n\023\214\024\014\000\000\000\000\000\000\000\000\023\218\000\000\024\018\023\226\000\000\024\022\000\000\023\230\000\000\000\000\023\198\000\000\000\000\023\234\000\000\000\000\000\000\000\000\000\000\000\000\024\026\000\000\023\202\000\000\000\000\024\030\024\"\000\000\000\000\027j\000\000\000\000\000\000\023\206\000\000\023\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\226\000\000\000\000\000\000\023\230\000\000\023\242\000\000\000\000\023\246\023\234\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\250\000\000\000\000\000\000\023\238\023\254\000\n\024\002\000\000\024\006\024\n\000\000\024\014\000\000\000\000\000\000\000\000\000\000\000\000\024\018\000\000\000\000\024\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\242\000\000\000\000\023\246\024\026\000\000\000\000\000\000\000\000\024\030\024\"\000\000\000\000\000\000\000\000\000\000\023\250\000\000\000\000\000\000\000\000\023\254\027\150\024\002\000\000\024\006\024\n\000\000\024\014\000\000\000\000\000\000\000\000\000\000\000\000\024\018\000\000\000\000\024\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\024\026\000\000\000\000\000\000\000\000\024\030\024\"\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\186\000\194\001\006\007\186\001\014\001\022\007\194\001&\000\000\001.\000\000\0016\001\230\001\238\001\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\210\007\218\000\000\001\250\000\249\000\000\000\000\000\249\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\226\000\000\000\000\002\002\0025\000\000\007\234\007\242\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\007\250\000\225\000\000\b\002\000\225\b\n\000\000\002\018\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\000\000\249\000\000\000\249\000\249\000\000\000\000\002\022\000\000\000\000\000\225\000\225\000\000\003\146\000\221\b\018\003r\000\221\003\130\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\n\214\000\000\000\225\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\000\221\000\221\000\000\000\225\000\000\003\154\003r\000\000\003\130\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\b\026\000\000\000\221\0025\000\221\000\221\000\000\b\"\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\225\003r\000\000\003\130\000\000\0025\000\000\000\000\000\000\0025\0025\000\000\003\162\000\000\000\000\000\249\000\000\000\000\000\000\003z\b*\b2\000\000\000\000\000\000\000\000\000\000\000\000\000\221\000\000\000\000\000\000\000\000\000\249\000\000\000\000\000\000\000\249\000\249\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\000\003z\000\249\003\170\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\225\000\000\000\000\000\000\000\225\000\225\000\000\000\221\000\000\000\000\000\221\000\000\000\000\000\000\003z\000\225\000\225\000\000\000\000\000\213\000\213\000\000\000\000\003\242\000\000\000\000\001\001\000\000\000\221\000\000\000\000\000\000\000\221\000\221\000\213\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\221\000\221\000\000\000\000\003b\003\138\000\000\000\213\003\242\000\000\003r\000\245\000\213\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\000\001\001\000\000\001\001\003\250\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\003\146\000\237\000\213\003r\000\237\003\130\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\000\000\245\000\000\000\245\000\245\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\003\146\000\000\003\154\003r\000\000\003\130\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\213\000\000\000\237\000\213\000\237\000\237\000\000\003z\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\003\154\003r\000\000\003\130\000\000\000\213\000\000\000\000\000\000\000\213\000\213\000\000\003\162\000\000\000\000\001\001\000\000\000\000\000\000\003z\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\003\154\000\000\000\000\000\000\000\000\001\001\000\000\000\000\000\000\001\001\001\001\000\000\003\162\000\000\000\000\000\245\000\000\000\000\000\000\003z\004\002\003\170\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\217\000\000\000\245\000\000\000\000\000\000\000\245\000\245\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\003z\000\245\003\170\000\000\000\000\000\217\000\217\000\000\000\000\000\229\000\000\000\000\000\229\000\000\000\237\000\000\000\000\000\000\000\237\000\237\000\217\000\000\000\000\000\000\000\217\000\000\000\217\000\217\000\000\000\237\000\237\000\000\000\000\003b\003\138\000\000\000\217\000\233\000\000\003r\000\233\000\217\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\000\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\229\003\242\000\217\003r\000\253\003\130\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\000\000\000\000\233\000\000\000\233\000\233\000\000\000\000\000\000\000\000\000\000\003b\003\138\000\000\000\233\000\000\000\229\003r\000\000\003\130\000\000\000\000\000\000\000\000\000\000\000\000\003j\000\000\000\217\000\000\000\253\000\217\000\253\003\250\000\000\003z\000\000\000\000\000\000\000\000\000\000\000\000\003\146\000\000\003\154\003r\000\000\003\130\000\000\000\217\000\000\000\000\000\000\000\217\000\217\000\000\000\229\000\000\000\000\000\229\000\000\000\000\000\000\003z\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\000\003\154\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\229\000\229\000\000\000\233\000\000\000\000\000\233\000\000\000\000\000\000\003z\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\241\000\000\000\233\000\000\000\000\000\000\000\233\000\233\000\165\003\162\000\000\000\000\000\253\000\000\000\000\000\000\003z\000\233\000\233\000\000\000\000\003b\003\138\000\000\000\000\000\161\000\000\000\000\000\000\000\000\000\253\000\000\000\165\000\165\000\253\000\253\003j\000\000\000\000\000\000\000\241\000\000\000\241\000\241\000\000\000\253\003\170\003j\000\000\000\161\000\161\000\153\003\146\000\165\000\165\003r\000\000\003\130\000\000\000\000\000\000\000\000\000\000\000\165\003j\000\000\003r\000\000\003\130\000\000\000\161\000\161\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\161\000\000\003\154\003r\000\000\003\130\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\165\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\003\242\000\000\003r\000\161\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000\241\000\000\000\000\000\000\003z\000\000\003b\003\138\000\165\000\000\000\000\000\153\000\000\000\000\000\000\003z\000\000\000\000\000\241\000\000\000\000\003j\000\241\000\241\000\000\000\161\000\000\000\197\003\250\000\165\000\000\003\242\003z\000\241\000\241\000\177\000\165\003\146\000\000\000\000\003r\000\000\003\130\000\000\000\165\000\165\000\161\000\000\000\000\000\000\000\000\000\153\000\000\000\161\000\000\003b\003\138\000\000\003z\003b\003\138\000\161\000\161\000\000\000\000\000\000\000\000\003\154\000\000\000\000\003j\000\000\000\153\000\000\003j\000\000\000\185\000\185\000\000\000\153\000\177\000\177\000\000\000\000\000\000\000\000\003\146\000\153\000\153\003r\000\177\003\130\000\000\003r\000\157\003\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000\000\000\000\000\000\000\000\003z\000\000\003\154\000\000\000\157\000\157\003\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\197\000\000\000\000\000\000\000\000\000\157\000\000\000\197\000\000\000\000\000\000\000\157\000\157\000\000\000\000\004\002\003\170\000\000\000\000\000\000\000\000\000\157\000\000\000\000\003r\000\000\000\157\000\000\003\162\000\000\000\000\000\000\000\177\000\000\000\000\003z\000\000\000\169\000\000\003z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\173\000\185\000\000\000\157\000\000\000\177\000\000\000\000\000\185\000\000\000\000\000\000\000\177\003b\003\138\000\000\000\185\003\170\000\000\000\000\000\177\000\177\000\000\000\000\003b\003\138\000\000\000\000\003j\000\000\000\000\000\000\000\000\000\000\000\169\000\169\000\000\000\000\003\242\003j\000\000\000\000\000\181\000\157\000\169\000\173\000\173\003r\000\000\003\130\003z\000\000\000\000\000\000\000\000\000\173\000\000\000\000\003r\000\000\003\130\000\000\003b\003\138\000\157\000\000\003b\003\138\000\000\000\000\000\000\000\157\000\000\000\000\000\169\000\000\000\000\003j\000\000\000\157\000\157\003j\000\000\000\193\003\250\003\154\000\000\000\181\000\181\000\000\000\000\000\000\000\000\003\146\000\000\000\000\003r\003\146\003\130\000\000\003r\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\169\000\000\000\000\000\000\000\000\000\000\000\000\003z\000\000\003\154\000\000\000\173\000\000\003\154\000\000\000\000\000\000\000\000\003z\000\000\000\000\000\169\000\000\000\000\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\000\000\173\000\000\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\003\162\000\000\000\000\000\000\003\162\000\000\000\000\003z\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\193\000\000\000\000\000\000\000\181\000\000\000\000\000\193\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\193\003\170\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\016\001\016\001\016\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\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\012\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\011\001\n\001\n\001\n\001\n\001\t\001\008\001\008\001\008\001\007\001\007\001\007\001\006\001\006\001\006\001\005\001\005\001\005\001\004\001\003\001\002\001\001\001\001\001\000\001\000\000\255\000\255\000\254\000\254\000\253\000\253\000\252\000\251\000\251\000\250\000\250\000\249\000\249\000\249\000\248\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\234\000\233\000\233\000\232\000\232\000\231\000\231\000\230\000\230\000\229\000\229\000\229\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\228\000\227\000\226\000\226\000\226\000\226\000\225\000\225\000\224\000\224\000\223\000\223\000\222\000\222\000\222\000\221\000\221\000\221\000\220\000\220\000\220\000\220\000\219\000\219\000\219\000\219\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\000\218\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\212\000\211\000\211\000\211\000\210\000\209\000\208\000\208\000\207\000\207\000\206\000\206\000\205\000\205\000\204\000\204\000\203\000\202\000\201\000\201\000\200\000\200\000\199\000\199\000\199\000\198\000\197\000\196\000\196\000\195\000\194\000\194\000\194\000\194\000\194\000\193\000\193\000\193\000\193\000\192\000\192\000\192\000\192\000\191\000\191\000\191\000\191\000\190\000\189\000\189\000\188\000\188\000\188\000\187\000\186\000\186\000\186\000\186\000\185\000\184\000\184\000\183\000\183\000\182\000\182\000\181\000\181\000\181\000\181\000\180\000\180\000\179\000\179\000\179\000\179\000\179\000\178\000\178\000\178\000\178\000\177\000\177\000\177\000\177\000\177\000\176\000\175\000\175\000\175\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\167\000\167\000\167\000\167\000\167\000\167\000\166\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\134\000\133\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000{\000z\000z\000z\000y\000y\000y\000x\000x\000x\000x\000w\000v\000u\000t\000s\000r\000q\000q\000p\000p\000p\000o\000o\000n\000n\000n\000m\000m\000l\000k\000k\000k\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000c\000c\000b\000b\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000\\\000\\\000[\000[\000Z\000Z\000Z\000Z\000Z\000Y\000Y\000X\000X\000X\000X\000W\000V\000U\000U\000U\000T\000T\000T\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000M\000M\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\000J\000J\000J\000J\000J\000J\000J\000J\000I\000I\000I\000I\000I\000H\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000G\000F\000F\000F\000E\000D\000C\000B\000B\000A\000A\000@\000?\000?\000?\000>\000>\000=\000=\000<\000;\000;\000;\000;\000;\000;\000;\000:\000:\000:\000:\000:\000:\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$\001$\001$\001#\001#\001#\001#\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001\"\001!\001!\001!\001!\001!\001!\001!\001!\001!\001!\001!\001!\001!\001!\001!\001 \001 \001 \001 \001 \001 \001 \001 \001 \001 \001 \001 \001 \001 \001 \001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\031\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\030\001\029\001\029\001\029\001\029\001\028\001\027\001\027\001\027\001\026\001\026\001\026\001\025\001\025\001\025\001\024\001\024\001\024\001\023\001\022\001\021\001\020\001\020\001\019\001\019\001\018\001\018\001\017\001\017\001\016\001\016\001\015\001\014\001\r\001\012\001\011\001\n\001\t\001\b\001\007\001\006\001\005\001\004\001\003\001\002\001\001\001\000\001\000\000\255\000\255\000\254\000\254\000\253\000\253\000\252\000\252\000\252\000\252\000\251\000\251\000\251\000\251\000\250\000\250\000\250\000\250\000\249\000\249\000\249\000\249\000\248\000\248\000\248\000\248\000\247\000\247\000\247\000\247\000\246\000\246\000\246\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\245\000\244\000\243\000\243\000\243\000\243\000\243\000\242\000\242\000\241\000\240\000\239\000\239\000\239\000\239\000\238\000\238\000\238\000\238\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\237\000\236\000\235\000\235\000\234\000\234\000\234\000\233\000\233\000\232\000\232\000\232\000\231\000\230\000\229\000\229\000\228\000\227\000\227\000\226\000\226\000\225\000\225\000\224\000\224\000\223\000\222\000\221\000\221\000\220\000\220\000\219\000\219\000\218\000\218\000\217\000\217\000\216\000\215\000\215\000\214\000\214\000\214\000\214\000\214\000\214\000\213\000\213\000\213\000\212\000\211\000\210\000\210\000\210\000\210\000\209\000\209\000\208\000\207\000\207\000\207\000\206\000\206\000\206\000\206\000\206\000\205\000\205\000\205\000\205\000\204\000\204\000\204\000\204\000\203\000\203\000\203\000\203\000\202\000\201\000\201\000\200\000\200\000\200\000\199\000\198\000\198\000\198\000\197\000\196\000\196\000\195\000\195\000\194\000\194\000\193\000\193\000\193\000\193\000\192\000\192\000\191\000\191\000\191\000\191\000\191\000\191\000\190\000\190\000\190\000\189\000\189\000\189\000\189\000\188\000\187\000\186\000\186\000\185\000\185\000\184\000\184\000\183\000\183\000\182\000\182\000\181\000\181\000\180\000\180\000\180\000\180\000\180\000\180\000\180\000\180\000\179\000\178\000\177\000\177\000\176\000\176\000\175\000\175\000\174\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\168\000\168\000\167\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\148\000\147\000\147\000\146\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\145\000\144\000\144\000\144\000\143\000\142\000\141\000\140\000\139\000\138\000\137\000\136\000\135\000\134\000\133\000\133\000\133\000\132\000\132\000\132\000\131\000\131\000\131\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000{\000{\000z\000z\000z\000y\000y\000x\000x\000x\000w\000w\000w\000v\000u\000u\000u\000t\000s\000s\000r\000r\000r\000r\000r\000r\000r\000q\000q\000q\000q\000q\000q\000q\000p\000p\000p\000p\000p\000p\000p\000o\000o\000o\000o\000o\000o\000o\000n\000n\000n\000n\000n\000n\000n\000m\000m\000m\000m\000m\000m\000m\000l\000l\000k\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000e\000d\000d\000c\000c\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000^\000^\000^\000]\000]\000\\\000\\\000\\\000\\\000[\000Z\000Y\000Y\000Y\000X\000X\000X\000W\000W\000W\000W\000W\000W\000V\000V\000V\000V\000V\000U\000U\000U\000U\000U\000U\000U\000T\000T\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000I\000H\000G\000F\000F\000E\000E\000D\000C\000C\000C\000B\000B\000A\000A\000@\000?\000?\000?\000?\000?\000?\000?\000>\000>\000>\000>\000>\000>\000>\000=\000=\000=\000=\000=\000<\000<\000;\000;\000;\000;\000:\000:\0009\0009\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000)\000(\000(\000(\000'\000'\000'\000'\000&\000&\000%\000$\000$\000$\000#\000#\000#\000#\000#\000#\000\"\000\"\000!\000!\000 \000\031\000\030\000\030\000\030\000\030\000\029\000\029\000\029\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\026\000\025\000\025\000\025\000\025\000\025\000\025\000\025\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\021\000\021\000\021\000\021\000\021\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\r\000\r\000\r\000\r\000\r")
   
   let goto =
-    ((16, "\000\193\000l\000\000\000\000\000\000\000G\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001C\000\182\000\000\001\019\000\197\000\000\000\000\000\000\000\139\000\000\000[\000\252\000\000\000\000\001t\000\000\001\166\000\000\000\000\000\000\001\206\000\000\002\018\000\000\000\000\000\000\000\000\003@\000\000\003R\003\134\000\000\000\000\004\132\000\000\004\172\000\000\000\000\000\000\005\166\000\000\005\182\000\000\005\208\000\000\006\000\006(\000\000\000\000\006J\000\000\006\200\000\000\000\000\000\000\000\000\007f\000\000\007n\000\000\000\000\007\218\000\000\008\018\000\000\000\000\000\000\008\026\000\000\000\160\008P\000\011\000\000\000\000\000\000\0072\002@\002\240\000\000\000\000\008\170\000\000\000\236\000\000\000\168\000\247\000\023\000\000\000\000\013\196\000\000\002\246\000\000\0028\004\128\000\160\011\002\000\160\003\148\031<\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\226\011\002\000\000\000\000\017\002\000\000\0188\000\000\001^\000\000\000\000\000\000\000\000\002R\000\000\018\144\000\000\000\000\014\156\000\000\023\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n,\000\000\011@\000\000\011D\000\000\015\144\000\000\019\236\000\000\019\240\000\000\023*\000\000\023>\000\000\028`\000\000!\030\000\000\006\026\000\000\006D\000\000\000\000\000\000\000\000\000\000#P\000\000)J\000\0006l\000\000\027v\000\000\000\000\028\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\008\228\000\000\000\000\t\"\000\000\t\132\t\202\000\000\000\000\t\208\000\000\t\218\000\000\000\000\000\000\t\222\000\000\t\224\000\000\000\000\t\230\000\000\t\246\n\016\000\000\000\000\n\024\000\000\n \000\000\000\000\000\000\n*\000\000\n,\000\000\n.\000\000\n2\nB\000\000\000\000\n\130\000\000\n\144\000\000\003\014\n\176\000\000\n\210\000\000\n\220\000\000\n\232\000\000\000\000\000\000\011\000\000\000\011\004\0056\000\000\011\014\000\000\000\194\006\154\000\000\002\216\000\000\004\006\000\000\000\000\007F\000\000\000\000\001\017\003z\000\000\000\000\000\000\000\000\003>\000\000\003P\000\000\008\168\000\000\002\026\000\000\000\000\000\000\000\000\000\000\000\000\008\208\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\0001\003\152\017\172\000\000\011\020\000\000\011\024\019\142\000\000\011\026\000\000\000\000\004\190\000\000\000\000\000\000\000\000\000\000\026\152\000\0000\026\000\000\000\000\000\000\003\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\144\000\000\000\000\000\000\000\000\000\000\000\000\006\160\031<\000\000\007\142\000\000\020\216\022\190\000\000\000\000\000\000\004@\000\000 2\000\000\000\0000r\000\000\000\000\000\000\005\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\128\000\000&\208\000\000\000\000\000\000\000\000\000\199\000\000\000\0000\186\000\000\000\000\000\000\000n\000s\000\000\000\000\000\000\000\000\000\000\000\000\0006\000\000\004\144\000\000\005\158\000\000\n~\000\000\011^\000\000\012\016\000\000\012\146\000\000\016\142\000\000\027\210\000\000\0302\000\000\014\144\000\000\004\012\000\000\031n\000\000%\172\000\000-\178\000\000\000\000\000\000\000\000\000\000\000\1710\200\000\000\000:\000\000\000\000\000}\001\132\000\000\001\028\000\000\000\000\000\000\005\190\000\000\000\000\000\000'(\000\000\000\000\000\000\000\000\000\000(\n\000\000\000\000\000\000\000\000\000\000\000\000\001\028\000\000\000\000\000\000\011(\020\254\000\000\011*\000\000\000\000\000\000\000\000\000\000\011,\000\000\000\000\000\129\007\166\000\000\008H\000\000\000\000\000\000\000}\000\000\012\206\001\196\011.\000\000\000\000\011:\000\000\011B\011F\000\000\000\000\011J\000\000\011N\000\000\000\000\000\000\011T\000\000\011V\000\000\000\000\011^\000\000\011d\011f\000\000\000\000\011v\000\000\011~\000\000\000\000\000\000\011\128\000\000\011\146\000\000\011\150\000\000\011\152\011\160\000\000\000\000\011\162\000\000\011\166\000\000\005\218\011\172\000\000\011\174\000\000\011\176\000\000\011\192\000\000\000\000\000\000\011\198\000\000\006\020\000\000\000\000\011\206\023\164\000\000\011\210\000\000\000\000\000`\000\000\000\000\003J\000\000\000\000\000\000\000\000\000\000\006&\025\134\000\000\011\218\000\000\011\224\030\"\000\000\011\228\000\000\000\000\012\236\011\236\000\000\000\000\011\238\000\000\012\004\012\018\000\000\000\000\012\030\000\000\012(\000\000\000\000\000\000\012*\000\000\012,\000\000\000\000\0122\000\000\012:\012<\000\000\000\000\012@\000\000\012B\000\000\000\000\000\000\012R\000\000\012T\000\000\012V\000\000\012X\012Z\000\000\000\000\012b\000\000\012d\000\000\007\008\012v\000\000\012z\000\000\012\154\000\000\012\160\000\000\000\000\000\000\012\162\000\000\012\164\"\028\000\000\012\168\000\000\000\000\007x#d\000\000\012\170\000\000\012\174&\028\000\000\012\176\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\252\000\000#\240\000\0001>\000\000\000\000\000Z\000\000\000\000\001\188\000\214\000\000\000\000\020H%\136\000\000\017$\017\030\000\000\000\000((\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\028((\000\000\029\184\000\000$\240\0120(\156\000\000\016\214\000\000\000\000\000\000\007\168\000\000 \214\000\000\000\0001^\000\000\000\000\000\000\007\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0001\212\000\0002\008\000\000\000\000\000\000(\242\000\000\000\000\000\000\022~\000\000\000\000\000\000\000\000\007\206\000\000\000\000\000\000\000\000\031\132\000\000\000\0005t\000\000\000\157\000\000\000\000\000\000\000\025\000\000\001\248\000\000\002\140\000\000\0042\000\000\008\146\000\000\t\164\000\000\014R\000\000\014\170\000\000\017\128\000\000\022\\\000\000\024@\000\000\027*\000\000\031\008\000\000\000\000\000\000\000\000\000\000\007:\000\000)\246\000\000*82X\000\000*\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004R\000\000\000\000\000\000\000\000\005z\000\000\004\216\000\000\000\000\024<\000\000\000\000\000\000*:\000\000\000\000\000\000\000\000\000\000\0258\000\000\000\000\000\000\000\000*\134\000\000\000\000\000\000\000\000\004\004\004r\000\000*\224\000\000\000\000\000\000\000\000\008\176\000\000*\254\000\000\000\000\000\000\000\000\000~\000\000\007|\000\000\015\178\006t(\214\000\000\000\000\000\000\013F\000\000\000\000\000\000\000\000\000\000\000\000\018\246(\214\000\000\021\170\000\000\024\234\013\248\000\000\000\000\000\000\0080\000\000 \240\000\000\000\0002L\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\0005\148\000\00060\000\000\000\000\000\000\001 \000\000\000\000\000\000\000\000\000\000\000\000\007b\000\000\016T\000\000\018\190\000\000\024h\000\000\025\152\000\000'\n\000\000-\170\000\000/r\000\000/\186\000\0005B\000\000+&\000\000\000&\000\0006\006\000\0006^\000\0006\186\000\000),\000\000\000\000\000\0002\152\000\000\000\000\000\000\004 \000\0002\158\000\000\000\000\000\0002\238\000\000\000\000\0010\000\000\024\200\000!\005\026\000\000\005:\000\000\013\144\002\n\008\014\000\000\000\000\000\000\000\000\000\000\000\000\000\0003\"\000\000$<$\000\008\142\000\000\000\000\000\000+\158\000\000+\234\000\000,D\000\000%$%H\002\154\000\144\008\170\000\000\000\000\000\000\002>\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\0003\162\000\000\000\000\000\000\000\000!<\000\000&\n\000\000\000\000\000\000\000\000\000\000\000\000\014\024\000\000\000\000\005\188\000\000\000\000\000\000\025v\002\164\000\000\026\016\000\000\000\000\008\176\000\000\002\196\000\000\000\000\014\198\000\000\026\206\000\000\000\000!\254\000\000\000\000\000\000\006\204\000\000\000\000\005\002\000\000\000\000\0266\000\000\000\000\000\000,j\000\000\000\000\000\000\027\222\000\000\000\000\000\000\000\000,\136\000\000\000\000\000\000\000\000\004>\011\144\000\000,\194\000\000\000\000\000\000\000\000\000\000\000\000\015N\000\000\000\000\002\238\000\000\015\204\000\000\006\204\000\000\000\000\001\130\tD\000\000\003\006\000\000\000\000\000\000\000\000\001 \000\000&$\000\000\026 \003H\027h\000\000\003h\000\000\016\192\000\000\017>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\254\028&\005\024\028\192\000\000\000\000\000\000\005\154\000\000\017\180\000\000\004\"\000\000\000\000\t\192\004\246\029n\000\000\006\136\000\000\0182\029~\000\000\000\000\019&\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\190\0082\000\000\0064\000\000\000\000\000\000\000\000\006V\000\000\019\164\000\000\000\000\000\000\"\1643\176\000\000\000\000\000\000 \024\000\000\000\000\000\000\000\000\0070\006`\000\000\000\000-\008\000\000\000\000\002\236\000\000\007\024\000\000\000\000\030>\000\000\000\000\000\000-.\000\000\000\000\000\000\000\000.\012\000\000\000\000\006\236\008\150\000\000\000\000.\016\000\000\000\000\006\206#\006\000\000\008\194\000\000\000\000.X\000\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\224\000\000\000\000\"n\000\000\000\000\000\000.\208\000\000\000\000\000\000\000\000.\238\000\000\000\000\008\182\t(\000\000\000\000/\024\000\000\000\000\008.\000\000\000\000\000\000\000\000\001 \000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002t\000\000\020,\000\000\000\000\000\00048\000\000\t\194\000\000\000\000\000\000\003\154\000\000\005\004\000\000\000\000\006\192\020\238\000\000\021v\000\000\000\000\000\000\008\008\000\0004F\00884`\000\0004\188\000\000\000\000\000\000\008l\000\0004\240\008t\000\000\000\000&\128\008\204&\230\000\000'B\000\000\000\000\000\000\t\020\000\0005\020\t\026\000\000\000\000\020\190\t\132!\192\000\000$\018\000\000\000\000\000\000\t\136\000\0005\128\t\184\000\000\000\000\000\000\000?\000\000\000\000\000\000\007v\000\000\000\000\000\000\000\000\000\000\000\000\005\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\002X\000\000\000\000\003\026\000\000\000\000\013h\000\000\000\000\000\000\000\000\007\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\013l\000\000\000\000\013B\000\000\000%\000\000\000\000\000\134\000\000\0052\012\246\002\156\000\000\000\000\003\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\252\018\016\000\000\000\000\005\\\000\000\000\000\000\000\021\156\000\000\000\000\0224\023\014\000\000\000\000\000\000\000\000\023\172\027\254\000w\000\000\031\246\000\000\000\000\000\000\000\000\000\000\000\000\008*\000\000\000\000\006\164\000\000\000\000\012\190\000\000\000\000\003n\000\000\000\000\012\194\000\000\000w\000\000\000\000\000\000\000\000\011\n \020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0138 \196\000\000\000\000\000\000\000\000#L\000\000\000\000\003\022\000\000\013z\000\000\000\000\000\000\t\238\000\000\000\186\000\000\000\000\000\000\017X\000\000\000\000\015l$N\011~\000\000$\152\000\000\000\000\000\000\000\000\013>\000\000\000\000\000\000\n4\000\000\001\170\013\016\004\016\000\000\000\000\000\000\008|\008J\000\000\000\000\000\000\000\000\002D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\132\000\000\000\000\016^\000\000\000\029\013\142\003\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\025\144\000\000\000\000\0248%b\000\000\000\000\000\000\000\000\0026\000\000\005\008\011\198\000\000\028\202\000\000\000\000\000\000\000\000\000\000\000\146!\012\000\000\000\000&\176\000\000\000\000\000\000\000\000\nV\000\000)\240\000\000\000\000\000\000\000\000\007D\000\000\000\000\000\000\006\242\000\000\000\000\001\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000/\174\000\000\000\000\000\000\005\028\000\000\000\000\000\000\000\000\000\000\000\004\004\150\007\150\008\220\000\000\005\186\005\212\t\004\t\134\000\000\000\000\000\000\000\000\000\000\000\000\006b\021\244\000\000\030d\007X\000\000\000\000\008\248\000\000\022\232\000\000)\226\000\000\000\000\008\160\023f\000\000\030t\000\000\008\176\031\"\000\000\000\000\000\000\004\242\005\186\000\000\000\000\000\000\000\000\0088\000\000\011<\000\000\000\157\011z\000\000\000\000\000\000\003>\000\000\003P\000\000\t\002\000\000\000\000\0032\000\000\000\000\000\000\000\000\n8\000\000\000\000\t\238\000\000\023\220\000\000\020\236\013L\000\000\000\000\000\000\000\000\000\000\000G\000\000\000\000\000\000\000\000\000\000/\250\000\000\000R\000\000\000\000\000\000\000\000\000\000\001\148\000\000\n\182\t\136\011\200\000\000\002\170\012F\000\000\n\146\000\000\003\164\000\000\004D\000\000\005>\000\000\020\236\000\000\000\000\000\000\000\000\000\000\005\222\000\000\n\162\000\000\006\216\000\000\020\236\013\174\000\000\004\222\000\000\013\160\012\138\000\000\tH\000\000\n\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\168\000\000\011\020\000\000\000\000\000\000\000\000\000\000\000\000\013\166\012\158\000\000\000\000\012\196\000\000\000\000\012\166\t\218\013\226\000\000\013\232\000\000\000\000\t\186\011P\000\000\012\220\000\000\000\000\013\018\000\000\000\000\000\000\000\000\000\000\000\000\013\222\012\204\000\000\000\000\000\000\012\238\012\212\n\166\n\156\012\240\013&\000\000\000\000\012\222\n\176\n\170\012\252\0138\000\000\000\000\n\138\000\000\000\000\000\000\000\000\014\008\000\000\000\000\000\000\014\016\000\000\000\000"), (16, "\003l\003\131\005\196\005\197\002\193\000\138\005?\002\197\0017\000\147\003:\005\164\005n\005o\000\007\000\018\000_\006\017\003l\003\131\002\164\004Z\004B\001.\005|\006|\000\025\000_\000a\001\225\000e\006}\005\198\001\186\000_\003l\003m\000\005\006~\001\212\004\019\000\017\005\199\001g\001\140\001h\005}\006\018\001B\006\019\006\168\006\169\005\128\005n\005o\0010\004\020\001\192\003n\000\013\000\140\000\140\003o\001\188\002\198\000\024\000\141\000g\002\199\0026\000\142\001g\000J\001~\004\020\005p\003n\000_\006\020\002\246\003o\002\164\006\144\001\210\000\016\000\017\001\143\001\194\006\021\002:\001\234\000\140\001\237\003n\000\028\006'\000\138\003o\000\151\000\140\000\147\005t\001i\000\004\006\173\002=\001j\001\141\001\236\005\127\001\236\004\137\000_\003\136\001/\001\181\005p\003N\000 \006\007\0029\000h\006\128\000_\004/\006\176\000\005\000\140\006\177\000_\001i\005}\001\013\002\245\001j\005u\001w\005\128\005n\005o\006\129\006\008\001\213\006\011\005n\005o\001/\001\186\003\253\001\141\000_\000f\000\140\000e\005\196\005\197\000J\000\141\003|\002\166\006P\000\142\002\212\004\002\001w\004\225\003\253\004\003\004\021\000g\003}\004\139\004h\006\145\002\213\000\152\003|\001\187\006/\000J\006\181\004\002\004V\000K\005\220\004\003\004\021\006\130\003}\000\151\000g\000\138\000\182\003|\005\199\000\139\006\131\000\153\004\007\001\012\006\156\005p\004C\003U\004b\003}\004\247\005p\0062\004\029\001\179\001\181\004y\001x\004:\003\140\004\007\005\140\003l\003\131\004\024\006\158\000\183\001\015\005\005\0016\000_\004\029\003\231\004\021\006\160\006\182\004:\003\140\000_\005v\006P\003\141\006~\006\183\004\019\001x\003\142\002\247\006\002\000\155\003\143\000\140\0024\000\184\003\168\003\144\000\141\000\185\000_\003\141\000\142\002\250\002=\000\157\003\142\001\192\001\186\005\t\003\143\001\142\000\152\000h\002\193\003\144\004\029\002\197\003\141\004\"\004\020\004:\003n\003l\003\131\003\232\003o\001\145\002;\001\183\000\151\006\202\003\144\001\144\000\153\000\031\000h\001\193\003\139\000_\002\165\001\150\000\008\002\164\004Z\004B\001g\000_\001\203\002H\001\214\006'\006\003\004Q\001\189\001\145\000\203\001\215\0065\000\183\001\146\002=\006\004\006\005\001\147\001\229\005\007\000\203\001\012\001\148\000\140\001\015\001E\0016\002\198\006\007\006H\006I\002\199\004\020\002\167\003n\000\155\004S\006\203\003o\000\184\005\254\002\193\005b\000\185\002\197\001\015\006M\0016\000\"\000\157\006\008\003+\006\011\005n\005o\000\140\003l\003\131\001i\000J\000\152\005\251\001j\004\016\005`\003\253\001\"\004\252\000J\005c\005n\005o\000_\000$\004\017\003|\006~\006\188\004B\004\023\004\002\001\027\000\153\005\131\004\003\004\021\006\204\003}\004i\003\136\004\017\001\181\001w\000(\001g\006\131\001~\000\140\004\248\006\206\004H\002\198\006P\006'\000J\002\199\001\213\000_\000a\000b\000e\004\017\004\020\002=\003n\004\007\005p\006(\003o\004\024\006\208\001\191\004\250\000\203\003\253\002\212\004\029\000*\006\199\006\210\001Q\004:\003\140\005p\003|\000J\005j\002\213\005\215\004\002\000_\0026\003\233\004\003\004\021\003:\003}\000g\004k\003-\000\140\003F\005k\001i\003\141\002H\004\\\001j\004V\003\142\005\216\0028\000J\003\143\005\219\005n\005o\005\132\003\144\001x\001\217\005\252\004\\\001g\004\007\001~\000_\006-\004C\000\144\004b\003l\003\131\005\182\001\131\004\029\000J\001w\004y\001$\004:\003\140\0029\003\232\001\028\000J\001\029\000_\000\203\002\212\004Q\006~\006\188\004B\003\253\005\183\002\247\006\147\005\186\005n\005o\002\213\002H\003\141\003|\003\234\0067\000J\003\142\004\002\002\252\006+\003\143\004\003\004\021\006\194\003}\003\144\005p\000\140\004R\000J\001i\001g\006\131\001h\001j\004\020\004\005\003n\003\197\003\198\001\026\003o\000\004\0017\000h\003\237\003\238\003\240\000J\005\134\002\193\006\193\004\007\002\197\000h\001\027\004C\003;\006\196\003l\003\131\001\131\001x\004\029\001w\000\005\006\198\005\131\004:\003\140\005p\000\251\0017\001\204\005\135\000_\000/\001\012\002\247\006~\006\188\004B\004\250\003G\000J\0003\001\134\000\140\0014\000\138\001i\003\141\002\254\000\147\001j\001-\003\142\001g\004\182\001h\003\143\001\015\003)\0016\001(\003\144\000\140\004d\001\144\002H\002\198\0002\004;\000J\002\199\004\020\000_\003n\002\166\005\008\006Z\003o\000J\004_\001w\004v\003\234\003\253\006\149\005\221\001\145\006\195\006\140\005\132\006\141\001\146\000\203\003|\000J\001\147\001<\001x\004\002\004v\001\148\000\140\004\003\004\021\006\194\003}\000\141\005\132\001\132\000\140\000\142\004x\001i\006\131\003\236\001O\001j\004\005\000_\003\197\003\198\001\134\006Z\004\253\001\028\004{\001\029\000_\000\203\004w\005\200\002\164\000J\004\007\007\013\003\197\003\198\004C\000\151\006\196\003l\003\131\004n\001\144\004\029\000J\001w\006\198\007\014\004:\003\140\000h\000_\000a\001\t\000e\000_\001x\002\165\001\198\006~\006\188\004B\003\253\002\212\001\145\000J\003N\005]\005^\001\146\005\007\003\141\003|\001\147\000J\002\213\003\142\004\002\001\148\001l\003\143\004\003\004\021\006\194\003}\003\144\005\149\001g\000h\001h\006\014\000g\006\131\0005\001\018\004\020\004\005\003n\004\133\003\197\003\198\003o\001\172\000\138\000h\002\166\004n\000\139\005\147\005n\005o\006\197\004\007\0007\000\152\005\244\004C\005\138\006\196\003l\003\131\006_\001x\004\029\001\145\003:\006\198\006R\004:\003\140\006S\001\183\003*\006e\006_\000_\000\153\002\166\001\148\006~\006\188\004B\000h\000\140\002\247\006W\001i\003\200\003H\000\138\001j\003\141\005\n\000\147\005\139\000h\003\142\003:\003\000\000\140\003\143\000\183\000_\003\199\000\141\003\144\003L\006\\\000\142\000\203\000\138\007\022\005p\000J\000\139\004\020\000h\003n\004\021\006[\001w\003o\003\197\003\198\000\155\001u\001C\003\253\000\184\004\148\001\145\006\205\000\185\004p\003l\003\131\000\151\003|\000\157\0030\004\017\006P\004\002\004\142\001\152\000\140\004\003\004\021\006\194\003}\000\141\000J\005\t\006\127\000\142\003F\001g\006\131\001|\004\029\004&\004\005\004\"\001\012\004:\004{\000\140\000\179\004\011\000_\001\014\000\141\000e\004\144\000_\000\142\000h\004\007\000;\003;\000J\004C\000\151\006\196\003l\003\131\000=\001\015\004\029\0016\000\140\006\198\003n\004:\003\140\005\176\003o\001x\004s\000?\000_\002,\004\142\000\151\006~\006\188\004B\003\253\000h\000g\0017\003;\000\140\000\152\002\166\001i\003\141\003|\006c\001j\003@\003\142\004\002\000C\002\031\003\143\004\003\004\021\006\194\003}\003\144\006b\004\143\002\193\003:\000\153\002\197\006\131\003D\004~\004\020\004\005\003n\000B\000_\000_\003o\003\136\001\223\001w\004\188\006g\003@\003l\003m\000_\006\209\004\007\006k\000\152\000E\004C\002B\006\196\000J\001\145\003l\003\131\004\029\004\017\003D\006\198\000J\004:\003\140\001g\000\182\001{\004\237\001\154\000\152\000\153\000_\001\197\004\164\000g\002\164\004Z\004B\002\238\005_\000h\003|\002\198\006?\000_\003\141\002\199\001\189\006Z\000\203\003\142\000\153\000_\003}\003\143\000\183\005\017\004\239\000\140\003\144\003n\005`\006C\006D\003o\003\138\005c\005n\005o\000J\001\"\004\020\000G\003n\005\019\001x\000\181\003o\000\155\005m\000\140\003\253\000\184\001i\004\165\001\027\000\185\001j\003l\003\131\001\012\003|\000\157\000J\000h\005k\004\002\004/\003\140\000\155\004\003\004\021\006\194\003}\000_\000J\003l\003\131\002\164\004Z\004B\006\131\000J\000\157\001\015\004\005\0016\001w\000_\005\174\003\141\000\203\000_\002\239\002x\003\142\002\164\004Z\004B\003\143\005p\004\007\000h\000_\003\144\004C\006A\006\196\0044\005\173\002\212\003\024\004\029\003\022\004\020\006\198\003n\004:\003\140\002\242\003o\000L\002\213\005\250\002\193\000N\0048\002\197\003\197\003\198\003|\000J\004\020\003\253\003n\000\140\003\197\003\198\003o\000J\003\141\003\025\003}\003|\005\251\003\142\004\173\002\245\004\002\003\143\002\143\000_\004\003\004\021\003\144\003}\005\000\004h\0017\004\170\001\015\004\187\0016\001%\001x\0011\005v\004\005\001\028\005\251\001\029\000_\000\203\004\237\002\201\002\166\006d\000_\000J\000Q\000\140\006Z\000J\004\007\002\198\006n\002\210\004C\002\199\004b\005\020\002\247\000J\002\236\004\029\000J\004\017\004\"\004\231\004:\003\140\006_\005q\004\238\000J\002\248\003\253\000S\005\019\003\141\006\\\000W\000\203\003l\003\131\005\027\003|\001\"\001\231\000J\000\203\004\002\003\141\003\146\003\253\004\003\004\021\003\142\003}\004f\004h\003\143\001\027\005\029\003|\004P\003\144\001\"\001\228\004\002\004\005\005\030\003q\004\003\004\021\005!\003}\004\141\004h\006\133\003z\001g\001\027\001h\005\252\000J\004\007\006u\004\005\005\029\004C\002\193\004b\005\029\002\197\006z\006_\004\029\006\185\002\238\004\"\003n\004:\003\140\004\007\003o\003l\003\131\004C\006\001\004b\006\227\002\212\000d\005\174\004\029\000\203\005)\004\"\003\215\004:\003\140\000_\000h\002\213\003\141\002\164\004Z\004B\001\233\003\142\000\203\005\177\003\230\003\143\005+\000h\000\140\006\157\003\144\001i\002\166\000\205\003\141\001j\000h\005\255\000\140\003\142\004\017\006\200\002\198\003\143\005,\006\146\002\199\005\218\003\144\005/\000\138\000h\003:\004\020\000\139\003n\003l\003\131\004\189\003o\006[\001%\005+\001&\000\208\001w\001\028\005\029\001\029\005\216\000\203\003O\000_\005\219\005n\005o\002\164\004Z\004B\006a\004\198\001%\003\253\001+\002\247\005\240\001\028\000h\001\029\003S\000\203\001g\003|\001h\006\\\004\216\000\203\004\002\003\002\001\192\006\227\004\003\005\237\0057\003}\005:\000\140\005\238\005\241\005n\005o\000\141\004\020\000\212\003n\000\142\004\005\006\255\003o\003l\003\131\0059\006\185\0059\005\238\005\241\005n\005o\005=\001\194\006\185\004\232\004\007\006\234\006\252\000_\006\145\005p\007\030\006~\002\212\004\019\001x\000\151\006`\003\253\005\029\000\140\000\211\003\140\001i\000\214\002\213\007\031\001j\003|\000\216\000\138\000\220\000\222\004\002\000\147\000\225\000h\004\003\004\021\004/\003}\005\004\004h\000\229\003\141\005p\000_\006\191\004\020\003\142\003n\006\227\004\005\003\143\003o\006\207\000\228\001w\003\144\007\006\000\231\000\138\005p\000\138\000\233\000\139\006\201\000\139\004\007\000\237\000\239\000\241\004C\000\245\004b\000_\001g\003\253\001h\004\029\0044\000\244\004\"\001}\004:\003\140\000\140\003|\005\195\005n\005o\000\141\004\002\000\152\002\247\000\142\004\003\004\021\0048\003}\006\154\004h\006\254\007\018\006\228\006\227\000_\003\141\003\004\007\017\007\025\004\005\003\142\000\247\007\024\000\153\003\143\000\140\007\007\000\140\000\249\003\144\000\141\000\151\000\141\000\005\000\142\004\007\000\142\003l\003\131\004C\000\140\004b\001x\001i\000\252\002\166\004\029\001j\003\253\004\"\006\147\004:\003\140\000_\005\229\005n\005o\006~\003|\004\019\005p\000\254\000\151\004\002\000\151\000J\001\000\004\003\004\021\006\187\003}\000\155\001\002\001g\003\141\001h\006<\001w\006\131\003\142\007\006\006\139\006\190\003\143\001\006\000\159\001F\007\006\003\144\002\193\006\230\001\011\002\197\004\020\001;\003n\001A\001@\004\007\003o\003l\003\131\004\024\006\192\001\222\001\221\001\227\001\241\000\152\004\029\001\145\006\186\006\198\001\244\004:\003\140\000_\001\248\005p\001\247\006~\001\250\004\019\001\252\001\156\001T\002\000\002\002\007\007\000\140\000\153\002\005\001i\007\007\002\t\002\008\001j\003\141\001g\000\152\001h\000\152\003\142\002\011\006\232\000\140\003\143\002\013\002\017\002\198\001\195\003\144\000\203\002\199\001x\000\183\004\020\002\019\003n\002\021\002\025\000\153\003o\000\153\002\024\002\027\001w\002\029\003l\003\131\002 \002\"\002$\006\150\006\189\006\151\000h\006\140\000\155\006\141\002&\000\203\000\184\002*\000_\003\253\000\185\0023\002\164\0022\004\019\005\185\000\157\002A\000\140\003|\002G\001i\002F\002\138\004\002\001j\002J\002M\004\003\004\021\006\187\003}\006\140\000\155\006\141\000\155\000\203\005\183\002Q\006\131\005\186\005n\005o\006\190\004<\002P\001\145\000\161\004\020\000\163\003n\002S\003l\003m\003o\001w\002U\002Y\002[\004\007\001\158\002^\004@\004\024\006\192\002b\002a\001x\002d\002f\004\029\002\212\003\253\006\198\005\182\004:\003\140\002j\002l\002n\002r\002q\003|\002\213\005\012\002t\002v\004\002\004\136\003l\003\131\004\003\004\021\006\187\003}\002y\005\183\002{\003\141\005\186\005n\005o\006\131\003\142\005p\000_\006\190\003\143\000\140\002\164\003n\004\019\003\144\002}\003o\000\138\002\127\002\131\002\137\001\209\002\136\002\142\004\007\002\148\002\147\005h\004\024\006\192\005\144\005{\005\137\005\179\001x\004\029\005\214\001\145\006\198\005\236\004:\003\140\003\253\003l\003m\005\246\006\016\004\020\006\166\003n\006\212\001\160\003|\003o\002\215\006\216\006\235\004\002\006\239\003l\003\131\004\003\004\021\003\141\003}\005p\006\240\004\012\003\142\006\245\006\246\006\251\003\143\000\140\006\250\000_\004}\003\144\000\141\002\164\004\014\004\019\000\142\004\134\007\002\007\004\007\n\004\136\002\193\007\011\007\015\002\197\004\007\007\016\007\019\007\020\004\024\004\127\007\023\000\140\007\026\003n\001\145\004\029\007\027\003o\004\"\007#\004:\003\140\000\151\007'\003|\000\000\000\000\004\020\001\162\003n\000\000\000\138\000\000\003o\000\000\000\147\003}\000\138\000\000\000\000\000\000\000\149\000\000\003\141\002\193\000\000\000\000\002\197\003\142\000\000\000\000\003\253\003\143\000\000\000\000\000\000\000\140\003\144\003l\003\131\002\198\003|\000\000\000\000\002\199\000\000\004\002\004\026\000\000\000\000\004\003\004\021\000\138\003}\000_\000\000\001V\000\000\002\164\004\027\004B\005\206\000\000\000\000\000\000\004}\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\140\000\000\000\000\000\142\000\000\000\141\000\152\000\140\004\007\000\142\003\130\002\198\004\024\004\127\000\000\002\199\001\170\000\000\000\000\004\029\003|\004\020\004\"\003n\004:\003\140\003\253\003o\000\153\000\000\000\000\000\151\003}\003l\003\131\000\140\003|\000\151\000\000\000\000\000\141\004\002\004E\000\000\000\142\004\003\004\021\003\141\003}\000_\000\000\000\000\003\142\002\164\004\027\004B\003\143\000\000\000\000\000\000\004G\003\144\000\000\000\000\000\000\002\212\000\138\000\000\000\000\000\000\000\139\000\000\000\151\000\000\000\000\000\000\004\007\002\213\000\000\005\237\004\024\004I\000\000\003l\003\178\000\000\000\000\004\029\000\000\004\020\004K\003n\004:\003\140\000\000\003o\003l\003\131\000\000\003~\000\000\005\238\005\241\005n\005o\004J\000\000\000\000\000\152\002\212\000\000\000\000\000_\003\253\000\152\003\141\002\164\004\027\004B\000\000\003\142\002\213\000\140\003|\003\143\000\182\000\000\000\141\004\002\003\144\000\153\000\142\004\003\004\021\000\000\003}\000\153\006\006\000\000\000\140\000\000\003n\000\000\000\000\000\000\003o\002\247\004\005\000\000\000\152\000\000\000\000\004\020\000\000\003n\000\183\000\000\000\000\003o\000\151\003\006\000\154\000\000\004\007\003l\003m\005p\004C\000\000\004D\000\000\000\153\000\000\000\000\004\029\000\000\000\000\004\"\000\155\004:\003\140\003\253\000\184\000\000\000\155\000\000\000\185\000\000\000\000\000\194\002\247\003|\000\157\001g\000\000\001h\004\002\000\000\000\157\006\n\004\003\004\021\003\141\003}\003\008\000\000\000\000\003\142\000\000\000\000\000\000\003\143\000\000\000\000\000\000\004\005\003\144\000\000\003l\003\131\000\140\006\008\003n\006\011\005n\005o\003o\000\000\000\000\002\193\000\000\004\007\002\197\000\000\000_\004C\000\152\004D\002\164\004Z\004B\003|\004\029\000\000\003\253\004\"\000\000\004:\003\140\000\140\000\000\000\138\001i\003}\003|\001S\001j\000\000\000\153\004\002\000\000\000\000\000\000\004\003\004\021\000\138\003}\000\000\002\193\000\147\003\141\002\219\006\024\000\000\004\020\003\142\003n\000\000\004\005\003\143\003o\003l\003\131\000\000\003\144\000\140\001w\005p\000\000\002\198\000\000\000\000\000\000\002\199\004\007\000\000\000\000\000_\004C\000\000\004D\002\164\004Z\004B\000\000\004\029\000\155\000\140\004\"\000\000\004:\003\140\000\141\000\000\002\193\000\000\000\142\002\197\000\000\000\000\000\165\000\140\003|\005\182\000\140\000\000\000\141\000\000\002\198\000\000\000\142\000\000\002\199\003\141\003}\000\000\000\000\004\020\003\142\003n\003l\003\131\003\143\003o\000\151\005\183\000\000\003\144\005\186\005n\005o\000\000\000_\000a\0019\000e\000_\000\000\000\151\000\000\002\164\004Z\004B\001x\000\000\000\000\003\253\000\000\000\000\000\000\000\140\000\000\000\000\000\000\002\198\000\000\003|\000\000\002\199\002\173\000\000\004\002\000\000\000\000\000\000\004\003\004\021\002\212\003}\000\000\004a\000\000\000g\000\000\000\000\000\000\004\020\000\000\003n\002\213\004\005\003\141\003o\003l\003\131\000\000\000\138\000\000\000\000\000\000\001R\000\000\005p\000\000\000\000\003\148\004\007\000\000\005\146\000_\004C\000\152\004b\002\164\004\128\004B\002\212\004\029\000\000\003\253\004\"\001\145\004:\003\140\000\000\000\152\000\000\000\000\002\213\003|\005\147\005n\005o\000\153\004\002\001\164\000\000\000\000\004\003\004\021\000\138\003}\001\183\004c\000\147\003\141\000\000\000\153\000\000\004\020\003\142\003n\000\140\004\005\003\143\003o\000_\000\141\002\214\003\144\000\000\000\142\002\212\003l\003m\000\000\000\000\000\000\000\000\004\007\000\000\000\000\000\183\004C\002\213\004b\000\000\000\000\003\253\000\000\004\029\000\000\000\000\004\"\000\000\004:\003\140\004\130\003|\000\151\000\000\003l\003\129\004\002\005p\000\155\000\140\004\003\004\021\000\184\003}\000\141\004u\000\185\000\000\000\142\005\224\000\000\003\141\000\157\000\000\000\000\004\005\003\142\001\012\003l\003\131\003\143\000\000\000\140\000\000\003n\003\144\000\000\000\000\003o\000\000\000\000\004\007\000\000\000\000\000_\004C\000\151\004b\002\164\004\128\004B\001\015\004\029\0016\003\253\004\"\002\247\004:\003\140\000\000\000\140\000\000\003n\000\000\003|\000\000\003o\000\000\000\000\004\002\003\n\000\000\000\000\004\003\004\021\000\000\003}\000\000\000\000\000\152\003\141\000\000\000\000\000\000\004\020\003\142\003n\000\000\004\005\003\143\003o\003l\003\131\000\000\003\144\000\000\000_\000a\001>\000e\004\150\000\153\000\000\000\000\004\007\000\000\000\000\000_\004C\000\000\004\131\002\164\004\027\004B\005\150\004\029\000\000\000\000\004\"\000\000\004:\003\140\004\132\000\152\000\000\000\000\000\000\000\138\000\000\000\138\000\000\000\139\000\000\000\139\003|\000\000\000g\000\197\000\198\000\200\000\201\000\000\000\000\003\141\000\000\000\153\003}\004\020\003\142\003n\000\000\000\000\003\143\003o\000\000\000\000\000\000\003\144\000\000\003l\003\131\000\000\003|\000\000\000\000\000\202\000\000\000\203\000\000\000\000\000\183\000\000\000\000\000\138\003}\000_\003\253\000\147\000\000\002\164\000\000\004\019\000\000\000\140\000\000\000\140\003|\000\000\000\141\000\000\000\141\004\002\000\142\000\155\000\142\004\003\004\021\000\184\003}\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\001G\004\005\000\000\000\000\003\141\000\000\004\020\000\000\003n\000\000\000\000\000\151\003o\000\151\000\000\000\000\000\000\004\007\003\150\000\000\000\140\004C\000\000\004\131\000\000\000\141\000\000\000\000\004\029\000\142\003\253\004\"\000\000\004:\003\140\000\000\001g\000\000\001z\000_\003|\000\000\004\254\002\164\000\000\004\002\004\136\003l\003\131\004\003\004\021\000\000\003}\000\000\000\000\000\000\003\141\000\151\000\000\001\012\000\000\003\142\000\000\000_\004\005\003\143\006_\002\164\000\000\004\019\003\144\000_\000a\001\219\000e\000\000\000\000\000\000\000\000\003N\004\007\000\000\002\166\001\015\004C\0016\004D\000\000\000\152\000\000\000\152\004\029\000\140\000\000\004\"\001i\004:\003\140\003\253\001j\000\000\000\000\003:\004\020\000\000\003n\000\000\000\000\003|\003o\000\153\000g\000\153\004\002\000\000\003l\003\131\004\003\004\021\003\141\003}\000\000\000\000\000\000\003\142\000\000\003&\000\000\003\143\001w\000\000\000_\004}\003\144\000\152\002\164\000\000\004\019\000\000\005\014\000\000\003l\003\128\004\136\000\000\000\000\000\000\000\000\004\007\000\000\000\000\002\234\004\024\004\127\000\000\000\000\000\153\000\000\000\155\004\029\000\155\000\000\004\"\000\000\004:\003\140\005\146\000\000\000\000\000\000\000\000\004\020\000\167\003n\000\169\000\000\000\000\003o\003l\003\131\000\000\000\183\000\000\000\000\000\000\000\000\000\000\003\141\005\147\005n\005o\004\021\003\142\000\000\000_\003\253\003\143\000\140\002\164\003n\004\019\003\144\000\000\003o\000\155\003|\001x\005\016\000\184\000\000\004\002\004\136\000\185\000h\004\003\004\021\004/\003}\000\157\000\000\000\000\000\000\000\000\006c\000\000\0052\000\000\000\000\000\000\004}\002\193\000\000\004\029\002\197\004\020\004\"\003n\004:\000\000\000\000\003o\000\000\005\146\001\012\000\000\004\007\000\000\000\138\000\000\004\024\004\127\000\147\005p\000\000\000\000\000\000\004\029\0044\000\000\004\"\000\000\004:\003\140\003\253\005\147\005n\005o\001\015\000\000\0016\006h\000\000\000\000\003|\004\136\0048\000\000\000\000\004\002\001g\006\007\001h\004\003\004\021\003\141\003}\000\140\000\000\000\000\003\142\002\198\000\000\000\000\003\143\002\199\000\000\000\000\004}\003\144\003|\003l\003\131\006\008\000\140\006\011\005n\005o\000\000\000\141\006p\000\000\003}\000\142\004\007\000\000\000\000\000_\004\024\004\127\000\000\002\164\004\027\004B\000\000\004\029\000\000\003\253\004\"\005p\004:\003\140\000\000\000\000\000\138\000\000\000\140\003|\000\139\001i\000\000\000\151\004\002\001j\000\138\000\000\004\003\004\021\000\139\003}\000\000\000\000\005\146\003\141\000\000\000\000\000\000\004\020\003\142\003n\005\153\004}\003\143\003o\003l\003\131\000\000\003\144\000\000\005p\000\000\000\000\000\000\001w\005\147\005n\005o\004\007\000\000\000\000\000_\004\024\004\127\000\000\002\164\000\000\004\019\000\000\004\029\002\212\000\140\004\"\000\000\004:\003\140\000\141\000\000\000\000\000\000\000\142\000\140\002\213\000\138\000\000\000\000\000\141\000\149\000\000\000\000\000\142\002\232\000_\000a\0020\000e\000\000\003\141\000\000\000\152\000\000\004\020\003\142\003n\003l\003\131\003\143\003o\000\151\000\000\000\000\003\144\005\146\006\159\000\000\000\000\002\234\005\159\000\151\005p\000_\000\153\000\000\000\000\002\164\004\027\004B\000\000\000\000\000\000\003\253\001x\000g\000\000\005\147\005n\005o\006v\000\000\000\140\003|\004\136\000\000\000\000\000\141\004\002\000\183\000\000\000\142\004\003\004\021\002\247\003}\000\000\002\193\006\022\000\000\002\197\000\000\000\000\004\020\000\000\003n\000\000\004\005\003\012\003o\000\000\000_\000\155\000\000\000\000\000\000\000\184\003l\003m\000\151\000\185\000\000\005\182\004\007\000\000\000\000\000\157\004C\000\152\004D\000\000\000\000\000\000\000\000\004\029\000\000\003\253\004\"\000\152\004:\003\140\005p\001y\000\000\005\183\000\000\003|\005\186\005n\005o\000\153\004\002\000\000\000\140\000\000\004\003\004\021\002\198\003}\000\000\000\153\002\199\003\141\000\000\004\145\003l\003\131\003\142\000\000\005\157\004}\003\143\000\000\000\140\000\000\003n\003\144\001\"\000\000\003o\000\000\000_\003l\003\127\000\000\002\164\004\007\004B\000\000\000\000\004\024\004\127\001\027\000\000\000\000\003\253\000\152\004\029\000\155\000\000\004\"\000\000\004:\003\140\000\000\003|\000\000\001\012\000\155\000\000\004\002\005p\000\171\000\000\004\003\004\021\000\000\003}\000\153\000\000\000\000\004\020\000\173\003n\000\000\003\141\000\000\003o\000\000\004\005\003\142\001\015\000\000\0016\003\143\000\000\000\000\000_\000\140\003\144\003n\000\000\000\000\000\154\003o\004\007\000\000\000\000\005\170\004C\000\000\004D\003l\003\131\000\000\002\212\004\029\000\000\000\000\004\"\000\000\004:\003\140\000\000\004F\000\000\000\155\002\213\000_\003l\003m\000\156\002\164\000\000\004\019\003|\000_\000a\002?\000e\000\157\000\000\000\000\000\000\003\141\000\000\000\000\003}\000\000\003\142\000\000\000\000\000\000\003\143\000\000\006\007\000\000\000\000\003\144\000\000\001%\000\000\0033\001\"\000\000\001\028\000\000\001\029\004\020\000\203\003n\000\000\000\000\003\253\003o\006!\000g\006\008\001\027\006\011\005n\005o\000\000\003|\000\000\000\140\000\000\003n\004\002\003l\003\131\003o\004\003\004\021\000\000\003}\002\247\003l\003\131\000\000\003|\004\018\000\000\000\000\000\000\000_\000\000\004\147\000\000\002\164\003\014\004\019\003}\000_\003\141\000\000\000\000\002\164\000\000\004\019\000\000\000\000\000\000\004\007\000_\000\000\000\000\004C\003\152\004\149\000\000\000\000\000\000\000\000\004\029\000\000\000\000\004\"\000\000\004:\003\140\000\000\000\000\005p\000\000\004\020\000\000\003n\000\000\000\000\000\000\003o\000\000\004\020\000\000\003n\000\000\000\138\000\000\003o\003\253\000\147\003\141\000\000\000\000\000\000\000\000\003\142\000\000\000\000\003|\003\143\000\000\000_\000\000\004\002\003\144\000\000\000\000\004\003\004\021\000\000\003}\000\000\003l\003\131\001%\003|\003=\000\000\001\"\001\028\000\000\001\029\004\022\000\203\004\028\000\000\000\000\003}\000_\000\000\000\000\000\000\002\164\001\027\004\019\000\000\001\012\000\000\004\007\000\000\000\000\000\140\004\024\004\025\000\000\000\000\000\141\000\000\000\000\004\029\000\142\000\000\004\"\000\000\004:\003\140\000\000\000\000\002\193\000\000\001\015\002\197\0016\000\000\000\000\003\253\000\000\000\000\004\020\000\000\003n\000\000\000\000\003\253\003o\003|\006\027\003\141\000\151\000\000\004\002\000\000\003\142\003|\004\003\004\021\003\143\003}\004\002\003l\003\131\003\144\004\003\004\021\003\141\003}\000\138\000\000\000\000\004\022\000\149\004e\000\000\000\000\000\000\000_\000\000\004^\003\154\002\164\000\000\004\019\000\000\000\000\000\140\004\007\000\000\000\000\002\198\004\024\004\025\000\000\002\199\004\007\000\000\000\000\004\029\004\024\004`\004\"\000\000\004:\003\140\000\000\004\029\000\000\000\000\004\"\000\000\004:\003\140\001%\001g\004)\001h\004\020\001\028\003n\001\029\000\000\000\203\003o\000\140\000\000\003\141\000\152\000\000\000\141\000\000\003\142\003\253\000\142\003\141\003\143\000_\000\000\000\000\003\142\003\144\001I\003|\003\143\000\201\000\000\000\000\004\002\003\144\000\153\000\000\004\003\004\021\000\000\003}\000\000\003l\003\131\000\000\000\000\000\000\000\151\000\000\000\000\000\000\000\000\004\022\000\000\005\146\000\202\000\140\000\203\000_\001i\000\183\000\000\002\164\001j\004\019\000\000\000\000\000\000\004\007\000\000\000\000\000\138\004\024\004\025\002\212\000\139\005\147\005n\005o\004\029\000\000\000\000\004\"\000\155\004:\003\140\002\213\000\184\001\"\000\000\000\000\000\185\000\000\001w\000\000\003\253\000\000\000\157\004\020\001G\003n\000\000\000\000\001\027\003o\003|\000\000\003\141\000\000\000\000\004\002\000\000\003\142\000\000\004\003\004\021\003\143\003}\000\000\003l\003\131\003\144\000\000\004]\000\152\000\000\000\138\000\140\000\000\004^\000\149\000\000\000\141\000\000\000\000\000_\000\142\000\000\000\000\002\164\005p\004\019\000\000\000\000\000\000\004\007\000\153\000\000\000\000\004\024\004`\000\000\000\000\000\000\006\007\002\247\004\029\000\000\000\000\004\"\000\000\004:\003\140\000\000\000\151\002\193\000\000\000\000\002\218\003\016\001x\000\154\000\000\000\000\000\000\004\020\006\008\003n\006\011\005n\005o\003o\000\140\000\000\003\141\000\000\000\000\000\141\000\000\003\142\003\253\000\142\000\000\003\143\000\155\000\000\000\000\000\000\003\144\000\193\003|\000\000\000\000\000\000\000\000\004\002\003l\003\131\000\157\004\003\004\021\001%\003}\0041\003l\003\131\001\028\004q\001\029\000\151\000\203\000\140\000_\000\000\004r\002\198\002\164\000\000\004\019\002\199\000_\000\000\000\000\000\000\002\164\000\000\004\019\000\000\001\145\000\000\004\007\000\152\005p\002\193\004\024\004t\002\217\005\168\000\000\000\000\000\000\004\029\001\166\000\000\004\"\000\000\004:\003\140\000\000\000\000\000\000\000\000\004\020\000\153\003n\000\000\000\000\003\253\003o\000\000\004\020\000\000\003n\000\000\000\000\000\000\003o\003|\000\000\003\141\000\000\000\000\004\002\000\000\003\142\000\000\004\003\004\021\003\143\003}\000\000\000\000\000\000\003\144\000\000\004o\000\152\000\000\000\000\000\140\000\000\004^\004|\002\198\001g\000\000\001h\002\199\000\000\000\000\004\129\000\155\000_\000a\002D\000e\000\000\004\007\000\153\000\000\000\000\004\024\004`\002\212\000\000\000\175\000_\000\000\004\029\003l\003\131\004\"\000\000\004:\003\140\002\213\000\000\003l\003\131\000\000\006l\000\000\000\000\000\154\000\000\000_\000\000\006)\006x\002\164\000\000\004\019\000g\000_\003\253\000\000\003\141\002\164\000\000\004\019\000\140\003\142\003\253\001i\003|\003\143\000\155\001j\000\000\004\002\003\144\000\196\003|\004\003\004\021\000\000\003}\004\002\000\000\000\000\000\157\004\003\004\021\000\000\003}\004\020\000\000\003n\004}\000\000\000\000\003o\001\"\004\020\000\000\003n\004}\001w\000\000\003o\000\000\002\212\000\000\000\000\004\007\000\000\000\000\001\027\004\024\004\127\000\000\002\193\004\007\002\213\002\197\004\029\004\024\004\127\004\"\000\000\004:\003\140\000\000\004\029\003l\003\131\004\"\000\000\004:\003\140\000\000\000\000\000\000\000\000\000\000\006{\000\000\000\138\000\000\000\000\000_\000\147\000\000\003\141\002\164\000\000\004\019\000\000\003\142\000\000\000\000\003\141\003\143\000_\000\000\000\000\003\142\003\144\000\000\000\000\003\143\000\000\001g\000\000\001h\003\144\000\000\000\140\000\000\000\000\000\000\002\198\000\000\002\193\001x\002\199\002\197\003\253\000\000\000\000\004\020\000\000\003n\000\000\001\012\003\253\003o\003|\000\000\000\000\000\000\000\000\004\002\000\140\000\000\003|\004\003\004\021\000\141\003}\004\002\000\000\000\142\000\000\004\003\004\021\000\000\003}\001\015\000\000\0016\006m\000\000\000\000\000\000\001%\000\000\004\176\000\140\006m\001\028\001i\001\029\000\000\000\203\001j\000\000\004\007\000\000\002\238\000\151\004\024\006o\002\198\000\000\004\007\000\000\002\199\004\029\004\024\006o\004\"\001\145\004:\003\140\000\000\004\029\003l\003\131\004\"\000\000\004:\003\140\000\000\000\000\001w\001\168\000\000\000\000\000\000\000\138\000\000\005\146\000_\000\147\000\000\003\141\004\163\000\000\002\212\000\000\003\142\003\253\000\000\003\141\003\143\000_\005\146\000\000\003\142\003\144\002\213\003|\003\143\005\147\005n\005o\004\002\003\144\000\000\004\194\004\003\004\021\000\000\003}\000\000\000\000\000\000\000\000\005\147\005n\005o\000\000\004\197\000\000\003n\006m\000\152\000\000\003o\000\000\000\000\000\000\000\000\002\239\000\000\000\140\000\000\000\000\000\000\000\000\000\141\004\007\000\000\001W\000\142\004\024\006o\004\203\000\153\000\000\002\212\001x\004\029\002\241\000\000\004\"\000\000\004:\003\140\002\242\000\000\000\138\002\213\000\000\000\000\000\147\000\000\005p\001Y\002\247\000\203\000\000\000\151\000\183\000\138\000\000\004\240\000_\000\147\003\136\003\141\001\181\005p\003\018\005\146\003\142\000\000\002\245\000\000\003\143\000_\000\000\000\000\000\000\003\144\000\000\000\155\000\138\000\000\000\000\000\184\000\139\000\000\000\000\000\185\000\000\005\147\005n\005o\000\000\000\157\000\000\000\138\000\000\000\000\000\000\000\147\000\140\006\007\001\145\000\000\000\000\000\141\000\000\003|\000\000\000\142\000\000\000_\000\000\000\140\002\247\000\000\001\174\004\204\000\141\003}\000\000\000\000\000\142\006\008\000\000\006\011\005n\005o\002\248\000\138\000\000\004\242\000\152\000\149\000\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\151\000\140\000\000\005p\000\153\000\000\000\141\005\166\004\207\000\000\000\142\004\243\000\000\004\230\003\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\193\000\151\000\202\000\000\000\203\000_\000\000\000\183\000\000\002\164\000\000\000\000\000\000\000\140\003\141\000\000\000\151\005p\000\141\003\142\000\138\000\000\000\142\003\143\000\147\000\000\000\000\000\000\003\144\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000_\000\000\000\185\000\000\000\000\000\000\000\152\000\000\000\157\003N\001G\000\000\000\000\000\000\000\151\000_\000a\002\134\000e\000\152\000\197\002\203\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\197\003s\000\200\000\201\000\000\000\000\000\000\000\140\000\153\000\152\000\000\000\000\000\141\000\000\000\000\000\202\000\142\000\203\000\000\005\204\000\183\000\000\000g\000_\000\152\000\000\000\000\000\000\000\202\000\000\000\203\000\153\000\000\000\183\003l\003\131\000\000\000\000\000\197\003\255\000\200\000\201\000\000\000\155\000\151\000\000\000\153\000\184\000\000\000\000\000_\000\185\000\000\0060\004\163\000\000\000\155\000\157\000\152\001G\000\184\000\000\000\000\000\000\000\185\000\000\000\202\000\000\000\203\000\000\000\157\000\183\001G\000\000\000\000\000\000\000\000\004\244\000\000\000\155\000\153\000\000\000\000\003l\003\131\000\000\000\000\000\000\004\021\001\"\004\197\000\000\003n\000\177\000\155\000\000\003o\000\138\000\184\000_\000\000\000\147\000\185\004\163\001\027\000\154\000\000\000\000\000\157\000\000\001G\000\000\000\000\000_\000\000\004\203\000\000\000\000\000\000\000\000\000\138\000\152\0054\000\000\000\139\000\000\004\196\000\000\000\155\004\029\000\000\000\000\004\"\001\128\004:\000\197\004\031\000\200\000\201\004\197\000\000\003n\000\157\000\153\000\000\003o\000_\000a\002\140\000e\005\146\000\000\000\000\000\140\001\012\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\202\004\203\000\203\000\000\000\000\000\183\000\000\000\000\000\000\005\147\005n\005o\000\000\000\140\000\000\001\015\000\000\0016\000\141\000\000\000\000\000\000\000\142\000g\000\000\000\000\000\000\000\151\000\155\003|\000\000\000\000\000\184\000\000\000\000\000\000\000\185\003l\003\131\004\204\000\000\003}\000\157\000\000\001G\003l\003\131\000\000\000\000\001%\000\151\004\219\000\000\004\205\001\028\000\000\001\029\000\000\000\203\003\246\005\011\000\000\000\000\000\000\000\000\000\000\000\000\004N\000\000\000\000\000_\000\000\000\000\005p\002\164\003l\003\131\000\000\003|\000\000\004\207\000\000\000\000\004\212\000\000\004\230\003\140\000\000\004\204\000\000\003}\000\000\000\000\002\238\000\000\003n\000\000\003\246\004W\003o\000\000\002\238\004\205\003n\000\152\000\000\000\000\003o\003\141\000\000\003N\000\000\000\000\003\142\000\000\000\000\005\146\003\143\000\197\004\209\000\200\000\201\003\144\000\000\000\000\000\000\000\153\000\152\000\000\004\207\000\000\002\238\004\212\003n\004\230\003\140\000\000\003o\005\147\005n\005o\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\203\000\153\000\000\000\183\000\000\005\146\004T\001\012\000\000\003\141\003\136\000\000\000\000\000\000\003\142\000\000\000\000\002\193\003\143\000\000\002\216\000\000\000\000\003\144\000\000\000\000\000\155\005\147\005n\005o\000\184\001\015\005\209\0016\000\185\000\000\000\000\003\253\000\000\000\000\000\157\000\000\001G\003l\003\131\003\253\000\000\003|\000\000\000\155\000\000\000\000\004\002\000\000\005p\003|\004\003\000\000\000\000\003}\004\002\003l\003\131\000\187\004\003\003\246\004M\003}\000\000\000\000\000\000\004\005\000\000\000\140\004\021\003\253\000\000\002\198\000\000\004V\000\000\002\199\000\000\003\246\003\247\003|\000\000\004\007\000\000\000\000\004\002\005p\000\000\002\193\004\003\004\007\002\197\003}\000\000\002\238\000\000\003n\000\000\000\000\003\140\003o\005\146\000\000\0056\004\005\000\000\001g\003\140\001h\000\000\004\029\000\000\002\238\004\"\003n\004:\000\000\000\000\003o\000\000\004\007\003\141\000\000\005\147\005n\005o\003\142\000\000\000\000\003\141\003\143\000\000\000\000\000\000\003\142\003\144\000\000\003\140\003\143\000\000\000\000\000\000\000\000\003\144\002\238\000\000\000\000\000\000\002\198\000\000\000\000\000\000\002\199\003l\003\131\000\000\005\233\000\000\000\000\003\141\000\000\000\000\000\140\000\000\003\142\001i\003l\003\131\003\143\001j\002\212\000\000\000\000\003\144\000\000\003\246\004\001\000\000\000_\000a\002\145\000e\002\213\000\000\000\000\000\000\003\253\005p\003\246\004Y\000\000\000\000\000\000\005\231\000\000\000\000\003|\000\000\000\000\001w\000\000\004\002\000\000\000\000\003\253\004\003\000\000\000\000\003}\002\238\000\000\003n\003l\003\131\003|\003o\000\000\000\000\000g\004\002\004\005\000\000\002\238\004\003\003n\000\000\003}\000\000\003o\002\239\000\000\000\000\000\000\000\000\003\246\005$\004\007\000\000\004\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\212\003\019\003$\003\022\000\000\000\000\000\138\003\140\004\007\002\242\000\149\000\000\002\213\000\000\000\000\000\000\000\000\003l\003\131\000\000\006\007\000\000\002\238\000\000\003n\003\140\000\000\000\000\003o\003\141\001x\003\025\000\000\000\000\003\142\003l\003m\002\245\003\143\003\246\005&\000\000\006\008\003\144\006\011\005n\005o\003\141\006\031\000\000\000\138\000\000\003\142\000\000\000\147\003\253\003\143\000\000\000\000\000\000\000\000\003\144\000\140\003l\003\131\003|\000_\000\141\003\253\000\000\004\002\000\142\000\000\002\238\004\003\003n\000\000\003}\003|\003o\000\000\002\247\000\000\004\002\000\000\003\246\005(\004\003\000\000\004\005\003}\000\140\000\000\003n\000\000\002\248\000\000\003o\001\145\000\151\000\000\000\000\004\005\000\000\001\012\004\007\000\140\000\000\005p\000\000\000\000\000\141\001\176\000\000\003\253\000\142\000\000\000\000\004\007\002\238\000\000\003n\003\140\000\000\003|\003o\000\000\000\000\001\015\004\002\0016\000\000\000\000\004\003\000\000\003\140\003}\000\000\000\000\000\000\000\000\000\000\000\000\000\151\003\141\000\000\000\000\000\000\004\005\003\142\000\000\000\000\000\000\003\143\000\000\000\000\000\000\003\141\003\144\000\000\000\000\000\000\003\142\000\138\004\007\003\253\003\143\000\147\000\000\000\000\000\000\003\144\000\000\000\000\000\000\003|\000\152\000\000\000\138\000_\004\002\003\140\000\147\000\000\004\003\000\000\000\000\003}\000\000\000\000\000\000\000\000\000\000\003|\000_\000\000\000\000\000\000\000\153\004\005\000\000\000\000\000\000\003\141\000\000\003}\000\000\000\000\003\142\000\000\000\000\003\253\003\143\0063\000\000\004\007\000\000\003\144\000\000\000\140\000\152\003|\000\000\000\154\000\141\000\000\004\002\000\000\000\142\000\000\004\003\000\000\003\140\003}\000\140\000\000\000\138\001W\000\000\000\141\000\147\000\000\000\153\000\142\000\000\004\005\000\155\000\000\000\000\000\000\000\000\001\130\000_\000\000\003\141\000\000\000\151\000\000\000\000\003\142\000\157\004\007\001\201\003\143\000\203\000\138\000\000\000\183\003\144\000\147\000\000\000\151\003\141\000\000\000\000\000\000\000\000\000\000\003\140\002\193\000\000\000_\002\197\000\000\000\000\000\000\003\156\000\000\000\000\000\000\000\155\000\000\000\140\000\000\000\184\000\000\000\000\000\141\000\185\000\000\003\141\000\142\000\000\000\000\000\157\003\142\000\000\000\000\000\138\003\143\000\000\000\000\000\147\000\000\003\144\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\138\000_\000\000\000\141\000\139\000\000\000\151\000\142\000\000\000\000\000\152\000\000\002\238\000\000\000\000\000\000\002\198\000\000\000\000\000\000\002\199\000\000\000\000\000\000\000\000\000\152\000\000\001T\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\140\002\176\000\000\000\000\000\000\000\141\000\153\000\000\000\000\000\142\000\000\001\207\000\000\000\203\000\000\000\140\000\183\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\002\178\000\000\000\203\000\000\000\000\000\183\000\000\000\000\000\000\002\193\000\000\000\151\002\197\000\155\000\000\000\000\000\152\000\184\000\000\002\193\000\000\000\185\002\197\000\000\000\000\000\000\000\151\000\157\000\155\000\000\002\239\000\000\000\184\002\176\000\000\000\000\000\185\000\000\000\153\000\000\000\000\000\000\000\157\000\000\000\000\000\152\006\007\002\212\003\019\003\020\003\022\000\000\002\193\000\138\000\000\002\197\002\242\000\147\002\195\002\213\000\203\000\000\003\\\000\183\000\000\002\238\000\000\000\153\006\008\002\198\006\011\005n\005o\002\199\000\000\002\238\000\000\000\000\003\025\002\198\000\000\000\000\000\000\002\199\002\245\000\000\000\155\003^\000\152\000\203\000\184\000\138\000\183\002\193\000\185\000\147\002\197\000\000\000\000\000\000\000\157\000\000\000\000\000\152\000\000\003\\\000\000\000\000\002\238\000\140\000\153\000\000\002\198\000\000\000\141\000\155\002\199\000\000\000\142\000\184\000\000\000\000\000\000\000\185\000\000\000\153\000\000\000\000\002\247\000\157\003\176\000\000\000\203\000\000\005p\000\183\000\138\000\000\000\000\000\000\000\147\000\000\002\248\000\000\000\000\000\000\000\151\000\140\000\000\002\238\002\239\000\138\000\141\002\198\000\000\000\147\000\142\002\199\000\155\000\000\002\239\000\000\000\184\000\000\000\000\000\000\000\185\002\212\003\019\006r\003\022\000\138\000\157\000\155\000\000\000\147\002\242\002\212\000\000\002\213\003\026\000\000\000\000\000\000\000\151\000\000\002\242\000\189\000\000\002\213\000\000\000\000\000\140\002\239\000\000\000\000\000\000\000\141\003\025\000\000\000\000\000\142\000\000\000\000\002\245\000\000\000\000\000\140\003\028\000\000\002\212\000\000\000\141\003\026\002\245\0037\000\142\000\000\000\000\002\242\000\000\000\000\002\213\000\152\000\000\000\000\000\000\000\140\000\000\000\151\000\000\000\138\000\141\000\000\002\239\000\147\000\142\000\000\000\000\006:\002\234\003\028\000\000\000\000\000\151\000\153\000\000\002\245\002\247\003\166\000\000\002\212\003\"\003B\003\026\000\000\000\000\000\000\002\247\000\000\002\242\000\152\002\248\002\213\000\151\000\000\000\000\000\000\000\000\000\138\000\183\000\000\002\248\000\147\000\000\000\000\000\000\000\000\002\234\000\000\000\000\000\000\003\028\000\153\000\000\003!\000\000\000\140\002\245\000\000\000\000\002\247\000\141\000\155\000\000\000\000\000\142\000\184\003J\000\000\000\000\000\185\000\000\000\000\000\000\002\248\000\152\000\157\000\183\003\219\000\000\000\000\000\000\003Q\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\152\000\000\002\234\000\151\000\140\003\031\000\000\000\153\000\000\000\141\000\155\002\247\000\138\000\142\000\184\000\000\000\147\002\234\000\185\000\000\000\152\000\000\000\153\000\000\000\157\002\248\003\221\000\138\000\000\000\000\000\000\000\147\000\183\000\000\000\000\000\000\000\000\000\182\000\000\000\000\000\000\000\151\000\153\000\000\000\000\000\000\000\000\000\183\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\155\000\138\000\000\000\142\000\184\000\147\000\000\000\000\000\185\000\000\000\000\000\000\000\183\000\140\000\157\000\155\003\223\000\000\000\141\000\184\000\000\000\000\000\142\000\185\000\000\000\152\000\000\000\000\000\140\000\157\000\000\000\151\000\000\000\141\000\000\000\155\000\138\000\142\000\000\000\184\000\147\000\000\000\182\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\151\000\000\000\000\000\000\000\000\000\138\000\000\000\140\000\000\000\147\000\000\000\000\000\141\000\152\000\000\000\151\000\142\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\182\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\151\000\155\000\000\000\141\000\000\000\184\000\000\000\142\000\000\000\185\000\000\000\000\000\000\000\000\000\152\000\157\000\183\000\140\000\000\000\000\000\000\000\000\000\141\003l\003m\004-\000\142\001g\000\000\001h\000\000\000\182\000\000\000\152\000\000\000\151\000\153\000\000\000\000\000\155\0046\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\152\000\000\002\234\000\000\000\000\000\157\000\151\000\153\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\002\234\000\000\000\000\000\000\004>\000\153\000\000\000\138\000\000\000\138\000\000\000\147\000\152\000\147\000\140\000\183\003n\000\000\000\140\000\155\003o\001i\000\000\000\184\000\000\001j\000\000\000\185\000\000\002\234\000\183\000\000\000\000\000\157\000\153\000\000\000\000\000\000\000\155\004\168\000\000\000\000\000\184\000\000\000\000\000\138\000\185\000\152\000\000\000\147\000\000\000\000\000\157\000\155\000\000\001w\000\000\000\184\004\180\000\183\000\000\000\185\000\000\000\140\002\234\000\140\000\152\000\157\000\141\000\153\000\141\000\000\000\142\000\000\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\002\234\000\000\000\000\000\184\000\000\000\153\000\000\000\185\000\000\000\000\000\000\000\183\000\000\000\157\000\000\000\000\000\000\000\151\000\140\000\151\000\000\000\000\000\138\000\141\000\000\000\000\000\147\000\142\000\000\000\000\000\183\000\000\000\000\003|\000\155\000\000\000\000\000\138\000\184\000\000\000\000\000\147\000\185\000\000\000\000\003}\000\000\000\000\000\157\001x\000\000\000\000\000\000\000\155\000\000\000\151\000\000\000\184\000\138\000\000\000\000\000\185\000\147\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\004\185\000\142\004\192\000\000\000\000\000\000\000\000\000\140\000\152\000\000\000\152\000\000\000\141\000\000\000\000\000\000\000\142\003l\003m\000\000\000\000\000\000\000\000\000\000\000\000\002\234\003\141\002\234\000\140\000\151\000\153\001\145\000\153\000\141\000\000\000\000\000\000\000\142\004\201\000\000\003\158\000\000\000\000\000\000\000\151\001\178\000\152\000\138\000\000\000\000\000\000\000\147\000\000\003l\003m\000\183\000\000\000\183\000\000\000\000\000\000\006N\000\000\002\234\000\000\000\151\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\140\000\000\003n\000\000\000\000\000\155\003o\000\155\000\000\000\184\000\000\000\184\000\138\000\185\000\000\000\185\000\147\000\000\000\000\000\157\000\183\000\157\000\000\000\000\000\000\004\223\006\174\000\000\000\138\000\000\000\140\000\000\000\147\000\152\000\000\000\141\000\140\000\000\003n\000\142\004\228\000\000\003o\000\155\000\000\000\000\000\000\000\184\000\152\000\000\002\234\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\000\000\000\000\000\004\235\000\000\000\000\000\000\002\234\000\000\000\151\000\140\000\152\000\153\000\000\000\138\000\141\000\000\000\000\000\147\000\142\000\000\000\000\000\183\000\000\000\000\000\000\000\140\000\000\002\234\000\000\000\000\000\141\000\000\000\153\000\000\000\142\000\000\000\183\000\000\000\000\000\000\000\000\000\000\000\000\003|\000\155\000\000\000\151\000\000\000\184\000\138\000\000\000\000\000\185\000\147\000\000\003}\000\138\000\183\000\157\000\155\000\147\000\000\000\151\000\184\000\000\000\000\000\000\000\185\000\000\000\140\000\000\000\000\000\000\000\157\000\141\000\000\000\000\000\000\000\142\003|\000\155\000\000\000\138\000\000\000\184\000\152\000\147\000\000\000\185\000\000\000\000\003}\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006O\000\000\000\000\000\140\000\151\000\153\000\000\000\000\000\141\000\000\000\140\000\000\000\142\000\138\000\000\000\141\000\000\000\147\000\000\000\142\003\141\000\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\183\000\000\000\000\000\147\003\160\000\000\000\140\000\152\006O\000\000\000\151\000\141\000\000\000\153\000\000\000\142\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\155\001K\000\000\003\141\000\184\000\000\000\153\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\183\000\140\003\162\000\000\000\000\000\151\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\152\000\000\000\000\000\183\000\140\000\000\000\000\000\138\000\000\000\141\000\155\000\147\000\000\000\142\000\184\000\000\000\000\001q\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\151\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\138\000\185\000\000\000\152\000\147\000\000\000\000\000\157\000\151\000\000\000\152\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\001\138\000\000\000\000\000\000\000\000\000\153\000\000\001\185\000\000\000\000\000\140\000\000\000\153\000\000\000\138\000\141\000\152\000\155\000\147\000\142\002\193\000\184\000\000\002\197\000\000\000\185\000\000\000\000\000\000\000\000\000\183\000\157\000\000\002\155\000\000\000\000\000\140\000\183\000\153\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\151\000\000\000\152\000\000\000\000\000\138\000\155\000\000\000\138\000\147\000\184\000\000\000\147\000\155\000\185\000\000\000\183\000\184\000\152\002\159\000\157\000\185\000\000\000\140\000\153\000\000\000\151\000\157\000\141\002\238\000\000\000\000\000\142\002\198\000\000\002\206\000\000\002\199\000\000\000\155\000\153\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\138\000\183\000\000\000\000\000\147\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\151\000\140\000\000\000\000\000\140\000\183\000\141\000\000\000\000\000\141\000\142\000\000\000\155\000\142\000\138\000\000\000\184\000\152\000\147\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\155\000\000\000\000\000\000\000\184\000\000\002\221\000\000\000\185\000\000\000\151\000\153\000\000\000\151\000\157\000\152\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\002\239\000\000\000\000\000\000\000\000\000\000\002\223\000\000\000\000\000\000\000\183\000\153\000\000\000\000\000\000\000\000\000\140\002\212\000\000\000\000\003\029\000\141\000\000\000\152\000\138\000\142\002\242\000\151\000\147\002\213\000\000\000\138\000\000\000\155\000\000\000\147\000\183\000\184\000\000\000\000\003v\000\185\000\000\000\000\000\000\000\153\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\151\002\245\000\000\000\000\000\000\000\000\000\155\000\000\000\152\000\000\000\184\000\152\000\000\000\000\000\185\000\000\000\000\000\183\000\000\000\000\000\157\000\000\000\000\000\000\000\000\003\181\000\000\000\140\003\186\000\000\000\153\000\000\000\141\000\153\000\140\000\000\000\142\000\000\003 \000\141\000\155\000\000\000\000\000\142\000\184\002\247\000\138\000\000\000\185\000\000\000\147\000\152\000\000\000\138\000\157\000\183\000\000\000\147\000\183\002\248\000\000\000\000\000\000\000\000\000\151\000\000\000\138\000\000\003\190\000\000\000\147\000\151\000\000\000\153\000\000\000\000\000\000\000\152\000\155\000\000\000\000\000\155\000\184\000\000\000\000\000\184\000\185\000\000\000\000\000\185\000\000\000\000\000\157\000\000\003\211\000\157\000\000\000\000\000\183\000\153\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\140\000\000\000\142\000\138\000\000\000\141\000\000\000\147\000\000\000\142\000\000\000\000\000\155\000\140\000\000\000\183\000\184\000\000\000\141\000\000\000\185\000\000\000\142\000\000\000\000\000\000\000\157\000\000\000\000\000\138\000\151\000\000\000\152\000\147\000\000\000\000\000\000\000\151\000\155\000\152\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\138\000\000\003\250\000\151\000\147\000\157\000\000\000\153\000\000\004\156\000\000\000\000\000\140\000\000\000\153\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\003l\003m\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\000\140\000\183\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\002\193\000\151\000\000\002\197\000\000\000\000\000\138\000\155\000\140\000\000\000\147\000\184\000\152\000\141\000\155\000\185\000\138\000\142\000\184\000\152\000\149\000\157\000\185\000\000\000\000\000\000\000\000\000\151\000\157\005\002\000\000\000\140\000\152\003n\000\153\000\000\005\022\003o\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\151\000\000\000\000\000\000\005\024\000\000\000\000\000\000\000\000\000\153\000\000\002\238\000\000\000\000\000\183\002\198\000\000\000\140\000\000\002\199\000\000\000\183\000\141\000\000\000\000\000\000\000\142\000\140\003l\003m\000\000\000\000\000\141\000\152\000\183\000\000\000\142\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\155\000\185\000\000\000\000\000\184\000\138\005\026\000\157\000\185\000\149\000\151\000\153\000\000\000\155\000\157\000\152\000\000\000\184\000\000\000\000\000\151\000\185\000\000\000\000\000\000\000\000\000\000\000\157\003l\003m\000\000\000\000\005 \000\152\000\000\000\138\000\183\000\153\000\000\000\139\000\140\000\000\003n\000\000\003|\000\000\003o\000\000\000\000\000\000\005.\000\000\002\239\000\000\000\000\000\153\003}\000\000\000\000\000\155\000\000\000\140\000\183\000\184\000\000\000\000\000\141\000\185\000\000\002\212\000\142\000\000\002\244\000\157\003l\003m\000\000\000\000\002\242\000\000\000\183\002\213\000\000\000\000\000\140\000\155\003n\000\152\000\000\000\184\003o\000\140\000\000\000\185\000\000\000\000\000\141\000\152\000\151\000\157\000\142\000\000\000\000\000\155\005<\000\000\002\245\000\184\000\000\000\153\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\153\000\000\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\151\000\000\000\140\000\000\003n\000\000\000\183\000\000\003o\003\164\000\000\000\000\000\000\000\000\003|\000\000\000\154\000\000\000\000\000\000\000\000\000\000\002\247\000\000\000\000\000\000\003}\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\002\248\000\185\000\000\000\155\000\000\000\000\000\000\000\157\003\133\000\000\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000\157\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\153\003}\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\141\000\154\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\003|\000\000\000\000\003\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003}\000\155\000\000\000\000\000\000\000\000\003\135\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\000\000\000\000\000\000\003\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\191\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\141\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\174"))
+    ((16, "\000\193\001\128\000\000\000\000\000\000\000K\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001E\000\000\001?\003\192\000\000\001\r\000\225\000\000\000\000\000\000\000G\000\000\000\020\000\176\000\000\000\000\000\250\000\000\001\022\000\000\000\000\000\000\001\150\000\000\001\188\000\000\000\000\000\000\002\028\000\000\002\128\000\000\000\000\003\182\000\000\003\198\003\238\000\000\000\000\003\244\000\000\0048\000\000\000\000\000\000\005F\000\000\005\240\000\000\006T\000\000\006\\\000\000\006\130\006\164\000\000\000\000\006\218\000\000\007\b\000\000\000Z\002P\001~\000\000\000\000\000\000\000\000\000x\000\000\000\000\001\176\000\000\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\216\000\000\000\000\002\172\n\226\000\000\000\000\012\026\000\000\000\000\000\000\000\000\007f\000\000\007n\003n\000\000\007x\000\000\000\000\007\176\000\000\000\000\007\198\000\000\b4\000\000\000\000\000\000\bP\000\000\0018\b\192\000F\000\000\000\000\000\000\000\000\000\000\001\170\000z\000\000\000\218\000\000\000\000\000\000\t\020\000\000\t\160\000\000\003\006\001]\027.\000\000\000\000\000\168\006Z\000\000\023\186\000\000\007\012\005D\020\246\018\196 <#\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\bt\020\246\000\000\000\000\012\006\014L\017\170\000\000\019\202\000\000\003\204\020\168\000\000\000\000\000\000\000U\000\000 \136#\180\011\246\000\000\000\0003\018\000\000\000\226\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005t\000\000\000\000\n\b\000\000\012\248\000\000\015,\000\000\021\240\000\000\024\"\000\000\025j\000\000\026\166\000\000\026\236\000\000\"\006\000\000#\182\000\000!\016\000\0004\234\000\000\000\000\000\000\000\000\000\000*j\000\000,\"\000\000<:\000\000<\228\000\000=\016\000\000=X\000\000=x\000\000=\214\000\000>\n\000\000>\030\000\000>>\000\000>R\000\000>\146\000\000>\194\000\000?\016\000\000?J\000\000\015N\000\000\000\000&d\000\000\000\000\000\000\000\000\000I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\2335\018\000\000\000`\000\000\000\000\000|\004j\000\000\000=\t4\000\000\000\000\tp\000\000\t\162\t\202\000\000\000\000\n\022\000\000\n \000\000\000\000\000\000\nn\000\000\np\000\000\n~\000\000\n\146\000\000\000\000\n\158\000\000\n\190\n\196\000\000\000\000\n\212\000\000\011\004\000\000\000\000\000\000\011 \000\000\011\"\000\000\011T\000\000\011\164\000\000\011\170\011\192\000\000\000\000\011\198\000\000\011\200\000\000\001(\007\194\000\000\011\214\000\000\011\228\b\254\000\000\011\230\000\000\000\000\011\244\000\000\011\250\000\000\012\000\000\000\000\000\000\000\012\018\000\000\012\024\003~\000\000\012\030\000\000\002\200\t\222\000\000\004R\000\000\004\130\000\000\000\000\004\206\000\"\000\000\000\000\000\000\000\000\003\144\003\214\000\000\004\194\000\000\000\000\000\000\002 \000\000\003\\\000\000\005\216\000\000\000\000\000\000\000\000\000\000\000\000\006X\000\000\000\000\000\000\000\000\000\000\005\172\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=\004\202\t\254\000\000\012&\000\000\012(\012\232\000\000\012.\000\000\000\000\000\000\005\246\000\000\000\000\000\000\000\000\0014\000\000\000\000(\168\000\000\000\000\000\000\016p\000\000\000\000\000\000\000\000\000\000\000\000\023,\000\000\000\000\026\134\000\000\000\000\026\188\000\000\018\132\000\000\000\000\000\000\001\226\000\000 \168'z\000\000\000\000'\148'\182\000\000;\132\000\000;\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\218\000\000,\190\000\0005B\000\000?\230\000\000@\002\000\000@\018\000\000@\"\000\000@J\000\000@\242\000\000A\n\000\000A\026\000\000A\174\000\000A\190\000\000A\210\000\000A\240\000\000B\000\000\000\000\000(@\000\000\000\000\000\000(\182\000\000\000\000\000\000\000\000\000\000\000\0005\144\000\000\000\000\000\000\005\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\b\000\000\000\0006\002\000\000\000\000\000\000\022\016\001t\000\000\000\000\000\000\000\000\016\234\000\000)\216\000\000\000\000\000\000\000\000\000\000* \000\000\000\000\000\000*n\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\000\000\000\000\000\012J\r\190\000\000\012N\000\000\000\000\000\000\000\000\000\000\012R\000\000\000\000\000?\006\024\000\000\006\240\000\000\000\000\000\000\002.\000\000\011\194\000%\012T\000\000\000\000\012f\000\000\012l\012v\000\000\000\000\012z\000\000\012\144\000\000\000\000\000\000\012\146\000\000\012\150\000\000\012\158\000\000\012\172\000\000\000\000\012\176\000\000\012\178\012\180\000\000\000\000\012\186\000\000\012\190\000\000\000\000\000\000\012\194\000\000\012\196\000\000\012\198\000\000\012\212\000\000\012\214\012\234\000\000\000\000\012\240\000\000\012\242\000\000\004\\\0160\000\000\012\244\000\000\012\248\016J\000\000\r\n\000\000\000\000\r\016\000\000\r\024\000\000\r\026\000\000\000\000\000\000\r\"\000\000\b\198\000\000\000\000\000\000\002\166\001\144\000\000\000\000\003\224\000\000\000\000\r&\014\026\000\000\r(\000\000\000\000\000\000\005\160\000\000\000\000\000\000\002\018\000\000\000\000\000\000\000\000\000\000\005\012\016\236\000\000\r2\000\000\r6\024@\000\000\r:\000\000\000\000\014\\\rB\000\000\000\000\rT\000\000\r^\rd\000\000\000\000\rl\000\000\rn\000\000\000\000\000\000\rp\000\000\rv\000\000\rx\000\000\rz\000\000\000\000\r\128\000\000\r\144\r\156\000\000\000\000\r\158\000\000\r\194\000\000\000\000\000\000\r\196\000\000\r\198\000\000\r\202\000\000\r\204\000\000\r\206\r\216\000\000\000\000\r\220\000\000\r\234\000\000\004v\017\012\000\000\r\244\000\000\r\250\018\200\000\000\r\254\000\000\000\000\014\000\000\000\014\002\000\000\014\004\000\000\000\000\000\000\014\b\000\000\014\012\030\138\000\000\014\022\000\000\000\000\006\"!\164\000\000\014\028\000\000\014\"\"\208\000\000\014,\000\000\000\000\000\000\000\000\000\000\000\000\000\0006>\000\000#\234\000\000\000\000\000\0006B\000\000\000\000\000)\000\000\000\000\000\000\003\228\002\140\000\000\000\000-:\007f\000\000 >*\242\000\000\000\000\000\000-N\000\000\000\000*\246\000\000\000\000\000\000\n4\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\224\000\000\000\000%\020\000\000\000\000)\190\000\000\r\144\000\000\000\000\000\000\006D\000\000!\182\000\000\000\0006\144\000\000\000\000\000\000\007\020\000\000\000\000\000\000\000\000\000\000\000\0006\146\000\0007D\000\000\000\000\000\000+\142\021\168\000\000\000\000\000\000-z\000\000\000\000\000\000\000\000\0074\000\000\000\000\000\000\000\0006\\\000\000:\198\000\000\002\128\000\000\000\000\000\000B\012\000\000BZ\000\000B\148\000\000B\184\000\000B\236\000\000C\b\000\000Cj\000\000C\150\000\000C\152\000\000C\178\000\000C\194\000\000C\210\000\000C\230\000\000D,\000\000\000\000\000\000.0\000\000\000\0006\210.~\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\002\208\000\000\000\000\000\000\000\000\006\236\000\000\007h\000\000\000\000\b~\000\000\000\000\000\000.\234\000\000\000\000\000\000\000\000\001]\000\000\014t\000\000\000\000\000\000\000\000/*\000\000\000\000\000\000\000\000\005h\n\"\000\000/L\000\000\000\000\000\000\000\000\n\214\000\000/\166\000\000\000\000\000\000\000\000\003.\000\000\005\240\000\000*:+\188\000\000\000\000\000\0007x\000\000\000\000\000\000\000H\000\0008\004\000\000\000\000\000\0008@\000\000\000\000\002x\000\000\023\220\000!,@\000\000\000\000\000\000\001\216\028p\000\000\000\000\000\000\000\000\000\000\000\000.\192\000\000\000\0001x\000\000\000\0001\144\000\000\020\220\000\000\000\000\000\000\007\178\000\000!\242\000\000\000\0008z\000\000\000\000\000\000\b(\000\000\000\000\000\000\000\000\000\000\000\000<\020\000\000<T\000\000\000\000\000\000\006\026\000\000\000\000\000\000\000\000\000\000\000\000D\152\000\0000\b\000\0008\146\000\000D\186\000\000D\216\000\000D\236\000\000E\012\000\000E\154\000\000E\182\000\000E\210\000\000E\234\000\000F\006\000\000F\"\000\000F0\000\000F\128\000\000F\156\000\000\000\000\007\188\000\000\b\004\000\000\012\180\002\000\006\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0008\220\000\000$$\t\028\t\150\000\000\000\000\000\0000B\000\0000Z\000\0000\164\000\000$D%:\002\144\0050\000\000\004F\t8\000\000\000\000\000\000\t\182\000\000\000\000\nT\000\000\000\000\000\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\b\000\000\000\000\000\000\000\000\000\000\000\000\"h\000\000%t\000\000\000\000\000\000\000\000\r\030\000\000\000\000\br\000\000\000\000\000\000\024\222\002\192\000\000\025\024\000\000\000\000\n\214\000\000\006f\000\000\000\000\r\170\000\000\025\228\000\000\000\000\"\196\000\000\000\000\000\000\005H\000\000\000\000\t\186\000\000\000\000\023,\000\000\000\000\000\000/\240\000\000\000\000\000\000\031\164\000\000\000\000\000\000\000\0001 \000\000\000\000\000\000\000\000\006\178\012d\000\0001J\000\000\000\000\000\000\000\000\000\000\000\000\014$\000\000\000\000\007 \000\000\015\"\000\000\005H\000\000\000\000\006^)~\000\000\006\176\000\000\000\000\000\000\000\000\006\026\000\000%\180\000\000\026\146\001\\\027 \000\000\003\188\000\000\015\156\000\000\016(\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\208\027^\003$\0286\000\000\000\000\000\000\004\200\000\000\016\162\000\000\007r\000\000\000\000\005H\000\002\028\222\000\000\b\022\000\000\017\160\029\134\000\000\000\000\018\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b&\007\164\000\000\b\134\000\000\000\000\000\000\000\000\bx\000\000\018\166\000\000\000\000\000\000\011\2389\180\000\000\000\000\000\000\031\250\000\000\000\000\000\000\000\000\000\000\005\192\nP\000\000\000\0002*\000\000\000\000\006\146\000\000\0112\000\000\000\000&\014\000\000\000\000\000\0002J\000\000\000\000\000\000\000\0002L\000\000\000\000\007|\011\188\000\000\000\0002d\000\000\000\000\b\152\031\210\000\000\011\244\000\000\000\0002\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\"\228\000\000\000\000\000\000\000|\000\000\000\000\012\164\000\000\000\000'2\000\000\000\000\000\0003B\000\000\000\000\000\000\000\0003Z\000\000\000\000\b\188\012\196\000\000\000\0003\154\000\000\000\000\b\196\000\000\000\000\000\000\000\000\006\026\000|\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\128\000\000\0194\000\000\000\000\000\0009\182\000\000\007\216\000\000\000\000\000\000\005\188\000\000\004\198\000\000\000\000\004\188\019\226\000\000\020\144\000\000\000\000\000\000\005\232\000\000:J\007b:b\000\000:\138\000\000\000\000\000\000\bL\000\000:\240\bZ\000\000\000\000&T\b\168&\244\000\000',\000\000\000\000\000\000\tR\000\000;6\tx\000\000\000\000\018\174\t\184\019\012\000\000\026\002\000\000\000\000\000\000\n&\000\000;\128\nh\000\000\000\000\000\000\004\156\000\000\000\000\000\000\000&\000\000\000\000\000\000\000\000\000\000\000\000\b\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\0022\000\000\000\000\000\218\000\000\000\000\014\248\000\000\000\000\000\000\000\000\000\000\005\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\248\000\000\000\000\014\208\000\000\b\b\000\000\000\000\000 \000\000\001\144\014v\000\142\000\000\000\000\005\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0044\bP\000\000\000\000\000a\000\000\000\000\000\000\t\244\000\000\000\000\014T\019\"\000\000\000\000\000\000\000\000\019\210\020\142\004\180\000\000\000\000\000\000\0266\000\000\000\000\000\000\000\000\000\000\000\000\t\152\000\000\000\000\011l\000\000\000\000\014>\000\000\027>\000\000\000\000\000\000\003 \000\000\000\000\004j\000\000\000u\000\000\000\000\000\000\000\000\000\129\027\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\214\028\004\000\000\000\000\000\000\000\000\030X\000\000\000\000\t\014\000\000\015\022\000\000\000\000\000\000\011X\000\000\012J\000\000\000\000\000\000\nf\000\000\000\000\031L\000\000\000\000\000\006\014R\000\000\014V\000\000 \210\006\002\000\000\"\150\000\000\000\000\000\000\000\000\014b\000\000\014\226\000\000\000\000\000\000\007\236\000\000\000\200\014\170\002\226\000\000\000\000\000\000\004\014\0001\000\000\000\000\000\000\000\000\007p\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002F\000\000\000\000\000\166\000\000\001\224\015F\004\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\003\234\000\000\000\000\n\212\"\156\000\000\000\000\000\000\000\000#\014\000\000\000\000\000P\000\000\b\196\r\"\000\000\000\000\000\000\014z\000\000\000\000\000\000\000\000\000\000\000#\021\146\000\000\000\000\028\254\000\000\000\000\000\000\000\000\000>\000\000\000\000\t\162\000\000\000\000\000\000\003 \000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\022\000\000\000\000\000\000\000\199\000\000\000\000\000\000\000\000\000\000\000\b\t\194\n\224\r\026\000\000\007\222\b\210\t\254\n@\000\000\000\000\000\000\000\000\000\000\000\000\t\226\021\030\000\000\029\160\nn\000\000\000\000\011\200\000\000\021\170\000\000+\186\000\000\000\000\011\006\022\194\000\000\030\166\000\000\012\244\031h\000\000\000\000\000\000\bV\007\222\000\000\000\000\000\000\000\000\003\164\000\000\000\000\000\020\006\194\000\000\000\000\011\006\014\188\000\000\016\148\000\000\000\000\002 \000\000\003\\\000\000\000\000\017\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\244\000\000\000\000\011\242\000\000\023\162\000\000\016L\014\248\000\000\000\000\000\000\000\000\000\000\001\216\000\000\000\000\000\000\000\000\000\0004\\\000\000\002\160\000\000\000\000\000\000\000\000\000\000\001\n\000\000\t\202\n\146\n\192\000\000\0024\n\236\000\000\011\202\000\000\002\174\000\000\003J\000\000\004L\000\000\016L\000\000\000\000\000\000\000\000\000\000\004\232\000\000\012\006\000\000\005b\000\000\016L\015d\000\000\000R\000\000\015Z\007\128\000\000\0058\000\000\t\248\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\\\000\000\n\140\000\000\000\000\000\000\014\"\000\000\000\000\000\000\000\000\000\000\015^\014*\000\000\000\000\014^\000\000\000\000\0144\b\150\015\150\000\000\015\152\000\000\000\000\001\142\004\216\000\000\014f\000\000\000\000\014\158\000\000\000\000\000\000\000\000\000\000\000\000\015\128\014J\000\000\000\000\000\000\014\128\014R\011l\n\248\014~\014\182\000\000\000\000\014Z\011v\011F\014\132\014\188\000\000\000\000\011\214\015\154\000\000\015\158\000\000\015\194\000\000\000\000\015\166\000\000\000\000\015\174\000\000\000\000\000\000\000\000\015\178\000\000\015\216\000\000\000\000\000\000\015\218\000\000\000\000\000\000\015\224\000\000\000\000\000\000"), (16, "\004)\002P\004<\006C\001\173\002\199\006\231\006w\006x\000\018\006v\006\028\006\029\001(\000\142\000\007\002\209\002\209\000\142\003I\004)\005\236\004<\003I\005\006\004\238\006A\006\028\006\029\007:\006\182\000\017\006\196\007\016\000V\007;\007\017\006y\000\142\000\005\000V\005'\000\025\007<\000\142\004\191\001\185\006z\001*\004l\004m\000\142\006\183\006\169\007\021\006\197\003\244\006\200\006\028\006\029\004\192\006-\004+\006\231\000\024\006\012\004,\007\006\007\007\000\142\000\145\000\146\002]\000\150\002\209\000\r\006\170\006\173\006\028\006\029\004\192\006\169\004+\006\030\006+\002U\004,\007\011\006\r\006\196\006.\006\028\006\029\006\016\006\028\006\029\000\016\000\017\006\241\006\030\000\189\002M\000\195\007\211\006\170\006\173\006\028\006\029\001\030\007\014\002Q\000\152\006\197\007K\006\200\006\028\006\029\007\212\006\194\001\141\007X\000_\0051\0055\0061\004A\001\166\001#\004\169\000\198\006\030\006\244\006\199\006\190\000\204\007>\000V\000V\000V\002f\001\144\000\028\007\014\000\142\000\145\000\146\000\147\000\150\004\169\004)\006\030\004<\006\024\003\251\002h\006\197\007?\006\200\006\028\006\029\000_\004\171\0027\006\030\007y\000\192\006\030\000\142\006\025\000\193\006\184\0049\007<\007z\004\191\004\176\004\193\001(\006\030\000\207\004\193\004\171\004:\0057\005\020\000\152\000 \006\030\006\234\000_\000\142\0049\001\190\005\170\000\192\004\176\005\002\006\191\000\200\000\207\004\193\007@\004:\000\206\000W\001\184\003\224\006\192\006\193\004\192\007A\004+\001)\006\195\005\b\004,\007_\005\182\0062\004\179\007\141\004\239\004\201\005\014\000_\004\206\004\201\001\192\007Y\005%\006\030\0028\000\206\004\230\000\142\002\220\002\220\004\230\004E\004\179\000t\004\196\007a\006\187\000\004\006\247\004\201\000\142\002[\007c\007\220\007Z\004)\007N\004*\007O\004F\004\230\004E\001}\001\145\004G\001\146\001.\000\031\004H\006\213\000V\000\005\004\219\001.\004I\004)\006\206\004<\000b\004F\004\169\006\031\000\207\001\128\004G\000\208\007\142\001\190\004H\002R\002\202\001\172\000\152\000\142\004I\000_\002\220\006\250\003I\005\006\004\238\004)\001#\004<\000\"\006\237\000d\0068\006\207\005\142\006\208\000\207\002\204\004\171\000\208\000_\000\209\004+\000$\000\142\000V\004,\001\191\0049\007<\007\127\004\238\004\176\007k\007l\006\015\000\207\004\193\007\143\004:\004\192\001}\004+\000W\006\209\0065\004,\007A\006\196\002\205\000\209\001h\002:\007\145\006\210\000\198\000_\002\187\006\r\0069\000\204\007\197\001\128\006\016\006\028\006\029\004\192\004)\004+\004<\001\172\006\197\004,\006\200\006\028\006\029\004\179\000\210\004\196\007\147\000V\005\164\007\138\004\201\005\016\000\142\007\149\000(\004\188\003K\007<\007\127\004\238\001\217\004\230\004E\000\211\007p\000\142\000\145\004\189\001\023\001~\002Q\005\021\004A\000*\001#\004\169\001+\000V\000\213\000V\004F\000e\000_\000p\001.\004G\000`\000\192\0028\004H\003\206\000\200\000h\000V\004\192\004I\004+\0061\0049\007s\004,\004\169\007t\006\030\007\204\000a\000\207\000\152\004\171\004:\007\132\000V\004)\006\030\004<\000W\004\153\005\026\0049\007\014\002\188\000.\004\176\006i\002i\000\206\000\207\004\193\001.\004:\000\142\005\023\000\b\001\128\004\171\007<\007\127\004\238\000V\002h\002\189\001\172\001\160\005\002\0049\000\153\006j\004\144\004\176\006m\006\028\006\029\000\207\004\193\007\133\004:\000\142\000\145\000\146\001z\000\150\000W\004\169\007A\007x\000\142\004\179\003\154\004\239\004\177\005\014\0000\004\192\004\201\004+\002\191\005%\000\198\004,\000\153\005\169\000_\000\199\004j\004\230\004E\000e\000q\007\134\000\142\000V\0062\004\179\005\b\004\239\004\171\007\135\000h\000\152\004\201\000\142\000\207\007\137\004F\000\208\0049\000\153\000\142\004G\004\176\004\230\004E\004H\000\207\004\193\007\133\004:\000V\004I\007\014\007\001\007\002\006\030\004\154\007A\006\196\000p\003\153\006\211\004F\004\177\004\145\000l\001\162\004G\000\209\006\231\000_\004H\004\155\004\169\004)\000\192\004<\004I\003L\000\200\002\209\006\197\003J\006\200\006\028\006\029\004\179\001\144\004\239\005\178\007\135\000W\000\142\004\201\005\165\000\210\007\137\007<\007\127\004\238\000o\001\141\003\208\006\183\004\230\004E\004\171\000\142\001\161\001\128\001\188\005\028\003\207\000\206\000\211\005\167\0049\001\172\007C\000\212\004\176\006l\001\144\004F\000\207\004\193\007\133\004:\004G\000\213\002\189\000V\004H\001\155\004\192\007A\004+\000V\004I\002S\004,\004\177\000_\006\176\006j\001\178\006\239\006m\006\028\006\029\007\136\000\142\004)\000\142\004<\000_\006\030\000\142\003I\0003\005\026\000V\000e\000v\004\179\002\190\004\239\0007\007\135\006{\000\142\004\201\000\004\000h\007\137\007<\007\127\004\238\002\214\001}\007\196\007D\004\230\004E\006S\006\028\006\029\0006\005\011\000\207\0009\005\180\000\208\006$\006\249\003\244\000\005\000V\000\198\004\144\001\128\004F\004\169\000\202\000\005\000\153\004G\001\145\001\172\001\146\004H\001\165\004\192\004)\004+\004<\004I\001.\004,\001\141\006\030\006\189\000\198\000\209\000;\001\141\001\143\000\199\007\144\000\153\000V\000\142\001\151\002a\001\173\004\171\007<\007\127\004\238\003K\001\144\001.\001\145\006\"\001\146\0049\001\144\005\167\000V\004\176\002\202\003\210\001.\000\207\004\193\007\133\004:\006\030\000_\003\236\000V\002\165\007\166\000\192\007A\001\184\006T\000\200\000\142\002&\004\177\006\216\002\206\004\192\003\022\004+\003\237\006#\000\142\004,\004\169\005\190\000_\004\148\004)\004\152\004<\000\192\0064\007\148\000\142\000\200\005\183\004\179\006\027\004\239\005\192\007\135\001\184\002\220\004\201\000\206\000\142\007\137\002\205\001\170\004\151\003I\005\006\004\238\006\025\004\230\004E\004\171\001\190\004\193\004\144\0031\001-\000V\005Q\005\031\000\142\0049\002;\000\206\001.\004\176\003\224\001\131\004F\000\207\004\193\007\133\004:\004G\001\141\000\189\002I\004H\001\152\004\169\007A\001\164\004\192\004I\004+\000V\004\177\001\192\004,\006S\006\028\006\029\000\142\004\195\005\182\001\144\001\141\000?\001\145\004\201\001\146\001\167\004\206\001\151\001\145\004\189\001\146\000V\001.\004\179\004\230\004\239\004\171\007\135\001.\000\207\004\201\001\144\000\208\007\137\0062\006$\0049\006\203\000V\002 \004\176\004\230\004E\004\219\000\207\004\193\007\133\004:\004)\000_\004<\001\173\004\145\000\207\000\192\007A\000\208\001%\000\193\000\142\004F\004\177\007\173\000\209\004\169\004G\000\142\000\153\005\181\004H\001(\003I\005\006\004\238\001\141\004I\006\030\000V\000\189\002C\004\224\001\151\000\142\005\193\004\179\006\159\004\239\000\209\007\135\001\184\000\241\004\201\000\206\004\231\007\137\001\144\000A\004\171\005\192\004\253\004\244\003K\004\230\004E\004\228\004D\003q\0049\004\192\000\211\004+\004\176\004\189\000\242\004,\000\207\004\193\000\243\004:\005\173\005\020\004F\000V\003l\000\213\001\152\004G\003m\007K\001\145\004H\001\146\004\177\000\215\004\255\007W\004I\002\207\000_\001.\004\253\005W\000V\000\192\000\216\003\224\000C\000\193\001\153\005h\000E\001\145\001\173\001\146\004)\004\179\004<\004\239\000V\005\014\005\"\001.\004\201\004l\004m\004\206\006\186\001\186\000\207\000I\005\180\000\208\000\142\004\230\004E\004\254\004\169\003I\005\006\004\238\004)\000\206\004<\003\146\000V\002c\000H\003n\006\183\001\152\003\224\003o\004F\001.\005i\005$\007\174\004G\000\142\004l\004m\004H\000\209\003I\005\006\004\238\007\029\004I\003\225\004\171\003z\006i\001\158\000K\004\192\001\145\004+\001\146\003\197\0049\004,\000V\003K\004\176\006\172\001.\003\145\000\207\004\193\000V\004:\005\018\005\020\006*\006j\005'\000M\006m\006\028\006\029\004\192\005\"\004+\000V\004\177\005c\004,\006\170\006\173\006\028\006\029\003\148\000\153\003\225\004l\004m\006+\000\207\000\189\002-\000\208\000\142\006.\006\028\006\029\000p\007\024\004\179\007N\004\239\007O\005\014\005@\005\200\004\201\006@\005#\004\206\001.\003\150\000V\000\142\004\169\000s\004\189\004\230\004E\000y\005\202\004.\003\230\000\209\000x\002e\003|\003\201\003\186\000W\006A\006\028\006\029\001.\000\207\003J\004F\003}\006\184\004o\004\169\004G\006\030\003\224\001\173\004H\003\234\004\171\005*\000\142\000_\004I\000{\006\030\004)\000\192\004<\0049\003\200\000\193\007\029\004\176\005:\000~\003\189\000\207\004\193\006\030\004:\0059\005\020\003\153\000\142\004\171\004)\004n\004<\003I\005\006\004\238\0047\001\141\004\177\0049\003\213\007\177\005\148\004\176\001\151\006\n\006\011\000\207\004\193\000\206\004:\005\177\005\020\005<\006\138\004\250\000e\001e\001\144\006\030\007!\004\179\003\225\004\239\004\177\005\014\005:\000h\004\201\003\155\004\192\004\206\004+\005\154\000\128\000V\004,\006\139\005\203\004\230\004E\006\142\006\028\006\029\003\156\005\206\004\183\004\179\000\132\004\239\003\146\005\014\004+\005\202\004\201\005\154\004,\004\206\004F\003\230\005\202\005;\007\194\004G\000V\004\230\004E\004H\005\156\002\183\000\142\000p\006\129\004I\000\142\000\145\000\151\004)\000\150\004<\002\185\007\025\005\214\003\234\004F\000\207\004l\004m\000\208\004G\005\155\000\142\006]\004H\006:\000\142\007\024\005\216\004\169\004I\007<\004\143\004\191\000W\002`\000\142\000\145\001\127\000\198\000\150\005\000\000V\001\152\000\199\006\030\004A\000\152\006\253\004\169\000\209\007=\000\142\000\145\000\146\001\175\000\150\007\029\000V\003\236\000V\003l\004\171\004\144\006@\003m\003\216\006D\004\192\001\145\004+\001\146\0049\007 \004,\000V\004\176\000\149\000\152\001.\000\207\004\193\004\171\004:\007]\005\020\007\140\006A\006\028\006\029\007\029\003K\0049\0010\000\152\004\147\004\176\004\177\005\217\000_\000\207\007\166\007)\004:\000\192\000e\001j\002\188\000\200\007\205\004\127\000g\000V\005\216\004\189\001.\000h\005\002\006i\005\220\004\179\000_\004\239\0013\005\014\003n\004\144\004\201\000\153\003o\004\206\004)\007|\004<\005\202\000V\004\169\000V\004\230\004E\004\179\006j\000\206\000W\006m\006\028\006\029\004\145\0017\000\142\006\255\007\166\005\228\004)\007<\004<\004\191\004F\006\144\004E\006\030\007%\004G\004l\004m\000\142\004H\005\230\0016\004\171\007\024\000\142\004I\006i\004\150\007\166\007<\004F\004\191\0049\000\153\003K\004G\004\176\000\142\007\139\004H\000\207\004\193\007~\004:\004\192\004I\004+\007#\001}\006j\004,\007A\006m\006\028\006\029\000V\000\153\007\129\004\144\0019\005\231\000V\007}\004\145\001;\006^\004\192\000e\004+\001\128\006\030\000\207\004,\001.\000\208\005\230\007\031\001\172\000h\001}\004\179\004\210\004\196\007\131\007\128\003|\007\026\004\201\000\142\006a\007\137\006\141\005\234\000\207\001.\001}\003}\000k\004\230\004E\001\128\000V\007\167\001?\001A\000\209\007S\005\202\001\172\007\030\006`\001C\004\169\004)\006\139\004<\001\128\004F\006\142\006\028\006\029\001E\004G\000\153\001\172\006\030\004H\001H\007,\000W\006G\000\142\004I\003\238\004\169\004)\003I\004<\004\191\000\198\004\189\007|\004\145\001L\000\199\004\171\001K\000\189\002*\007`\007\216\000\215\007\169\000\142\001N\0049\005R\003\242\005P\004\176\0073\004\189\000\218\000\207\004\193\007~\004:\004\171\007\252\000\153\000V\007|\003\127\004\192\007A\004+\007\171\0049\001P\004,\007\129\004\176\005\161\007\253\006\147\000\207\004\193\007~\004:\007\223\007\"\006\030\001T\001V\007\130\005r\007A\004+\000V\000_\000e\004,\007\129\004\179\000\192\004\196\007\131\000_\000\200\007\215\004\201\000h\000\192\007\137\007\222\005\185\000\193\000V\001X\0054\005x\004\230\004E\003\245\007\146\004\179\007\204\004\196\007\131\007\026\006w\006x\004\201\003K\004)\007\137\004<\001.\000\153\006\222\004F\004\169\000\206\004\230\004E\004G\007N\003\249\007O\004H\000\206\007V\000\142\000n\000V\004I\001.\003I\001Z\004\191\006\143\001^\004F\004l\004m\007\204\000\153\004G\000\198\005Z\006z\004H\001]\000\199\004\171\001`\001b\004I\000\142\000\145\000\146\001\180\000\150\001g\0049\000W\000V\004)\004\176\004<\001m\001l\000\207\004\193\004\192\004:\004+\004\184\001o\006^\004,\001q\000V\000\142\001s\000\142\0049\001.\007\024\005)\003I\004\186\004\191\001w\000\207\005y\001\189\004:\000\207\001|\000\152\000\208\000\153\001\177\001\183\007\205\000\207\001\182\000_\000\208\007\205\005z\004\179\000\192\004\196\005+\0052\000\200\005j\004\201\0054\002Z\004\206\002Y\003l\002_\002m\004\192\003m\004+\004\230\004E\000\209\004,\000\153\002p\000e\004)\002t\004<\000\209\005|\004\169\002s\005\129\002v\005s\000h\004\198\004F\000\153\000\206\005\147\004E\004G\000\142\002x\002|\004H\002~\003I\004\199\004\238\002\128\004I\000\142\000\145\000\146\002W\000\150\002\130\004F\002\133\002\137\002\136\004\171\004G\002\139\001 \002\141\004H\002\145\002\147\002\149\000_\0049\004I\0078\003n\004\176\002\151\002\155\003o\000\207\004\193\004\169\004:\004\192\004)\004+\004<\002\154\004\232\004,\002\157\002\159\002\164\000\152\002\170\004\241\005)\000\142\000\145\000\146\002\194\000\150\000\142\002\169\000\189\002)\002\172\003I\004\199\004\238\002\174\002\176\004\236\000\207\004\171\002\180\000\208\002\197\002\196\004\179\005\133\004\196\005+\002\213\0049\002\219\004\201\002\218\004\176\004\206\003,\002\222\000\207\004\193\001}\004:\005\149\004\230\004E\000\152\002\225\007\025\000\142\006@\004\192\002\229\004+\000\209\002\228\004\243\004,\004\169\002\231\002\233\002\237\001\128\004F\002\239\002\241\002\243\006\196\004G\002\246\001\172\000_\004H\006A\006\028\006\029\000\192\002\250\004I\004\179\000\193\004\196\004\245\002\249\002\252\000\142\004\201\007\026\003|\004\247\006\197\004\171\006\200\006\028\006\029\001.\000\207\004\230\004E\003}\000\215\0049\002\254\003\002\003\004\004\176\003\006\003\b\003\012\000\207\004\193\000\220\004:\003\011\000\206\003\014\004F\001\141\004)\004\169\004<\004G\003\016\000\198\001\151\004H\004\177\003\021\000\199\004\246\003\027\004I\003\026\003\029\003\031\003!\000\142\003%\001\144\003+\000\198\003I\004\199\004\238\003*\000\204\006\030\0030\001}\004\179\0036\004\239\004\171\004\240\007K\0035\004\201\006\021\006>\004\206\006)\007R\0049\0067\006c\006\030\004\176\004\230\004E\001\128\000\207\004\193\006\137\004:\006\154\003~\006\156\001\172\004\192\004)\004+\004<\006\166\000_\004,\006\168\004F\004\177\000\192\006\178\000\207\004G\000\200\000\208\001}\004H\006\205\000\142\007i\007\151\000_\004I\003I\005\006\004\238\000\192\007\155\007\175\007\181\000\200\004\179\007\182\004\239\007\187\004\240\001\128\007\188\004\201\007\193\007\192\004\206\007\200\007\202\001\172\000\209\007\208\000\206\007\209\004\230\004E\007\213\007\214\001\152\007\217\007\218\007\221\007\224\007\225\007\242\004\192\007\231\004+\007\240\000\206\007\236\004,\004\169\004F\007\239\004)\007\248\004<\004G\007\246\007\250\003\227\004H\007\255\001\145\000\000\001\146\000\000\004I\006M\000\000\000\000\000\000\000\142\001.\000\000\000\000\000\000\003I\005\006\004\238\000\000\000\000\000\000\000\000\004\171\006\235\000\000\000\000\000\000\000\000\001\212\000\000\000\000\001\213\0049\007\029\000\000\000\000\004\176\007N\000\000\007O\000\207\004\193\000\000\004:\000\000\000\207\000\000\001.\000\208\003K\004\169\000\000\004\192\004)\004+\004<\000V\004\177\004,\000\000\000\000\000\000\000\207\000\000\000\142\000\208\000\000\000\000\000\000\000V\000V\000\142\000\000\000\000\000\000\000\000\003I\005\006\004\238\000\209\004\179\000\000\004\239\004\171\004\240\000\000\000\000\004\201\000_\000\198\004\206\001\214\000p\0049\000\199\001\215\000\209\004\176\004\230\004E\000\000\000\207\004\193\000\000\004:\000p\005\r\000\000\000\142\000\145\000\146\002\211\000\150\004\192\000\000\004+\000\000\004F\004\177\004,\004\169\000\142\004G\000\210\000W\000\215\004H\000\000\000\000\000\000\000\000\001\230\004I\007K\000\000\000\000\000\222\000W\003\224\000\000\007M\004\179\000\211\004\239\000\000\005\014\000\000\001\022\004\201\000_\000\152\004\206\000\000\004\171\000\192\000\000\000\000\000\213\000\200\004\230\004E\000\000\000\000\0049\000\000\000\000\000V\004\176\000\000\000\000\000\000\000\207\004\193\000\000\004:\000\000\005\015\000\000\004F\000\000\004)\004\169\004<\004G\000\000\000\189\002(\004H\004\177\000\000\007K\000\000\000\206\004I\000\000\000e\002\162\007U\000\142\007!\000\000\004\219\000p\003I\005,\004\238\000h\000\207\000e\002\167\001\231\004\179\000\000\004\239\004\171\005\014\000\000\000\000\004\201\000h\000\000\004\206\000\000\000\000\0049\000\000\000\000\000\000\004\176\004\230\004E\000\000\000\207\004\193\000W\004:\000\000\005!\004\224\000\000\004\192\004)\004+\004<\000\000\000_\004,\000\000\004F\004\177\000\192\000\000\000\000\004G\000\193\000\000\000\000\004H\000\000\000\142\000\000\000\000\004\228\004I\003I\005,\004\238\000\000\000\207\000\000\000\000\000\208\004\179\007N\004\239\007O\005\014\000\000\000\000\004\201\000\000\000\000\004\206\001.\005.\002#\000\000\000\000\000\206\000\000\004\230\004E\000\000\000\000\001\212\000\000\000\000\001\213\001}\000\000\000\000\004\192\000\209\004+\000\000\000e\003\019\004,\004\169\004F\000\000\004)\000\000\004<\004G\000\000\000h\000\000\004H\001\128\000\000\000\000\005B\000\000\004I\000\000\000\198\001\172\000\000\000\142\007N\000\202\007O\000\142\003I\004\199\004\238\000\000\003I\000\000\001.\004\171\000\000\000\000\000\142\0050\000\000\000\000\002?\000\000\000\000\0049\000\000\000\000\000_\004\176\000\000\001\214\000\000\000\207\004\193\001\215\004:\000\000\000\207\000\000\000\000\000\208\000\000\004\169\000\000\004\192\000\000\004+\000\000\003\244\004\177\004,\000\000\000\000\000\142\000\000\004)\000\000\004<\003I\000_\000\000\000V\000\000\000\000\000\192\000\000\000\000\000\000\000\200\000\000\001\230\000\209\004\179\000\142\004\239\004\171\005/\000\000\003I\004\201\004\191\006@\004\206\000\000\000\000\0049\000\000\000\000\000\000\004\176\004\230\004E\000\000\000\207\004\193\003\244\004:\000p\000\000\000\000\000\000\000\000\000\206\000\000\006A\006\028\006\029\000\000\000\000\004F\004\177\000\000\004\169\000\000\004G\004\192\000\000\004+\004H\000\000\000\000\004,\000\000\000\000\004I\002;\001#\000\000\000\000\000W\000\189\002'\000\000\004\179\000\000\004\239\000\000\005/\000\000\000\000\004\201\000\000\004)\004\206\004<\004\171\000\207\000\000\000\000\001\231\000\000\004\230\004E\000\000\000\000\0049\000\000\005\171\000\000\004\176\000\142\0054\000\000\000\207\004\193\003I\004:\004\191\004\193\006@\004F\000\000\000\000\000\000\000\000\004G\000\000\006\030\000\207\004H\004\177\000\208\000\000\004\169\000\000\004I\000\000\000\000\000\000\000\000\000_\000\000\006A\006\028\006\029\000\192\000\000\000\000\000\000\000\193\000e\003\024\004\192\004\179\004+\004\239\001%\004\240\004,\005\223\004\201\000h\000\209\004\206\004\201\004\193\004\171\004\206\000\000\000\000\000\000\004\230\004E\000\000\002\"\004\230\0049\000\000\001+\004)\004\176\004<\000\000\000\206\000\207\004\193\001.\004:\000\000\000\241\004F\000\189\000\191\000\000\005\187\004G\000\000\000\142\0054\004H\000\000\005)\003I\000\000\004\191\004I\005\225\000\000\000\211\000\000\000\000\004\201\000\242\006@\004\206\006\030\000\243\004)\000\000\004*\004\169\000\000\004\230\000\213\004\179\000\000\004\196\005+\000\000\000\000\000\198\004\201\000\000\000\000\004\206\000\202\006A\006\028\006\029\004\192\000\000\004+\004\230\004E\006K\004,\000\000\000\000\000\142\000\000\004)\000_\004<\004\171\000\000\000\000\000\192\000\000\000\000\000\207\000\193\004F\000\208\0049\000\000\000\000\004G\004\176\000\142\000\000\004H\000\207\004\193\003I\004:\004\191\004I\000_\000\000\004+\000\000\005\189\000\000\004,\000\000\0054\000\000\000\000\005)\000\000\000_\000\000\000\000\000\209\000\206\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\169\000\000\006\030\004\192\004\179\004+\004\196\005+\000\000\004,\000\000\004\201\003l\004)\004\206\004<\003m\000\000\000\000\000\000\000\000\000\000\004\230\004E\007.\006Z\000\206\000\000\000\000\000\000\000\000\000\142\000\000\004\171\006\196\000\000\003I\004\199\004\238\000\000\000\000\004F\000\000\0049\000\000\007&\004G\004\176\000\198\0054\004H\000\207\004\193\000\199\004:\000\000\004I\006\197\000\000\006\200\006\028\006\029\000\000\000\207\001\212\000\000\000\208\001\224\005)\000\000\000\000\004\169\003\146\004\192\000\000\004+\003n\000\000\000\000\004,\003o\0049\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\004\179\004:\004\196\005+\000\000\000\000\000\209\004\201\000\000\000\000\004\206\000\207\000\000\004\171\000\208\000\000\003\147\000_\004\230\004E\000\000\000\000\000\192\0049\000\000\000\000\000\200\004\176\006X\000\000\000\000\000\207\004\193\000_\004:\000\000\001\214\004F\000\000\002+\001\215\006\030\004G\000\000\000\000\000\209\004H\000\000\005)\003\148\004\169\000\000\004I\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\002=\004)\000\000\004<\000\000\000\000\000\000\000\000\001.\000\000\004\179\000\241\004\196\005+\004;\001\230\003\150\004\201\000\000\000\142\004\206\000\000\004\171\000\000\003I\000\000\004\191\000\000\004\230\004E\000\211\003|\0049\003\186\000\242\000\000\004\176\000\000\000\243\000\207\000\207\004\193\003}\004:\000\000\000\213\000\000\004F\000\000\000\000\000\000\000\000\004G\000\000\000\189\001\205\004H\004\177\000\000\000\000\000\000\004\192\004I\004+\000\000\000\000\000\000\004,\000\000\003\189\000\000\000\000\000\142\000\000\000\000\000\207\003\153\000\000\000\208\000\000\004\179\000\000\004\239\000\000\004\240\000\000\000\000\004\201\000\000\000\000\004\206\000\207\000\000\000\000\001\231\006\242\000\000\000\000\004\230\004E\000\000\000\000\000\000\0074\000\000\000\000\000\000\0054\000\000\000\209\000\000\000\000\000\000\004)\000_\004<\000\000\004F\003\155\000\192\000\000\000\000\004G\000\193\007b\001\212\004H\0029\001\224\004\169\000\000\000\142\004I\003\156\000\000\000\000\003I\004\199\004\238\000\000\001\141\005=\004)\000\000\004<\000\000\000\000\001\151\000\000\000\000\000\000\001\234\000\000\000\000\000\000\000\215\000\000\000\206\000\000\000\000\000\142\001\144\004\171\000\000\000\000\003I\000\224\004\238\000\000\001\235\000\000\000\000\0049\004\192\001\236\004+\004\176\000\198\001\237\004,\000\207\004\193\000\199\004:\001\238\000_\000\000\000\000\001\214\000\000\000\000\000\000\001\215\000\000\000\000\000\000\000\000\005)\000\000\000\000\000\000\000\000\004\192\000\000\004+\000\000\000\000\000\000\004,\000\000\000\142\000\145\000\146\002\216\000\150\000\000\000\000\000\000\000\000\000\000\004\179\000\000\004\196\005+\000\000\002.\000\000\004\201\001\230\000\000\004\206\000\000\000\000\000\207\000\000\000\000\000\208\000_\004\230\004E\000\000\004\169\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\000\001\152\000\000\004F\000\000\000\000\000\000\000\000\004G\000\000\000\000\000\000\004H\000\209\000\000\000\000\004\169\004)\004I\004<\004\171\000\000\000\000\000\000\004\213\000\000\000\206\001\145\000\000\001\146\0049\004\242\000\000\000\000\004\176\000\142\000\000\001.\000\207\004\193\003I\004:\004\191\000\000\000\000\000\000\004)\000\000\004<\004\171\000\207\000\000\000\000\001\231\000\000\004\177\000\000\000\000\000\000\0049\004\190\000\000\000\000\004\176\000\142\000\000\002D\000\207\004\193\003I\004:\004\191\000\000\000\000\000\000\000\000\000\000\004\192\004\179\004+\004\239\000\000\004\240\004,\005?\004\201\0021\000\198\004\206\000\000\000\000\000\000\000\199\000\000\000\000\000\000\004\230\004E\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\004\192\004\179\004+\004\239\001\234\005A\004,\000\000\004\201\004F\000\000\004\206\000\000\000\000\004G\000\000\000\000\000\000\004H\004\230\004E\000\000\001\235\000\000\004I\000\000\000\000\001\236\000\000\000\000\000\209\001\237\000\000\000\000\000\000\000\000\000\000\001\238\004F\004\169\001}\000_\004)\004G\004<\000\000\000\192\004H\000\000\000\000\000\200\000\000\000\000\004I\000\000\000\000\004\200\000\000\000\000\000\000\000\142\001\128\000\000\000\000\000\000\003I\000\000\004\191\004\169\001\172\000\000\000\000\004\171\000\000\000\000\000\142\000\215\000\000\000\000\000\000\003I\000\000\0049\000\000\000\206\000\000\004\176\000\226\000\000\000\000\000\207\004\193\000\000\004:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\171\004\192\000\000\004+\000\000\000\000\004\194\004,\000\000\000\000\0049\000\000\000\000\000\000\004\176\000\000\003\244\006@\000\207\004\193\000\000\004:\000\189\001\208\000\000\000\000\000\000\000\000\004)\004\179\004<\004\196\004\197\000\000\000\000\004\194\004\201\000\000\000\198\004\206\006A\006\028\006\029\000\199\000\000\000\000\000\142\004\230\004E\000\189\001\211\003I\000\000\004\191\000\000\000\000\000\000\000\000\004\179\000\207\004\196\004\197\000\208\000\000\000\000\004\201\004F\000\000\004\206\004\169\000\000\004G\000\000\000\198\000\000\004H\004\230\004E\000\199\000\000\000\000\004I\000_\000\000\000\000\000\000\000\000\000\192\004\192\000\000\004+\000\193\000\000\000\209\004,\004F\000\000\000\000\000_\004)\004G\004<\004\171\000\192\004H\000\000\000\198\000\200\000\000\000_\004I\000\202\0049\006\030\000\192\000\000\004\176\000\142\000\193\000\000\000\207\004\193\003I\004:\004\191\000\206\000\000\000\000\000\000\000\000\004)\000\000\004<\000_\000\000\000\000\004\193\004\194\000\192\000\215\000\000\000\206\000\200\000\000\000\000\000\000\000\000\000\000\000\142\006@\000\228\000\000\000\206\003I\000\000\004\191\004\169\000\000\000\000\004\192\004\179\004+\004\196\004\197\000\000\004,\000_\004\201\000\000\000\000\004\206\000\192\006A\006\028\006\029\000\200\000\206\005\227\004\230\004E\000\000\000\000\004\201\000\000\000\000\004\206\000\000\000\000\002N\004\171\004\192\000\000\004+\004\230\000\000\000\000\004,\004F\006@\0049\000\000\000\207\004G\004\176\000\208\000\000\004H\000\207\004\193\000\206\004:\000\000\004I\000\000\000\000\000\000\005\017\000\207\000\000\000\000\000\208\006A\006\028\006\029\005\n\000\000\000\000\004\169\000\207\000\000\006V\000\208\000\000\000\000\000\000\000\209\000\000\000\000\004)\000\000\004<\000\000\000\000\000\000\000\000\006\030\000\000\004\179\006@\004\196\005\012\000\209\000\207\000\000\004\201\000\208\000\142\004\206\004\169\000\000\004\171\003I\000\209\004\191\000\000\004\230\004E\004)\000\000\004<\0049\006A\006\028\006\029\004\176\000\000\000\000\000\000\000\207\004\193\000\000\004:\000\000\000\000\004F\000\207\000\209\005\t\000\208\004G\000\000\004\171\000\000\004H\006\030\005\n\000\000\000\215\004\192\004I\004+\0049\000\000\000\000\004,\004\176\000\000\000\000\000\230\000\207\004\193\000\000\004:\000\244\000\000\000\000\000\000\005\029\004\179\000\209\004\196\005\012\004)\000\000\004<\004\201\005\030\000_\004\206\004+\000\000\000\000\000\215\004,\000\000\000\000\004\230\004E\000\000\000\000\000\142\000\000\000\000\000\232\006\030\003I\000\241\004\191\000\000\004\179\000\000\004\196\005 \000\000\000\000\004F\004\201\000\000\000\000\004\206\004G\000\000\006e\000\000\004H\000\211\004\169\004\230\004E\000\242\004I\006\196\000\000\000\243\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\004\192\000\000\004+\000\000\004F\000\000\004,\000\000\000\000\004G\004A\000\000\006\197\004H\006\200\006\028\006\029\004\171\000\000\004I\000\000\000\000\000\000\000\000\004)\000\000\004<\0049\000\000\006t\000\000\004\176\000\000\000\000\000\000\000\207\004\193\004)\004:\004<\000\000\000\000\000\142\000\000\005\027\000\000\005(\003I\000\000\004\191\007*\000\000\005\n\000\000\000\000\000\142\0049\000\000\000\000\000\000\003I\000\000\004\191\000\000\000\207\000\000\000\000\004:\004\169\000\000\000\000\000\000\000\000\000\000\000\000\004\179\000\000\004\196\005\012\006\127\000\000\004C\004\201\000\000\004\192\004\206\004+\006\030\000\000\000\000\004,\000\000\000\000\004\230\004E\000\000\000\000\004\192\000\000\004+\000\000\004\171\000\000\004,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0049\004F\000\000\000\000\004\176\000\000\004G\000\000\000\207\004\193\004H\004:\004E\000\000\000\000\000\000\004I\000\000\000\000\005-\000\000\000\000\000\000\000\000\000\000\005)\000\000\000\000\000\000\000\000\004F\000\000\000\000\000\000\000\000\004G\000\000\000\000\000\000\004H\000\000\004\169\000\000\000\000\000\000\004I\000\000\000\000\004\179\000\000\004\196\005+\000\000\006@\004\169\004\201\000\000\004)\004\206\004<\000\000\000\142\000\145\000\146\003(\000\150\004\230\004E\000\000\000\000\0076\000\000\000\000\000\000\004\171\000\142\006A\006\028\006\029\000\000\003I\000\000\004\191\000\000\0049\004F\000\000\004\171\004\176\000\000\004G\006\245\000\207\004\193\004H\004:\000\000\0049\000\000\000\000\004I\004\176\000\000\000\152\000\000\000\207\004\193\000\000\004:\005)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\192\000\000\004+\000\000\000\000\007+\004,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\179\000\000\004\196\005+\000\000\000\000\000\000\004\201\000\000\000\000\004\206\000\000\000\000\004\179\000\000\004\196\007-\006\030\004\230\004E\004\201\000\000\004)\004\206\004<\000\000\000\000\000\000\000\000\000\000\000\000\004\230\004E\000\000\000\000\0079\000\000\004F\000\000\000\000\000\142\000\000\004G\006@\000\000\003I\004H\004\191\000\000\000\000\004F\000\000\004I\004\169\000\000\004G\000\000\000\000\000\000\004H\000\000\000\000\000\000\000\000\000\000\004I\006A\006\028\006\029\000\000\000\142\000\000\000\000\000\000\000\000\004)\000\000\004<\000\000\000\000\000\000\000\000\004\192\000\000\004+\000\000\004\171\000\000\004,\000\000\000\000\000\000\000\000\000\142\000\000\004)\0049\004<\005P\000\000\004\176\000\000\000\000\000\000\000\207\004\193\000\000\004:\000\000\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\000\000\000\005P\001}\000\000\007+\005q\000\000\000\000\000\000\000\000\000\000\001\212\000\189\003T\001\224\000\000\000\000\006\132\005r\000\000\004+\001\141\006\030\001\128\004,\005o\000\000\004\179\001\151\004\196\007-\001\172\000\000\004\169\004\201\000\000\000\000\004\206\005r\000\000\004+\000\000\001\144\005x\004,\004\230\004E\000\000\000\000\001\212\000\000\000\000\001\224\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005x\004F\001\212\004\171\000\142\001\224\004G\000\000\000_\000_\004H\001\214\000\000\0049\000\192\001\215\004I\004\176\000\193\000\000\000\142\000\207\004\193\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\005\157\000\000\007+\000\000\004A\000\000\001#\000\000\000\000\000\000\000_\000\000\002.\001\214\000\000\001\230\000\206\001\215\000\198\000\000\000\000\000\000\006@\000\202\000\000\004\179\000_\004\196\007-\001\214\0049\000\000\004\201\001\215\000\000\004\206\000\000\001\152\000\207\005y\006\150\004:\000\000\004\230\004E\006A\006\028\006\029\002\023\000\000\0049\000\000\000\000\001\230\000\000\005z\000\000\000\000\000\207\005y\004\221\004:\004F\001\145\002\023\001\146\000\000\004G\000\000\001\230\000\000\004H\000\000\001.\000\000\005\159\000\000\004I\000_\000\000\000\000\000\000\000\000\000\192\000\000\005|\000\000\000\200\005\129\000\000\000\000\000\207\000\207\000\000\001\231\000\208\005\147\004E\000\000\000\000\000\238\001\212\000\000\000\000\001\224\005|\000\000\002/\005\160\000\000\000\142\000\145\000\146\003.\000\150\004F\005\147\004E\006\030\000\142\004G\000\206\000\000\000\000\004H\000\000\000\209\0021\000\000\000\207\004I\001\212\001\231\000\000\001\224\004F\000\000\000\000\000\000\000\000\004G\000\198\000\000\000\000\004H\000\207\000\199\000\000\001\231\000\142\004I\001\234\000\152\000\000\000\000\002\024\002$\000\000\000\000\000\000\000\000\000_\000\000\000\000\001\214\001\232\000\000\000\000\001\215\001\235\000\000\002\024\002\025\000\000\001\236\000\000\000\000\000\000\001\237\001\233\000\000\001\232\000\000\000\000\001\238\000\000\000\000\001.\000\000\001\234\001\212\000_\000\000\001\224\001\214\001\233\000\000\000\207\001\215\002\023\000\208\000_\000\000\001.\001\230\001\234\000\192\001\235\000\142\000\000\000\200\000\000\001\236\000\000\000\000\000\000\001\237\000\000\000\000\000\000\000\000\000\000\001\238\001\235\000\000\000\244\002\015\000\000\001\236\002\023\000\000\000\209\001\237\000\000\001\230\006\163\001\212\000\000\001\238\001\224\000\000\000\000\002\015\000\000\000\206\000\000\000\000\000\000\006@\000\000\000_\006@\001\212\001\214\000\142\001\224\000\000\001\215\000\241\000\000\000\142\000\145\000\146\0033\000\150\000\000\000\000\000\000\000\000\000\000\000\142\006A\006\028\006\029\006A\006\028\006\029\000\211\000\000\000\000\000\207\000\242\000\000\001\231\000\000\000\243\000\000\000\000\002\023\000\000\000\000\000\000\000\213\001\230\000\000\000\000\000_\000\000\000\000\001\214\001}\000\000\000\152\001\215\000\000\000\000\002\024\003s\006@\000\000\000\207\000\000\000_\001\231\000\000\001\214\001\232\000\000\000\000\001\215\000\207\001\128\000\000\000\208\000\000\000\000\000\000\000\000\000\000\001\172\001\233\006A\006\028\006\029\002\023\000\000\002\024\0040\001.\001\230\001\234\000\000\000\000\000\000\006\030\000\000\001\232\006\030\000\000\000\000\002\023\000\000\000\000\000\000\000\209\001\230\000\198\000\198\001\235\000\000\001\233\000\202\000\199\001\236\000\000\000\000\000\000\001\237\001.\000\207\001\234\000\000\001\231\001\238\000\142\000\000\000\000\002\015\000\000\000\000\000\000\000\000\000\000\004)\000\000\004<\000\000\000\000\001\235\000\000\000\000\000\000\000\000\001\236\000\000\002\024\004\173\001\237\000\000\000\000\000\215\000\000\000\000\001\238\006\030\001\232\000\000\002\015\004\162\005\184\000\000\000\234\004)\000\000\004<\000\207\000_\000_\001\231\001\233\000\000\000\192\000\192\000\000\000\000\000\200\000\200\001.\004)\001\234\004<\000\207\000\000\000\000\001\231\000\000\000\000\004\162\005\003\000\000\000\000\002\024\004\203\003\146\000\000\004+\000\000\001\235\000\000\004,\001}\001\232\001\236\004\162\004\249\000\000\001\237\002\024\005~\000\206\000\206\006\161\001\238\000\000\006\220\001\233\002\015\001\232\000\000\000\000\000\000\001\128\003\146\001.\004+\001\234\000\000\000\000\004,\001\172\000\000\001\233\001!\001#\000\000\000\000\000\000\000\000\003\146\001.\004+\001\234\000\000\001\235\004,\000\000\000\000\000\000\001\236\000\000\000\000\000\000\001\237\000\000\000\000\000\000\000\189\003e\001\238\001\235\000\000\004\169\002\015\000\000\001\236\000\000\000\000\000\000\001\237\000\000\000\000\006\225\000\000\000\000\001\238\000\000\000\000\000\000\002\015\000\000\000\000\000\000\000\189\003h\000\000\000\207\000\207\000\000\000\208\000\208\004\169\000\000\000\000\000\000\004\171\000\000\000\000\000\000\000\000\000\000\000\000\004)\000\000\004<\0049\000\000\004\169\000\000\004\176\000\000\000\000\000\000\000\207\001%\000\000\004:\000_\000\000\000\000\000\209\000\209\000\192\000\000\004\171\000\000\000\193\004\162\004\163\000\000\004\177\004)\000\000\004<\0049\000\000\001+\000\000\004\176\000\000\004\171\000\000\000\207\000_\001.\004:\000\000\000\241\000\192\000\000\0049\000\000\000\193\004\179\004\176\000\000\004\162\004\175\000\207\004\177\000\206\004:\003\146\004)\004+\004<\000\211\000\215\004,\000\000\000\242\000\000\004E\000\000\000\243\004\177\000\000\000\000\000\236\000\000\000\000\000\213\004\179\000\000\000\000\000\000\000\206\000\000\004\162\005\005\004F\003\146\000\000\004+\000\000\004G\000\000\004,\004\179\004H\000\000\004E\000\000\000\000\000\000\004I\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\004F\000\000\000\000\000\000\003\146\004G\004+\000\142\000\000\004H\004,\004\169\000\000\000\000\000\000\004I\004F\000\207\000\000\000\000\000\208\004G\000\000\000\000\004)\004H\004<\000\000\000\000\000\000\000\000\004I\000\198\000\000\000\000\000\000\000\000\000\204\000\000\000\000\004\169\000\000\000\000\000\207\004\171\000\000\000\208\000\000\000\000\004\162\005\209\000\209\000\000\000\000\0049\000\000\000\000\000\000\004\176\000\000\000\000\000\000\000\207\000\000\000\000\004:\000\000\000\000\000\000\000\000\000\000\000\000\004\169\004\171\000\000\001\141\000\000\000\209\000\000\004\177\000\000\000\000\001\151\0049\003\146\000\000\004+\004\176\000\000\000\000\004,\000\207\000_\000\000\004:\000\000\001\144\000\192\000\000\000\000\000\000\000\200\004\179\000\000\004)\004\171\004<\000\000\004\177\000\000\000\000\000\000\000\000\000\000\000\000\0049\000\000\000\000\000\000\004\176\000\000\004E\000\000\000\207\000\000\000\000\004:\000\000\000\000\004\162\005\211\004\179\004)\000\000\004<\000\206\000\000\000\000\000\000\004F\004\177\000\000\000\000\000\000\004G\000\000\000\000\000\000\004H\000\000\004E\000\000\004\169\000\142\004I\000\000\000\000\004\162\005\213\000\000\000\000\000\000\000\000\004\179\003\146\000\000\004+\000\000\004F\000\000\004,\001\212\000\000\004G\001\224\000\000\000\000\004H\000\000\000\000\000\000\000\000\004E\004I\001\212\004\171\000\000\001\224\000\000\000\142\001\152\000\000\003\146\000\000\004+\0049\000\000\000\000\004,\004\176\004F\001\212\000\142\000\207\001\224\004G\004:\000\000\000\000\004H\000\000\000\207\000\000\005]\000\208\004I\001\145\000\000\001\146\000\142\004\177\001\141\000\000\000\000\000\000\000\000\001.\000\000\001\151\000\000\000\000\000_\004\169\000\000\001\214\000\000\000\000\000\000\001\215\000\000\000\000\000\000\001\144\004\179\000_\000\209\000\000\001\214\000\000\000\000\000\000\001\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\169\000_\004E\000\000\001\214\004\171\000\000\000\000\001\215\002\022\001\212\000\000\000\210\001\224\001\230\0049\000\000\000\000\000\000\004\176\004F\000\000\000\000\000\207\000\000\004G\004:\001\230\000\142\004H\000\000\000\211\000\000\004\171\000\000\004I\001\025\000\000\000\000\001\229\004\177\000\000\000\000\0049\001\230\000\000\000\213\004\176\000\000\000\000\000\000\000\207\000\000\000\000\004:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\198\004\179\000\000\000\000\000\000\000\202\004\177\001\212\000_\000\000\001\224\001\214\000\000\000\000\001\152\001\215\000\000\000\000\000\142\000\000\004E\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\207\004\179\000\000\001\231\000\000\000\000\000\000\000\000\000\000\005\136\004F\000\000\001\145\000\207\001\146\004G\001\231\000\000\002\017\004H\004E\000\000\001.\001\230\000\000\004I\000\000\000\000\000\000\000\000\000\207\000\000\000_\001\231\000\000\000\000\001\232\000\192\004F\000_\000\000\000\200\001\214\004G\000\000\000\000\001\215\004H\000\000\001\232\001\233\000\000\000\000\004I\000\000\000\000\000\000\000\000\001.\000\000\001\234\000\000\000\000\001\233\000\000\000\000\001\232\000\000\000\000\000\000\002\018\001.\000\000\001\234\000\000\000\206\000\000\002\021\001\235\004)\001\233\004<\001\230\001\236\000\000\000\000\000\000\001\237\001.\000\000\001\234\001\235\000\000\001\238\000\000\000\000\001\236\002\015\000\000\000\207\001\237\000\000\001\231\000\000\004\252\000\000\001\238\000\000\001\235\000\000\002\019\000\189\003k\001\236\000\000\000\000\000\000\001\237\000\000\000\000\000\000\000\000\000\000\001\238\000\198\000\000\000\000\002\015\000\000\000\202\000\000\000\000\000\000\000\000\000\000\001\232\000\000\000\000\000\000\003\146\000\000\004+\000\142\000\000\000\000\004,\000\000\000\000\000\000\001\233\000\000\000\207\000\000\000\000\000\208\000\000\000\000\001.\000\207\001\234\000\198\001\231\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000_\000\000\000\189\004\003\000\000\000\192\001\235\000\142\001\194\000\193\000\000\001\236\000\000\000_\000\209\001\237\000\000\000\000\000\192\000\000\000\000\001\238\000\200\001\232\000\000\002\015\000\198\000\000\000\198\000\000\001\196\000\199\000\000\000\202\000\000\000\000\004\169\001\233\001.\000\000\000\000\000\241\000\000\000\206\000\000\001.\000\142\001\234\000\000\000_\000\000\000\000\000\000\000\000\000\192\000\000\000\206\000\000\000\200\000\000\000\211\000\000\000_\000\000\000\242\001\235\000\000\000\192\000\243\004\171\001\236\000\193\000\000\000\000\001\237\000\213\000\000\000\000\000\000\0049\001\238\000\000\000\000\004\176\002\015\000\000\000_\000\207\000_\000\000\004:\000\192\000\206\000\192\000\198\000\200\000\198\000\200\000\000\000\202\000\000\000\202\000\000\000\000\004\177\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\142\000\000\000\142\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\004\179\000\000\000\206\000\000\000\206\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000_\000\000\000_\000\000\000\000\000\192\002+\000\192\000\000\000\200\004F\000\200\000\209\000\000\000\207\004G\000\000\000\208\003l\004H\000\000\000\000\003m\000\000\000\000\004I\000\000\000\207\002A\000\000\000\208\000\000\000\000\000\000\000\000\000\000\001.\000\000\000\000\000\241\003l\000\198\002+\000\206\003m\000\206\000\202\000\000\000\209\000\000\000\000\000\207\000\000\000\207\000\208\000\000\000\208\000\000\000\211\000\142\000\000\000\209\000\242\000\000\002G\000\000\000\243\000\000\000\000\000\000\000\000\000\000\001.\000\213\000\000\000\241\000\000\000\000\003\146\000\000\000\000\002+\003n\000\000\000\000\000\209\003o\000\209\000\000\000\000\000\000\000\000\000\198\000\000\000\211\000\000\000\000\000\199\000\242\000\000\003\146\000_\000\243\002K\003n\000\000\000\192\000\198\003o\000\213\000\200\001.\000\202\003\197\000\241\000\000\000\000\000\000\000\000\000\207\000\000\000\207\000\208\000\000\000\208\000\142\000\000\000\000\000\000\000\000\000\000\000\215\000\000\000\211\000\000\003\197\000\000\000\242\000\000\000\000\000\000\000\243\000\246\000\000\000\206\000\000\003\148\002+\000\213\003Y\000\000\000\000\000_\000\209\000\000\000\209\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000_\003\148\003R\000\198\003[\000\192\000\000\003\150\000\202\000\200\001.\000\000\001.\000\241\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000\000\003|\003\198\003\186\000\000\000\000\000\000\000\206\003\150\000\207\000\000\000\211\003}\000\211\000\000\000\242\000\000\000\242\000\000\000\243\000\000\000\243\000\206\003|\0070\003\186\000\213\000\000\000\213\000\000\000\000\000\207\000\207\003\200\003}\000\208\000\000\000\000\000\000\003\189\000\000\000\000\000_\000\000\000\198\000\000\003\153\000\192\000\000\000\202\000\000\000\200\000\000\000\000\000\198\003\200\000\000\000\000\000\000\000\202\002+\003\189\000\000\000\000\001\242\000\000\000\209\000\000\003\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\202\004\001\000\207\000\000\000\206\000\208\000\000\003\155\000\000\001.\000\000\000\000\000\241\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\000\000\003\156\000_\000\000\000\000\000\000\000\000\000\192\003\155\000\000\000\211\000\200\000_\000\000\000\242\000\209\000\000\000\192\000\243\000\000\000\000\000\200\000\000\003\156\004\022\000\213\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\192\000\000\000\000\000\000\000\200\000\000\000\206\004\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001.\000\206\000\000\000\241\000\000\000\207\000\000\000\215\000\208\000\000\000\000\003l\000\000\000\000\000\000\003m\000\000\000\000\000\248\000\000\000\000\000\000\000\211\000\206\003V\000\000\000\242\000\000\000\000\000\000\000\243\000\000\000\000\000\244\000\000\000\000\000\000\000\213\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003l\000\000\000\000\000\000\003m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\203\000\000\000\000\000\000\000\241\000\207\000\000\000\000\000\208\003\146\000\000\000\000\000\000\003n\000\000\000\207\000\000\003o\000\208\000\000\003l\000\189\004\"\000\211\003m\000\000\000\000\000\242\000\000\000\000\000\000\000\243\003\141\003\143\000\000\000\000\000\000\000\207\000\213\000\209\000\208\000\000\000\198\001%\003\188\000\000\000\000\000\202\003\146\000\209\000\000\000\000\003n\000\000\000\000\000\000\003o\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\143\000\241\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\198\000\000\000\241\003\148\000\000\000\202\003\146\000_\000\000\003\192\003n\000\211\000\192\000\000\003o\000\242\000\193\000\198\000\000\000\243\000\000\000\211\000\202\000\000\000\241\000\242\000\213\000\000\000_\000\243\000\000\003\150\000\000\000\192\000\000\000\000\000\213\000\200\000\000\000\000\000\000\003\195\003\148\000\211\000\000\000\000\003|\000\242\003\186\000\000\000\206\000\243\000\000\000\000\000\207\000\000\000\000\003}\000\213\000\000\000_\000\000\000\198\000\000\000\000\000\192\000\000\000\202\000\000\000\200\003\150\000\206\000\000\000\000\003\148\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\192\000\000\003\189\003|\000\200\003\186\000\000\000\000\000\000\003\153\000\000\000\207\000\000\000\000\003}\000\000\000\000\000\198\000\000\000\000\003\150\000\206\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\202\003|\000\000\003\186\000\206\000\000\000_\003\189\000\000\000\207\000\207\000\192\003}\000\208\003\153\000\200\000\000\003\155\000\000\000\000\000\000\000\000\000\000\000\000\000\198\000\000\003\220\000\000\000\000\000\202\000\000\000\207\003\156\000\000\000\208\000\000\000\198\000\000\000\000\003\189\000\000\000\202\000\000\000_\000\209\000\000\003\153\000\000\000\192\000\206\000\000\000\000\000\200\000\000\000\000\000_\003\155\000\000\003\232\003\143\000\192\000\000\000\000\000\207\000\200\000\209\000\208\000\000\000\000\000\000\000\000\003\156\000\000\000\198\000\000\003\240\000\000\004M\000\202\000\000\000\207\000\000\000\000\000\208\000_\000\000\000\206\000\000\003\155\000\192\000\000\003\143\000\241\000\200\000\000\000\000\000_\000\209\000\206\000\000\000\000\000\192\000\000\003\156\000\000\000\200\004\131\000\000\003\143\000\000\000\000\000\211\000\000\000\000\000\209\000\242\000\000\000\000\004\133\000\243\003\247\000\000\000\000\000\000\000\241\000\207\000\213\000\206\000\208\000\000\000\000\000\000\000\000\000_\000\000\000\198\000\000\000\000\000\192\000\206\000\202\000\241\000\200\000\211\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\243\000\000\003\143\000\000\004\135\000\198\004\217\000\213\000\209\000\211\000\202\000\207\000\000\000\242\000\208\000\000\000\000\000\243\000\000\000\000\000\000\000\000\000\000\000\207\000\213\000\206\000\208\000\000\000\189\004%\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\000\003\143\000\189\004(\000\000\000\000\000_\000\209\000\000\000\000\000\000\000\192\000\000\000\244\000\207\000\200\000\211\000\208\000\000\000\209\000\242\000\000\000\000\000\000\000\243\000\000\000\207\000_\000\000\000\208\000\000\000\213\000\192\000\000\000\241\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\244\000\000\000\000\000\000\000\241\000\000\000\209\000\206\000_\000\000\000\000\000\211\000\244\000\192\000\000\000\242\000\000\000\193\000\209\000\243\000_\000\207\000\000\000\211\000\208\000\192\000\213\000\242\000\206\000\193\000\000\000\243\000\000\000\241\000\000\000\000\000\000\000\198\000\213\000\000\000\000\000\000\000\202\000\000\000\000\000\241\000\000\000\000\000\000\000\244\000\000\000\206\000\211\000\198\000\198\000\209\000\242\000\000\000\202\000\202\000\243\000\000\000\000\000\206\000\211\000\000\000\198\000\213\000\242\000\000\000\000\000\202\000\243\000\000\000\000\000\000\000\000\000\000\004\226\000\213\000\000\000\000\000\241\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\202\000\000\000_\000\000\004\234\000\000\000\211\000\192\000\000\000\207\000\242\000\200\000\208\000\000\000\243\000\000\003\143\000\000\000_\000_\000\000\000\213\000\209\000\192\000\192\000\000\000\000\000\200\000\200\000\000\000\000\000_\000\207\000\000\000\000\000\208\000\192\003\143\000\000\000\000\000\200\000\000\000\000\000\209\000\207\000\206\000\000\000\208\000\000\000\241\000\000\000\000\000\000\000\000\000\000\000_\000\000\000\000\000\198\000\000\000\192\000\206\000\206\000\202\000\200\000\000\000\209\000\000\000\211\000\000\000\241\000\000\000\242\000\000\000\206\000\000\000\243\000\000\000\209\000\000\000\000\000\000\000\198\000\213\000\000\000\000\000\000\000\202\000\000\000\211\000\000\000\000\000\000\000\242\000\198\000\000\000\000\000\243\000\206\000\202\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005U\000\000\000_\000\000\000\000\000\207\000\000\000\192\000\208\000\000\000\198\000\200\000\000\000\000\000\000\000\202\005a\005f\000\000\000\000\000\000\000\207\000\207\000\000\000\208\000\208\000_\000\000\000\000\005m\000\000\000\192\000\000\003\143\000\207\000\200\000\000\000\208\000_\000\209\000\000\000\000\000\000\000\192\000\000\000\206\000\000\000\200\000\000\003\143\003\143\000\000\000\000\005v\000\000\000\209\000\209\000\000\000\207\000\000\000\000\000\208\003\143\000\000\000\000\000\000\000\241\000\000\000\209\000\206\000_\000\000\000\198\000\000\000\000\000\192\000\000\000\202\000\000\000\200\000\000\000\206\000\241\000\241\000\000\000\211\003\143\000\000\007\012\000\242\000\000\000\000\000\209\000\243\000\000\000\241\000\000\000\000\000\000\000\000\000\213\000\211\000\211\000\000\000\000\000\242\000\242\000\198\000\000\000\243\000\243\000\000\000\202\000\206\000\211\000\000\000\213\000\213\000\242\000\241\000\000\000\207\000\243\007q\000\208\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\192\000\211\000\000\005\140\000\200\000\242\000\000\000\000\000\207\000\243\000\000\000\208\001\026\000\000\000\000\005\145\000\213\000\000\000\209\000\000\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\192\003\143\000\000\000\206\000\200\000\000\000\198\000\209\000\000\000\000\000\241\000\202\005\152\003\143\000\000\000\000\000\000\000\207\000\000\000\209\000\208\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\211\000\000\000\202\000\000\000\242\000\241\000\000\000\000\000\243\000\206\000\000\000\000\000\000\000\000\000\000\000\213\003\143\000\241\000\000\000\000\000\000\000\198\000\209\000\000\000\211\000\000\000\202\000\000\000\242\000\000\000\000\000\000\000\243\000\000\000\000\000\000\000\211\000_\000\000\000\213\000\242\000\000\000\192\000\000\000\243\000\000\000\200\000\000\000\000\000\241\000\207\000\213\000\000\000\208\000\000\000\000\000\000\000_\000\000\000\000\000\198\000\000\000\192\000\000\000\000\000\202\000\200\000\000\000\211\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\243\000\000\007\r\000\000\000\206\000_\000\000\000\213\000\209\000\207\000\192\000\000\000\208\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\241\000\000\007\r\000\000\000\000\000\000\000\198\000\000\000\209\000_\000\000\000\202\000\000\000\206\000\192\000\000\000\000\000\000\000\200\000\211\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\243\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\241\000\198\000\000\000\198\000\000\000\000\000\202\000\000\000\202\000\000\000\207\000\000\000\000\000\208\000\000\000\000\003l\000\206\000\000\000\211\003m\000\000\000\000\000\242\000\000\000\000\000\000\000\243\000\000\000\000\000\207\000_\000\000\000\208\000\213\000\000\000\192\000\000\000\240\000\000\000\200\000\000\000\198\000\198\000\209\000\000\000\000\000\202\000\202\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\001'\000\000\000\000\000_\000\000\000_\000\209\000\000\000\192\000\000\000\192\000\000\000\200\000\241\000\200\000\000\000\206\003l\003\146\000\000\000\000\003m\003n\000\000\001\244\000\000\003o\000\000\000\000\000\000\000\209\000\000\000\211\000\241\000\000\000\207\000\242\000\000\000\208\000\000\000\243\000\000\000\000\000\000\000_\000_\000\206\000\213\000\206\000\192\000\192\000\000\000\211\000\200\000\200\000\000\000\242\000\241\000\000\000\000\000\243\000\000\000\000\002\028\000\000\000\000\000\000\000\213\000\000\000\209\000\000\000\000\000\000\000\000\000\198\000\000\000\211\003\146\000\000\000\202\000\242\003n\000\000\000\000\000\243\003o\003\148\000\206\000\206\000\000\000\000\000\213\000\207\000\000\000\000\000\208\000\241\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\150\000\211\000\000\000\000\000\000\000\242\0025\000\000\000\207\000\243\000\207\000\208\000\209\000\208\000\000\003|\000\213\003\185\000\000\000\000\000_\000\000\000\000\000\207\000\000\000\192\003}\000\000\000\000\000\200\000\000\003\148\000\000\000\000\000\000\000\000\003=\000\000\003C\000\241\000\000\000\000\000\209\000\000\000\209\000\000\000_\000\000\000\000\000\207\000\207\000\192\000\208\000\208\000\000\000\200\000\198\000\000\000\211\003\150\003\153\000\202\000\242\000\206\000\000\000\000\000\243\000\000\000\000\000\241\000\000\000\241\000\000\000\213\003|\000\000\003\193\003v\003\129\000\000\000\000\000\000\000\207\000\209\000\209\003}\000\198\000\000\000\211\000\206\000\211\000\202\000\242\000\000\000\242\000\000\000\243\000\000\000\243\000\000\000\000\000\000\003\155\000\213\000\000\000\213\000\000\000\000\000\000\000\000\000\241\000\241\000\000\000\000\000\000\000\198\000_\003\156\000\000\003\153\000\202\000\192\000\000\000\000\000\000\000\200\000\000\000\198\000\000\000\211\000\211\000\000\000\202\000\242\000\242\000\000\003\196\000\243\000\243\000\207\000\000\000\000\000\208\000\000\000\213\000\213\000_\000\000\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\206\000\000\003\155\000\000\000\000\000\198\000\207\000\000\003\131\000\208\000\202\000\000\000\000\000\000\000\209\000\000\000_\003\156\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\198\000_\000\000\000\206\000\000\000\202\000\192\004\006\000\000\000\000\000\200\000\000\000\000\000\209\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\211\000\000\000\000\000\000\000\242\000_\000\000\000\241\000\243\000\000\000\192\000\206\000\000\000\000\000\200\000\213\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\000\000\000\000\000\211\000_\000\000\000\000\000\242\000\000\000\192\000\000\000\243\000\000\000\200\000\000\000\000\000\000\000\000\000\213\000\000\000\000\004\011\000\000\000\207\000\000\000\206\000\208\000\209\000\000\000\000\000\198\000\198\000\000\000\000\000\000\000\202\000\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\000\004\015\000\207\000\000\000\241\000\208\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\242\000\000\000\000\0043\000\243\000\000\000\000\000\241\000\000\000\209\000\000\000\213\000\000\000_\000_\004O\000\000\000\000\000\192\000\192\000\000\000\209\000\200\000\200\000\207\000\000\000\211\000\208\000\198\000\000\000\242\000\000\000\000\000\202\000\243\000\000\000\241\000\000\000\000\000\000\000\198\000\213\000\000\000\000\000\000\000\202\000\207\000\000\000\241\000\208\000\000\000\000\004{\000\000\000\000\000\211\000\206\000\206\000\209\000\242\000\198\000\000\000\000\000\243\000\000\000\202\000\000\000\211\000\000\000\000\000\213\000\242\000\000\000\000\004\166\000\243\000\000\000\000\000\000\000\000\000\209\000\000\000\213\000\000\000\000\000\241\000\000\000\000\000_\000\000\003l\000\000\000\000\000\192\003m\000\000\000\000\000\200\000\000\000\000\000_\000\000\000\000\000\000\000\211\000\192\000\000\000\241\000\242\000\200\000\000\000\198\000\243\000\000\000\000\000\000\000\202\000\000\000\000\000\213\000_\000\000\000\000\000\000\000\000\000\192\000\211\000\000\000\000\000\200\000\242\000\206\000\207\000\207\000\243\000\208\000\208\000\000\000\000\000\000\000\000\000\213\000\000\000\206\000\000\000\000\000\198\000\000\000\000\000\000\003\146\000\202\000\000\000\000\003n\000\000\000\000\000\000\003o\000\000\005H\005\175\000\000\000\206\000\000\000\000\000\209\000\209\000\000\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\198\000\000\000\198\000\000\000\000\000\202\000\000\000\204\000\000\000\000\000\241\000\241\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000_\000\207\000\000\000\000\000\208\000\192\000\211\000\211\000\206\000\200\000\242\000\242\003\148\000\207\000\243\000\243\000\208\000\000\000\000\000\000\000\000\000\213\000\213\000\000\000\000\000\000\000\198\000\000\000\000\005\195\000\000\000\204\000\000\000\207\000\000\000\209\000\208\000_\000\000\000_\003\150\005\197\000\192\000\206\000\192\000\000\000\200\000\209\000\200\000\000\000\000\000\198\000\000\000\000\000\000\003|\000\204\003\152\000\000\000\000\000\000\005\199\000\241\000\207\000\000\000\000\003}\000\209\000\000\000\000\000\198\000\000\000\000\000\000\000\241\000\199\000\000\000\000\000\000\000\000\000\206\000\211\000\206\000\198\000\207\000\242\000_\000\208\000\204\000\243\000\000\000\192\000\000\000\211\000\241\000\200\000\213\000\242\000\000\000\000\003\153\000\243\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000_\005\205\000\211\000\000\000\000\000\192\000\242\000\209\000\207\000\200\000\243\000\208\000\000\000\000\000\000\000\000\000\000\000\213\000\206\000_\000\000\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\000\003\155\000_\000\000\000\241\000\000\005\219\000\192\000\000\000\000\000\000\000\200\000\209\000\206\000\198\000\207\003\156\000\207\000\208\000\199\000\208\000\000\000\000\000\211\000\000\000\000\000\000\000\242\000\000\000\000\000\000\000\243\000\206\000\000\000\000\000\000\000\198\000\000\000\213\000\241\000\000\000\199\000\000\005\233\000\000\000\206\000\000\000\000\000\000\000\209\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\211\000\000\000\000\000\000\000\242\000\000\000\207\000\000\000\243\000\208\000\000\000\000\000\000\000\000\000\198\000\213\000_\000\000\000\241\000\199\000\210\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\198\000\207\000\000\000\000\000\208\000\199\000\000\000\211\000_\000\211\000\209\000\242\000\000\000\192\001\226\000\243\000\000\000\200\000\000\000\000\000\207\000\000\000\213\000\208\000\213\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\000\000\207\000\000\000\209\000\208\000\210\000\000\000\000\000\000\000\000\000\000\000\000\000_\000\000\000\000\000\198\000\000\000\192\000\000\000\206\000\199\000\200\000\209\000\000\000\211\000\000\000\000\000\000\000_\001\228\000\210\000\000\000\000\000\192\000\000\000\209\000\000\000\200\000\000\000\213\000\000\000\198\000\000\000\000\000\000\000\000\000\199\000\000\000\000\000\211\000\000\000\198\000\000\000\000\004>\000\206\000\199\000\000\000\000\000\000\000\000\000\000\000\210\000\000\000\213\000\000\000\000\000\198\000\215\000\000\000\000\000\206\000\199\000\207\000\000\000_\000\208\000\198\000\000\000\250\000\192\000\211\000\199\000\000\000\200\000\000\004@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\213\000\000\000\208\000\000\000\000\000_\000\000\000\000\000\000\000\000\000\192\000\209\000\000\000\198\000\200\000_\000\000\000\000\000\199\000\000\000\192\000\000\000\206\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000_\000\000\000\209\000\000\000\207\000\192\000\198\000\208\000\000\000\200\000_\000\199\000\000\000\000\000\000\000\192\000\000\000\206\000\000\000\200\000\207\000\000\000\000\000\208\000\000\000\000\000\215\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252\000\209\000\000\000\000\000\000\000_\000\206\000\000\000\198\000\000\000\192\000\215\000\000\000\199\000\200\000\000\000\206\000\209\000\000\000\000\000\000\000\000\000\254\000\000\000\000\000\000\000\000\000\000\000\000\000_\000\207\000\000\000\000\000\208\000\192\000\000\000\000\000\198\000\200\000\000\000\000\000\000\000\199\000\000\000\000\000\000\000\000\000\215\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\001\000\000\208\000\000\000\000\000\000\000\215\000\209\000\000\000\207\000\000\000_\000\208\000\000\000\000\000\206\000\192\001\002\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\000\209\000\000\000\207\000\000\000\000\000\208\000\000\000_\000\000\000\000\000\209\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\198\000\215\000\206\000\000\000\000\000\199\000\198\000\209\000\000\000\000\000\000\000\199\001\004\000\000\000\000\000\207\000\000\000\209\000\208\000\000\000\198\000\000\000\000\000\000\000\000\000\199\000\000\000\215\000\198\000\000\000\000\000\206\000\000\000\199\000\000\000\000\000\198\000\215\001\006\000\207\000\000\000\199\000\208\000\000\000\000\000\000\000\000\000\000\001\b\000\209\000\000\000\000\000\000\000\215\000\000\000\000\000\198\000\000\000\000\000\000\000_\000\199\000\000\000\215\001\n\000\192\000_\000\000\000\000\000\200\000\000\000\192\000\000\000\209\001\012\000\200\000\000\000\000\000\207\000\000\000_\000\208\000\000\000\000\000\000\000\192\000\000\000\000\000_\000\200\000\000\000\000\000\000\000\192\000\000\000\215\000_\000\200\000\000\000\000\000\000\000\192\000\000\000\206\000\000\000\200\001\014\000\207\000\000\000\206\000\208\000\000\000\209\000\000\000\000\000\000\000_\000\000\000\000\000\215\000\000\000\192\000\000\000\206\000\000\000\200\000\000\000\000\000\000\000\000\001\016\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\198\000\209\000\000\000\000\000\000\000\199\000\000\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\199\000\215\000\206\000\198\000\000\000\000\000\000\000\000\000\199\000\000\000\000\000\000\001\018\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\000\000\000\000\000\207\000\000\000\215\000\208\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\020\000\207\000_\000\000\000\208\000\000\000\000\000\192\000\000\000\207\000\000\000\200\000\208\000\000\000_\000\209\000\000\000\207\000\000\000\192\000\208\000\209\000_\000\200\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\209\000\198\000\207\000\000\000\000\000\208\000\199\000\000\000\209\000\198\000\206\000\000\000\000\000\000\000\199\000\000\000\209\000\000\000\000\000\198\000\000\000\000\000\206\000\000\000\199\000\000\000\215\000\000\000\000\000\000\000\206\000\000\000\215\000\000\000\198\000\000\000\209\001\240\000\000\000\199\000\000\000\000\000\198\001\246\000\000\000\000\000\215\000\199\000\198\000\000\000\000\000\000\000\000\000\199\000\215\000\000\000\000\001\248\000\000\000\000\000\000\000_\000\215\000\000\000\000\001\250\000\192\000\000\000\000\000_\000\200\000\000\000\000\001\252\000\192\000\000\000\000\000\000\000\200\000_\000\000\000\000\000\215\000\000\000\192\000\000\000\207\000\198\000\200\000\208\000\000\000\000\000\199\001\254\000_\000\000\000\000\000\000\000\207\000\192\000\000\000\208\000_\000\200\000\206\000\000\000\207\000\192\000_\000\208\000\000\000\200\000\206\000\192\000\000\000\000\000\198\000\200\000\000\000\000\000\209\000\199\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\198\000\000\000\000\000\206\000\000\000\199\000\209\000\000\000\000\000\000\000\000\000\206\000\000\000_\000\000\000\000\000\000\000\206\000\192\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\198\000\000\000\000\000\000\000\000\000\199\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\198\000\000\000_\002\000\000\215\000\199\000\207\000\192\000\000\000\208\000\000\000\200\000\215\000\000\000\207\002\002\000\206\000\208\000\000\000\000\000_\000\000\000\000\002\004\000\207\000\192\000\000\000\208\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\209\000\000\000\208\000\000\000\000\000\206\000_\000\207\000\209\000\198\000\208\000\192\000\000\000\207\000\199\000\200\000\208\000\000\000\209\000\000\000_\000\000\000\000\000\206\000\000\000\192\000\000\000\000\000\000\000\200\000\000\000\198\000\198\000\209\000\000\000\000\000\199\000\199\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\198\000\215\000\209\000\000\000\206\000\199\000\000\000\207\000\198\000\215\000\208\000\000\002\006\000\199\000\000\000\000\000\198\000\000\000\206\000\215\002\b\000\199\000\000\000\000\000_\000\000\000\198\000\000\000\000\000\192\002\n\000\199\000\000\000\200\000\215\000\000\000\207\000\000\000\000\000\208\000\000\000\209\000\215\000\000\000\000\002\012\000_\000_\000\215\000\000\000\000\000\192\000\192\002\014\000\207\000\200\000\200\000\208\000\000\003\158\000_\000\198\000\000\000\000\000\000\000\192\000\199\000\206\000_\000\200\000\209\000\000\000\000\000\192\000\000\000\000\000_\000\200\000\000\000\000\000\207\000\192\000\000\000\208\000\000\000\200\000_\000\215\000\209\000\206\000\206\000\192\000\000\000\000\000\207\000\200\000\000\000\208\003\160\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\209\000\198\000\215\000\000\000\000\000\206\000\199\000_\000\000\000\000\000\000\000\000\000\192\003\162\000\209\000\206\000\200\000\000\000\198\000\000\000\215\000\000\000\000\000\199\000\000\000\000\000\000\000\000\000\000\000\207\000\000\003\164\000\208\000\198\000\000\000\000\000\000\000\000\000\199\000\000\000\000\000\000\000\000\000\198\000\000\000\000\000\215\000\000\000\199\000\000\000\206\000\207\000\207\000\000\000\208\000\208\000\000\003\166\000\000\000\198\000\215\000_\000\000\000\209\000\199\000\207\000\192\000\000\000\208\000\000\000\200\003\168\000\000\000\207\000\000\000\000\000\208\000\000\000_\000\000\000\000\000\207\000\000\000\192\000\208\000\209\000\209\000\200\000\000\000\000\000\000\000\207\000\000\000_\000\208\000\000\000\000\000\000\000\192\000\209\000\000\000\000\000\200\000_\000\206\000\000\000\000\000\209\000\192\000\215\000\000\000\000\000\200\000\000\000\000\000\209\000\000\000\000\000\000\000_\003\170\000\206\000\000\000\000\000\192\000\209\000\207\000\000\000\200\000\208\000\198\000\215\000\215\000\000\000\000\000\199\000\206\000\000\000\000\000\000\000\000\000\000\003\172\003\174\000\198\000\215\000\206\000\000\000\000\000\199\000\000\000\000\000\000\000\215\000\000\000\000\003\176\000\000\000\198\000\000\000\209\000\215\000\206\000\199\003\178\000\000\000\000\000\000\000\000\000\000\000\198\000\215\003\180\000\000\000\000\000\199\000\000\000\000\000\000\000\000\000\207\000\000\003\182\000\208\000\198\000\000\000\000\000\000\000\000\000\199\000_\000\000\000\000\000\000\000\000\000\192\000\000\000\207\000\198\000\200\000\208\000\000\000\000\000\199\000_\000\198\000\215\000\000\000\000\000\192\000\199\000\000\000\207\000\200\000\209\000\208\000\000\003\184\000_\000\000\000\000\000\000\000\207\000\192\000\000\000\208\000\000\000\200\000\000\000\000\000_\000\209\000\000\000\206\000\000\000\192\000\000\000\000\000\207\000\200\000\000\000\208\000\000\000\000\000_\000\198\000\209\000\206\000\000\000\192\000\199\000\000\000\000\000\200\000\000\000\000\000\209\000\000\000_\000\198\000\215\000\206\000\000\000\192\000\199\000_\000\000\000\200\000\000\000\000\000\192\004K\000\209\000\206\000\200\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\004Q\000\000\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206\000\215\004S\000\000\000_\000\000\000\000\000\206\000\207\000\192\000\000\000\208\004U\000\200\000\000\000\000\000\000\000\215\000_\000\000\000\000\000\000\000\207\000\192\000\000\000\208\000\000\000\200\004W\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\206\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\206\000\207\000\000\000\000\000\208\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\000\000\000\000\000\209\000\207\000\000\000\000\000\208\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\004Y\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\004[\000\000\000\000\000\215\000\209\000\000\000\000\000\000\000\000\000\000\000\207\000\000\000\000\000\208\004]\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\207\000\000\004_\000\208\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004a\000\000\000\000\000\215\000\209\000\000\000\000\000\000\000\000\000\000\000\215\000\000\000\000\000\000\004c\000\000\000\000\000\000\000\209\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004g\000\000\000\000\000\215\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004i"))
   
   let semantic_action =
     [|
@@ -1562,13 +1717,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 = 
-# 1952 "parser_cocci_menhir.mly"
-      ( Ast0.set_arg_exp _1 )
-# 1572 "parser_cocci_menhir.ml"
+# 2162 "parser_cocci_menhir.mly"
+          ( Ast0.set_arg_exp _1 )
+# 1727 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1587,22 +1742,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 89 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 1593 "parser_cocci_menhir.ml"
+# 1748 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_aexpr = 
-# 1954 "parser_cocci_menhir.mly"
+# 2164 "parser_cocci_menhir.mly"
       ( let (nm,lenname,pure,clt) = _1 in
       let nm = P.clt2mcode nm clt in
       let lenname =
        match lenname with
-         Some nm -> Some(P.clt2mcode nm clt)
-       | None -> None in
+         Ast.AnyLen -> Ast0.AnyListLen
+       | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
+       | Ast.CstLen n -> Ast0.CstListLen n in
       Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) )
-# 1606 "parser_cocci_menhir.ml"
+# 1762 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1624,9 +1780,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_aexpr = 
-# 1962 "parser_cocci_menhir.mly"
+# 2173 "parser_cocci_menhir.mly"
       ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) )
-# 1630 "parser_cocci_menhir.ml"
+# 1786 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1646,9 +1802,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 2006 "parser_cocci_menhir.mly"
+# 2209 "parser_cocci_menhir.mly"
             ( Ast.WhenAny )
-# 1652 "parser_cocci_menhir.ml"
+# 1808 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1668,9 +1824,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 2007 "parser_cocci_menhir.mly"
+# 2210 "parser_cocci_menhir.mly"
             ( Ast.WhenStrict )
-# 1674 "parser_cocci_menhir.ml"
+# 1830 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1690,9 +1846,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 2008 "parser_cocci_menhir.mly"
+# 2211 "parser_cocci_menhir.mly"
             ( Ast.WhenForall )
-# 1696 "parser_cocci_menhir.ml"
+# 1852 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1712,9 +1868,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_any_strict = 
-# 2009 "parser_cocci_menhir.mly"
+# 2212 "parser_cocci_menhir.mly"
             ( Ast.WhenExists )
-# 1718 "parser_cocci_menhir.ml"
+# 1874 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1736,9 +1892,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_ = 
-# 1313 "parser_cocci_menhir.mly"
+# 1426 "parser_cocci_menhir.mly"
                                             ( _1 )
-# 1742 "parser_cocci_menhir.ml"
+# 1898 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1766,19 +1922,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 : (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 1774 "parser_cocci_menhir.ml"
+# 1930 "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"
+# 1428 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Mul _1 _2 _3 )
-# 1782 "parser_cocci_menhir.ml"
+# 1938 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1806,19 +1962,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 : (
-# 120 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 1814 "parser_cocci_menhir.ml"
+# 1970 "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"
+# 1430 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 1822 "parser_cocci_menhir.ml"
+# 1978 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1846,19 +2002,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 : (
-# 121 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Data.clt)
-# 1854 "parser_cocci_menhir.ml"
+# 2010 "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"
+# 1432 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Plus _1 _2 _3 )
-# 1862 "parser_cocci_menhir.ml"
+# 2018 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1886,19 +2042,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 : (
-# 121 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Data.clt)
-# 1894 "parser_cocci_menhir.ml"
+# 2050 "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"
+# 1434 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Minus _1 _2 _3 )
-# 1902 "parser_cocci_menhir.ml"
+# 2058 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1926,19 +2082,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 : (
-# 119 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 1934 "parser_cocci_menhir.ml"
+# 2090 "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"
+# 1436 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 1942 "parser_cocci_menhir.ml"
+# 2098 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -1966,19 +2122,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
         let _2 : (
-# 118 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 2130 "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_ = 
+# 1438 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 2138 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 162 "parser_cocci_menhir.mly"
        (Ast_cocci.logicalOp * Data.clt)
-# 1974 "parser_cocci_menhir.ml"
+# 2170 "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"
+# 1440 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 1982 "parser_cocci_menhir.ml"
+# 2178 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2006,19 +2202,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 : (
-# 117 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2014 "parser_cocci_menhir.ml"
+# 2210 "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"
+# 1442 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.Eq _1 _2 _3 )
-# 2022 "parser_cocci_menhir.ml"
+# 2218 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2046,19 +2242,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 : (
-# 117 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2054 "parser_cocci_menhir.ml"
+# 2250 "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"
+# 1444 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 2062 "parser_cocci_menhir.ml"
+# 2258 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2086,19 +2282,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 : (
-# 116 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2094 "parser_cocci_menhir.ml"
+# 2290 "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_ = 
-# 1331 "parser_cocci_menhir.mly"
+# 1446 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.And _1 _2 _3 )
-# 2102 "parser_cocci_menhir.ml"
+# 2298 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2126,19 +2322,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 : (
-# 114 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2134 "parser_cocci_menhir.ml"
+# 2330 "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_ = 
-# 1333 "parser_cocci_menhir.mly"
+# 1448 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Or _1 _2 _3 )
-# 2142 "parser_cocci_menhir.ml"
+# 2338 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2166,19 +2362,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 : (
-# 115 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2174 "parser_cocci_menhir.ml"
+# 2370 "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_ = 
-# 1335 "parser_cocci_menhir.mly"
+# 1450 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Xor _1 _2 _3 )
-# 2182 "parser_cocci_menhir.ml"
+# 2378 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2206,19 +2402,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 : (
-# 113 "parser_cocci_menhir.mly"
+# 157 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2214 "parser_cocci_menhir.ml"
+# 2410 "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_ = 
-# 1337 "parser_cocci_menhir.mly"
+# 1452 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 2222 "parser_cocci_menhir.ml"
+# 2418 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2246,19 +2442,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 : (
-# 112 "parser_cocci_menhir.mly"
+# 156 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2254 "parser_cocci_menhir.ml"
+# 2450 "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_ = 
-# 1339 "parser_cocci_menhir.mly"
+# 1454 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 2262 "parser_cocci_menhir.ml"
+# 2458 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2280,9 +2476,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_arith_expr_eexpr_invalid_ = 
-# 1313 "parser_cocci_menhir.mly"
+# 1426 "parser_cocci_menhir.mly"
                                             ( _1 )
-# 2286 "parser_cocci_menhir.ml"
+# 2482 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2310,19 +2506,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 : (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2318 "parser_cocci_menhir.ml"
+# 2514 "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"
+# 1428 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Mul _1 _2 _3 )
-# 2326 "parser_cocci_menhir.ml"
+# 2522 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2350,19 +2546,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 : (
-# 120 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 2358 "parser_cocci_menhir.ml"
+# 2554 "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"
+# 1430 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2366 "parser_cocci_menhir.ml"
+# 2562 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2390,19 +2586,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 : (
-# 121 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2398 "parser_cocci_menhir.ml"
+# 2594 "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"
+# 1432 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Plus _1 _2 _3 )
-# 2406 "parser_cocci_menhir.ml"
+# 2602 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2430,19 +2626,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 : (
-# 121 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2438 "parser_cocci_menhir.ml"
+# 2634 "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"
+# 1434 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Minus _1 _2 _3 )
-# 2446 "parser_cocci_menhir.ml"
+# 2642 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2470,19 +2666,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 : (
-# 119 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 2478 "parser_cocci_menhir.ml"
+# 2674 "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"
+# 1436 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2486 "parser_cocci_menhir.ml"
+# 2682 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2510,19 +2706,59 @@ 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 : (
-# 118 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 2714 "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_ = 
+# 1438 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 2722 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 162 "parser_cocci_menhir.mly"
        (Ast_cocci.logicalOp * Data.clt)
-# 2518 "parser_cocci_menhir.ml"
+# 2754 "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"
+# 1440 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 2526 "parser_cocci_menhir.ml"
+# 2762 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2550,19 +2786,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 : (
-# 117 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2558 "parser_cocci_menhir.ml"
+# 2794 "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"
+# 1442 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.Eq _1 _2 _3 )
-# 2566 "parser_cocci_menhir.ml"
+# 2802 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2590,19 +2826,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 : (
-# 117 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2598 "parser_cocci_menhir.ml"
+# 2834 "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"
+# 1444 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.NotEq _1 _2 _3 )
-# 2606 "parser_cocci_menhir.ml"
+# 2842 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2630,19 +2866,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 : (
-# 116 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2638 "parser_cocci_menhir.ml"
+# 2874 "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_ = 
-# 1331 "parser_cocci_menhir.mly"
+# 1446 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.And _1 _2 _3 )
-# 2646 "parser_cocci_menhir.ml"
+# 2882 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2670,19 +2906,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 : (
-# 114 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2678 "parser_cocci_menhir.ml"
+# 2914 "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_ = 
-# 1333 "parser_cocci_menhir.mly"
+# 1448 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Or _1 _2 _3 )
-# 2686 "parser_cocci_menhir.ml"
+# 2922 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2710,19 +2946,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 : (
-# 115 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2718 "parser_cocci_menhir.ml"
+# 2954 "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_ = 
-# 1335 "parser_cocci_menhir.mly"
+# 1450 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Xor _1 _2 _3 )
-# 2726 "parser_cocci_menhir.ml"
+# 2962 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2750,19 +2986,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 : (
-# 113 "parser_cocci_menhir.mly"
+# 157 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2758 "parser_cocci_menhir.ml"
+# 2994 "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_ = 
-# 1337 "parser_cocci_menhir.mly"
+# 1452 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 2766 "parser_cocci_menhir.ml"
+# 3002 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2790,19 +3026,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 : (
-# 112 "parser_cocci_menhir.mly"
+# 156 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2798 "parser_cocci_menhir.ml"
+# 3034 "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_ = 
-# 1339 "parser_cocci_menhir.mly"
+# 1454 "parser_cocci_menhir.mly"
       ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 2806 "parser_cocci_menhir.ml"
+# 3042 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2824,9 +3060,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
-# 1313 "parser_cocci_menhir.mly"
+# 1426 "parser_cocci_menhir.mly"
                                             ( _1 )
-# 2830 "parser_cocci_menhir.ml"
+# 3066 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2854,19 +3090,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 : (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2862 "parser_cocci_menhir.ml"
+# 3098 "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"
+# 1428 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Mul _1 _2 _3 )
-# 2870 "parser_cocci_menhir.ml"
+# 3106 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2894,19 +3130,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 : (
-# 120 "parser_cocci_menhir.mly"
+# 164 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 2902 "parser_cocci_menhir.ml"
+# 3138 "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"
+# 1430 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 2910 "parser_cocci_menhir.ml"
+# 3146 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2934,19 +3170,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 : (
-# 121 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2942 "parser_cocci_menhir.ml"
+# 3178 "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"
+# 1432 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Plus _1 _2 _3 )
-# 2950 "parser_cocci_menhir.ml"
+# 3186 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -2974,19 +3210,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 : (
-# 121 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Data.clt)
-# 2982 "parser_cocci_menhir.ml"
+# 3218 "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"
+# 1434 "parser_cocci_menhir.mly"
       ( P.arith_op Ast.Minus _1 _2 _3 )
-# 2990 "parser_cocci_menhir.ml"
+# 3226 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3014,19 +3250,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 : (
-# 119 "parser_cocci_menhir.mly"
+# 163 "parser_cocci_menhir.mly"
        (Ast_cocci.arithOp * Data.clt)
-# 3022 "parser_cocci_menhir.ml"
+# 3258 "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"
+# 1436 "parser_cocci_menhir.mly"
       ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3030 "parser_cocci_menhir.ml"
+# 3266 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3054,19 +3290,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 : (
-# 118 "parser_cocci_menhir.mly"
-       (Ast_cocci.logicalOp * Data.clt)
-# 3062 "parser_cocci_menhir.ml"
+# 163 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3298 "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"
-      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 3070 "parser_cocci_menhir.ml"
+# 1438 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3306 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3094,19 +3330,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 : (
-# 117 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 3102 "parser_cocci_menhir.ml"
+# 162 "parser_cocci_menhir.mly"
+       (Ast_cocci.logicalOp * Data.clt)
+# 3338 "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.Eq _1 _2 _3 )
-# 3110 "parser_cocci_menhir.ml"
+# 1440 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 3346 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3134,19 +3370,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 : (
-# 117 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3142 "parser_cocci_menhir.ml"
+# 3378 "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.NotEq _1 _2 _3 )
-# 3150 "parser_cocci_menhir.ml"
+# 1442 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.Eq _1 _2 _3 )
+# 3386 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3174,19 +3410,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 : (
-# 116 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3182 "parser_cocci_menhir.ml"
+# 3418 "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_ = 
-# 1331 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.And _1 _2 _3 )
-# 3190 "parser_cocci_menhir.ml"
+# 1444 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 3426 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3214,19 +3450,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 : (
-# 114 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3222 "parser_cocci_menhir.ml"
+# 3458 "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_ = 
-# 1333 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Or _1 _2 _3 )
-# 3230 "parser_cocci_menhir.ml"
+# 1446 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.And _1 _2 _3 )
+# 3466 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3254,19 +3490,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 : (
-# 115 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3262 "parser_cocci_menhir.ml"
+# 3498 "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_ = 
-# 1335 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Xor _1 _2 _3 )
-# 3270 "parser_cocci_menhir.ml"
+# 1448 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Or _1 _2 _3 )
+# 3506 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3294,19 +3530,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 : (
-# 113 "parser_cocci_menhir.mly"
+# 159 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3302 "parser_cocci_menhir.ml"
+# 3538 "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_ = 
-# 1337 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 3310 "parser_cocci_menhir.ml"
+# 1450 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Xor _1 _2 _3 )
+# 3546 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3334,43 +3570,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 : (
-# 112 "parser_cocci_menhir.mly"
+# 157 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3342 "parser_cocci_menhir.ml"
+# 3578 "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_ = 
-# 1339 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 3350 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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_ = 
-# 1313 "parser_cocci_menhir.mly"
-                                            ( _1 )
-# 3374 "parser_cocci_menhir.ml"
+# 1452 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 3586 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3398,19 +3610,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 : (
-# 122 "parser_cocci_menhir.mly"
+# 156 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3406 "parser_cocci_menhir.ml"
+# 3618 "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_ = 
-# 1315 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Mul _1 _2 _3 )
-# 3414 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_eexpr_nest_expressions_ = 
+# 1454 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 3626 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3422,35 +3634,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 : (
-# 120 "parser_cocci_menhir.mly"
-       (Ast_cocci.arithOp * Data.clt)
-# 3446 "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_ = 
-# 1317 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3454 "parser_cocci_menhir.ml"
+# 1426 "parser_cocci_menhir.mly"
+                                            ( _1 )
+# 3650 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3478,19 +3674,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 : (
-# 121 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3486 "parser_cocci_menhir.ml"
+# 3682 "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.arith_op Ast.Plus _1 _2 _3 )
-# 3494 "parser_cocci_menhir.ml"
+# 1428 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Mul _1 _2 _3 )
+# 3690 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3518,19 +3714,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 : (
-# 121 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 3526 "parser_cocci_menhir.ml"
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3722 "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.Minus _1 _2 _3 )
-# 3534 "parser_cocci_menhir.ml"
+# 1430 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3730 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3558,19 +3754,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 : (
-# 119 "parser_cocci_menhir.mly"
-       (Ast_cocci.arithOp * Data.clt)
-# 3566 "parser_cocci_menhir.ml"
+# 165 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 3762 "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"
-      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
-# 3574 "parser_cocci_menhir.ml"
+# 1432 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Plus _1 _2 _3 )
+# 3770 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3598,19 +3794,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 : (
-# 118 "parser_cocci_menhir.mly"
-       (Ast_cocci.logicalOp * Data.clt)
-# 3606 "parser_cocci_menhir.ml"
+# 165 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 3802 "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"
-      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
-# 3614 "parser_cocci_menhir.ml"
+# 1434 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Minus _1 _2 _3 )
+# 3810 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3638,19 +3834,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 : (
-# 117 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 3646 "parser_cocci_menhir.ml"
+# 163 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3842 "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.Eq _1 _2 _3 )
-# 3654 "parser_cocci_menhir.ml"
+# 1436 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3850 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3678,19 +3874,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 : (
-# 117 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 3686 "parser_cocci_menhir.ml"
+# 163 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 3882 "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.NotEq _1 _2 _3 )
-# 3694 "parser_cocci_menhir.ml"
+# 1438 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 3890 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3718,19 +3914,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 : (
-# 116 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 3726 "parser_cocci_menhir.ml"
+# 162 "parser_cocci_menhir.mly"
+       (Ast_cocci.logicalOp * Data.clt)
+# 3922 "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_ = 
-# 1331 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.And _1 _2 _3 )
-# 3734 "parser_cocci_menhir.ml"
+# 1440 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 3930 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3758,19 +3954,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 : (
-# 114 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3766 "parser_cocci_menhir.ml"
+# 3962 "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_ = 
-# 1333 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Or _1 _2 _3 )
-# 3774 "parser_cocci_menhir.ml"
+# 1442 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.Eq _1 _2 _3 )
+# 3970 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3798,19 +3994,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 : (
-# 115 "parser_cocci_menhir.mly"
+# 161 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3806 "parser_cocci_menhir.ml"
+# 4002 "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_ = 
-# 1335 "parser_cocci_menhir.mly"
-      ( P.arith_op Ast.Xor _1 _2 _3 )
-# 3814 "parser_cocci_menhir.ml"
+# 1444 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 4010 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3838,19 +4034,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 : (
-# 113 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3846 "parser_cocci_menhir.ml"
+# 4042 "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_ = 
-# 1337 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.AndLog _1 _2 _3 )
-# 3854 "parser_cocci_menhir.ml"
+# 1446 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.And _1 _2 _3 )
+# 4050 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3878,19 +4074,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 : (
-# 112 "parser_cocci_menhir.mly"
+# 158 "parser_cocci_menhir.mly"
        (Data.clt)
-# 3886 "parser_cocci_menhir.ml"
+# 4082 "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_ = 
-# 1339 "parser_cocci_menhir.mly"
-      ( P.logic_op Ast.OrLog _1 _2 _3 )
-# 3894 "parser_cocci_menhir.ml"
+# 1448 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Or _1 _2 _3 )
+# 4090 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3902,17 +4098,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 : (
+# 159 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4122 "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 = 
-# 519 "parser_cocci_menhir.mly"
-              ( Ast.UNIQUE )
-# 3916 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1450 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Xor _1 _2 _3 )
+# 4130 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3924,17 +4138,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 : (
+# 157 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4162 "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 = 
-# 520 "parser_cocci_menhir.mly"
-              ( Ast.OPT )
-# 3938 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1452 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 4170 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3946,17 +4178,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 : (
+# 156 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4202 "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 = 
-# 521 "parser_cocci_menhir.mly"
-              ( Ast.MULTI )
-# 3960 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_expr_invalid_ = 
+# 1454 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.OrLog _1 _2 _3 )
+# 4210 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3967,13 +4217,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_arity = 
-# 522 "parser_cocci_menhir.mly"
-                   ( Ast.NONE )
-# 3977 "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_cast_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1459 "parser_cocci_menhir.mly"
+                                                             ( _1 )
+# 4234 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -3985,39 +4242,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 : (
-# 125 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4008 "parser_cocci_menhir.ml"
-        ) = Obj.magic r in
-        let i : 'tv_option_eexpr_ = Obj.magic i in
-        let l : (
-# 125 "parser_cocci_menhir.mly"
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4014 "parser_cocci_menhir.ml"
-        ) = Obj.magic l in
-        let _startpos = _startpos_l_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_array_dec = 
-# 1120 "parser_cocci_menhir.mly"
-                                           ( (l,i,r) )
-# 4021 "parser_cocci_menhir.ml"
+# 4266 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_arith_expr_bis = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1461 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Mul _1 _2 _3 )
+# 4274 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4029,19 +4282,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 : (
+# 164 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 4306 "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_eexpr_dot_expressions_ = 
-# 1285 "parser_cocci_menhir.mly"
-                                           ( _1 )
-# 4045 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1463 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4314 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4069,21 +4338,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 : (
-# 131 "parser_cocci_menhir.mly"
-       (Ast_cocci.assignOp * Data.clt)
-# 4077 "parser_cocci_menhir.ml"
+# 165 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4346 "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_eexpr_dot_expressions_ = 
-# 1287 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
-# 4087 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1465 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Plus _1 _2 _3 )
+# 4354 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4111,21 +4378,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 : (
-# 130 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4119 "parser_cocci_menhir.ml"
+# 4386 "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_eexpr_dot_expressions_ = 
-# 1291 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4129 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1467 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Minus _1 _2 _3 )
+# 4394 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4137,19 +4402,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_nest_expressions_ = Obj.magic _1 in
+        let _3 : 'tv_arith_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 163 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 4426 "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_eexpr_nest_expressions_ = 
-# 1285 "parser_cocci_menhir.mly"
-                                           ( _1 )
-# 4153 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1469 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4434 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4177,21 +4458,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 : (
-# 131 "parser_cocci_menhir.mly"
-       (Ast_cocci.assignOp * Data.clt)
-# 4185 "parser_cocci_menhir.ml"
+# 163 "parser_cocci_menhir.mly"
+       (Ast_cocci.arithOp * Data.clt)
+# 4466 "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_ = 
-# 1287 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
-# 4195 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1471 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.arith_op op _1 clt _3 )
+# 4474 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4219,21 +4498,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 : (
-# 130 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4227 "parser_cocci_menhir.ml"
+# 162 "parser_cocci_menhir.mly"
+       (Ast_cocci.logicalOp * Data.clt)
+# 4506 "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_ = 
-# 1291 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4237 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1473 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in P.logic_op op _1 clt _3 )
+# 4514 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4245,19 +4522,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 : (
+# 161 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4546 "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_ = 
-# 1285 "parser_cocci_menhir.mly"
-                                           ( _1 )
-# 4261 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1475 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.Eq _1 _2 _3 )
+# 4554 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4285,21 +4578,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 : (
-# 131 "parser_cocci_menhir.mly"
-       (Ast_cocci.assignOp * Data.clt)
-# 4293 "parser_cocci_menhir.ml"
+# 161 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4586 "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_ = 
-# 1287 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
-# 4303 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1477 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.NotEq _1 _2 _3 )
+# 4594 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4327,21 +4618,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 : (
-# 130 "parser_cocci_menhir.mly"
+# 160 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4335 "parser_cocci_menhir.ml"
+# 4626 "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_ = 
-# 1291 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4345 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1479 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.And _1 _2 _3 )
+# 4634 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4353,19 +4642,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 : (
+# 158 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4666 "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 = 
-# 1296 "parser_cocci_menhir.mly"
-                                                            ( _1 )
-# 4369 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_arith_expr_bis = 
+# 1481 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Or _1 _2 _3 )
+# 4674 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4393,21 +4698,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 : (
-# 131 "parser_cocci_menhir.mly"
-       (Ast_cocci.assignOp * Data.clt)
-# 4401 "parser_cocci_menhir.ml"
+# 159 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 4706 "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 = 
-# 1298 "parser_cocci_menhir.mly"
-      ( let (op,clt) = _2 in
-      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
-                               Ast0.set_arg_exp _3,false)) )
-# 4411 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1483 "parser_cocci_menhir.mly"
+      ( P.arith_op Ast.Xor _1 _2 _3 )
+# 4714 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4435,21 +4738,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 : (
-# 130 "parser_cocci_menhir.mly"
+# 157 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4443 "parser_cocci_menhir.ml"
+# 4746 "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 = 
-# 1302 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Assignment
-            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
-# 4453 "parser_cocci_menhir.ml"
+        let _v : 'tv_arith_expr_bis = 
+# 1485 "parser_cocci_menhir.mly"
+      ( P.logic_op Ast.AndLog _1 _2 _3 )
+# 4754 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4462,18 +4763,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_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_ = 
-# 1282 "parser_cocci_menhir.mly"
-                                                             ( _1 )
-# 4477 "parser_cocci_menhir.ml"
+        let _v : 'tv_arity = 
+# 593 "parser_cocci_menhir.mly"
+              ( Ast.UNIQUE )
+# 4776 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4486,18 +4785,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_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_ = 
-# 1282 "parser_cocci_menhir.mly"
-                                                             ( _1 )
-# 4501 "parser_cocci_menhir.ml"
+        let _v : 'tv_arity = 
+# 594 "parser_cocci_menhir.mly"
+              ( Ast.OPT )
+# 4798 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4510,18 +4807,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_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_ = 
-# 1282 "parser_cocci_menhir.mly"
-                                                             ( _1 )
-# 4525 "parser_cocci_menhir.ml"
+        let _v : 'tv_arity = 
+# 595 "parser_cocci_menhir.mly"
+              ( Ast.MULTI )
+# 4820 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4532,41 +4827,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
-          } = _menhir_stack in
-        let _3 : 'tv_fun_start = Obj.magic _3 in
-        let _2 : (
-# 99 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4557 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : (
-# 79 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4562 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__3_ in
-        let _v : 'tv_case_line = 
-# 984 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
-# 4570 "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_arity = 
+# 596 "parser_cocci_menhir.mly"
+                   ( Ast.NONE )
+# 4837 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4578,45 +4845,39 @@ 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 = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _3;
-            MenhirLib.EngineTypes.startp = _startpos__3_;
-            MenhirLib.EngineTypes.endp = _endpos__3_;
+            MenhirLib.EngineTypes.semv = i;
+            MenhirLib.EngineTypes.startp = _startpos_i_;
+            MenhirLib.EngineTypes.endp = _endpos_i_;
             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 = l;
+              MenhirLib.EngineTypes.startp = _startpos_l_;
+              MenhirLib.EngineTypes.endp = _endpos_l_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let _4 : 'tv_fun_start = Obj.magic _4 in
-        let _3 : (
-# 99 "parser_cocci_menhir.mly"
+        let r : (
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4607 "parser_cocci_menhir.ml"
-        ) = Obj.magic _3 in
-        let _2 : 'tv_eexpr = Obj.magic _2 in
-        let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 4868 "parser_cocci_menhir.ml"
+        ) = Obj.magic r in
+        let i : 'tv_option_eexpr_ = Obj.magic i in
+        let l : (
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4613 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__4_ in
-        let _v : 'tv_case_line = 
-# 987 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
-# 4620 "parser_cocci_menhir.ml"
+# 4874 "parser_cocci_menhir.ml"
+        ) = Obj.magic l in
+        let _startpos = _startpos_l_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_array_dec = 
+# 1250 "parser_cocci_menhir.mly"
+                                           ( (l,i,r) )
+# 4881 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4634,13 +4895,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_dot_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_dot_expressions_ = 
-# 1342 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4644 "parser_cocci_menhir.ml"
+        let _v : 'tv_assign_expr_eexpr_dot_expressions_ = 
+# 1398 "parser_cocci_menhir.mly"
+                                           ( _1 )
+# 4905 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4652,70 +4913,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_dot_expressions_ = Obj.magic e in
-        let rp : (
-# 100 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4681 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_ctype = Obj.magic t in
-        let lp : (
-# 99 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4687 "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_ = 
-# 1344 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4695 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Ast_cocci.assignOp * Data.clt)
+# 4937 "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_eexpr_invalid_ = 
-# 1342 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4719 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_eexpr_dot_expressions_ = 
+# 1400 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 4947 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4727,46 +4955,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_invalid_ = Obj.magic e in
-        let rp : (
-# 100 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4756 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_ctype = Obj.magic t in
-        let lp : (
-# 99 "parser_cocci_menhir.mly"
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4762 "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_ = 
-# 1344 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4770 "parser_cocci_menhir.ml"
+# 4979 "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_ = 
+# 1404 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 4989 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4784,13 +5003,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_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_cast_expr_eexpr_nest_expressions_ = 
-# 1342 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4794 "parser_cocci_menhir.ml"
+        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
+# 1398 "parser_cocci_menhir.mly"
+                                           ( _1 )
+# 5013 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4802,70 +5021,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 : (
-# 100 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4831 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_ctype = Obj.magic t in
-        let lp : (
-# 99 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4837 "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_ = 
-# 1344 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4845 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Ast_cocci.assignOp * Data.clt)
+# 5045 "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__1_ in
-        let _v : 'tv_cast_expr_expr_invalid_ = 
-# 1342 "parser_cocci_menhir.mly"
-                                          ( _1 )
-# 4869 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
+# 1400 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 5055 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4877,114 +5063,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = e;
-          MenhirLib.EngineTypes.startp = _startpos_e_;
-          MenhirLib.EngineTypes.endp = _endpos_e_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = rp;
-            MenhirLib.EngineTypes.startp = _startpos_rp_;
-            MenhirLib.EngineTypes.endp = _endpos_rp_;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = t;
-              MenhirLib.EngineTypes.startp = _startpos_t_;
-              MenhirLib.EngineTypes.endp = _endpos_t_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = lp;
-                MenhirLib.EngineTypes.startp = _startpos_lp_;
-                MenhirLib.EngineTypes.endp = _endpos_lp_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let e : 'tv_cast_expr_expr_invalid_ = Obj.magic e in
-        let rp : (
-# 100 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4906 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_ctype = Obj.magic t in
-        let lp : (
-# 99 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4912 "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_ = 
-# 1344 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
-                            P.clt2mcode ")" rp, e)) )
-# 4920 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 = 
-# 260 "parser_cocci_menhir.mly"
-                                                 ( List.map P.id2name _2 )
-# 4948 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 _3 : 'tv_assign_expr_bis = Obj.magic _3 in
         let _2 : (
-# 96 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 4974 "parser_cocci_menhir.ml"
+# 5087 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : (
-# 130 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 4979 "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_ = 
-# 1747 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
-       dot_builder _2] )
-# 4988 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_eexpr_nest_expressions_ = 
+# 1404 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5097 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -4996,30 +5105,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 : (
-# 130 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 5015 "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_ = 
-# 1751 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
-# 5023 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_assign_expr_expr_invalid_ = 
+# 1398 "parser_cocci_menhir.mly"
+                                           ( _1 )
+# 5121 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5031,35 +5129,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 : (
-# 96 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 5049 "parser_cocci_menhir.ml"
+# 175 "parser_cocci_menhir.mly"
+       (Ast_cocci.assignOp * Data.clt)
+# 5153 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : (
-# 130 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 5054 "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_ = 
-# 1747 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1));
-       dot_builder _2] )
-# 5063 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_expr_invalid_ = 
+# 1400 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 5163 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5071,30 +5171,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 : (
-# 130 "parser_cocci_menhir.mly"
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5090 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+# 5195 "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_ = 
-# 1751 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] )
-# 5098 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_expr_invalid_ = 
+# 1404 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5205 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5105,43 +5212,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__ = 
-# 1173 "parser_cocci_menhir.mly"
-              ( [] )
-# 5115 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
+        let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = r;
-          MenhirLib.EngineTypes.startp = _startpos_r_;
-          MenhirLib.EngineTypes.endp = _endpos_r_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = d;
-            MenhirLib.EngineTypes.startp = _startpos_d_;
-            MenhirLib.EngineTypes.endp = _endpos_d_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
           } = _menhir_stack in
-        let r : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = Obj.magic r in
-        let d : 'tv_edots_when_TEllipsis_initialize_ = Obj.magic d in
-        let _startpos = _startpos_d_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = 
-# 1175 "parser_cocci_menhir.mly"
-      ( (function dot_builder -> [dot_builder d])::r )
-# 5145 "parser_cocci_menhir.ml"
+        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 = 
+# 1409 "parser_cocci_menhir.mly"
+                                                            ( _1 )
+# 5229 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5153,53 +5237,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = r;
-          MenhirLib.EngineTypes.startp = _startpos_r_;
-          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = c;
-            MenhirLib.EngineTypes.startp = _startpos_c_;
-            MenhirLib.EngineTypes.endp = _endpos_c_;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = i;
-              MenhirLib.EngineTypes.startp = _startpos_i_;
-              MenhirLib.EngineTypes.endp = _endpos_i_;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
               MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
-        let c : (
-# 130 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 5177 "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__ = 
-# 1177 "parser_cocci_menhir.mly"
-    ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
-      r )
-# 5186 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = 
-# 1181 "parser_cocci_menhir.mly"
-              ( [] )
-# 5203 "parser_cocci_menhir.ml"
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 175 "parser_cocci_menhir.mly"
+       (Ast_cocci.assignOp * Data.clt)
+# 5261 "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 = 
+# 1411 "parser_cocci_menhir.mly"
+      ( let (op,clt) = _2 in
+      Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt,
+                               Ast0.set_arg_exp _3,false)) )
+# 5271 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5211,60 +5279,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = r;
-          MenhirLib.EngineTypes.startp = _startpos_r_;
-          MenhirLib.EngineTypes.endp = _endpos_r_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = c;
-            MenhirLib.EngineTypes.startp = _startpos_c_;
-            MenhirLib.EngineTypes.endp = _endpos_c_;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = i;
-              MenhirLib.EngineTypes.startp = _startpos_i_;
-              MenhirLib.EngineTypes.endp = _endpos_i_;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
               MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let r : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = Obj.magic r in
-        let c : (
-# 130 "parser_cocci_menhir.mly"
+        let _3 : 'tv_assign_expr_bis = Obj.magic _3 in
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5235 "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__ = 
-# 1183 "parser_cocci_menhir.mly"
-    ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))])::
-      r )
-# 5244 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in
+# 5303 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : 'tv_unary_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_any_strict_ = 
-# 1984 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5268 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_assign_expr_bis = 
+# 1415 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Assignment
+            (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) )
+# 5313 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5282,13 +5327,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
+        let _1 : 'tv_assign_expr_eexpr_dot_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_ctype_ = 
-# 1984 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5292 "parser_cocci_menhir.ml"
+        let _v : 'tv_basic_expr_eexpr_dot_expressions_ = 
+# 1395 "parser_cocci_menhir.mly"
+                                                           ( _1 )
+# 5337 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5306,13 +5351,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
+        let _1 : 'tv_assign_expr_eexpr_nest_expressions_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_d_ident_ = 
-# 1984 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5316 "parser_cocci_menhir.ml"
+        let _v : 'tv_basic_expr_eexpr_nest_expressions_ = 
+# 1395 "parser_cocci_menhir.mly"
+                                                           ( _1 )
+# 5361 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5330,13 +5375,532 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
+        let _1 : 'tv_assign_expr_expr_invalid_ = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
-        let _v : 'tv_comma_list_ident_or_const_ = 
-# 1984 "parser_cocci_menhir.mly"
-                                       ( _1 )
-# 5340 "parser_cocci_menhir.ml"
+        let _v : 'tv_basic_expr_expr_invalid_ = 
+# 1395 "parser_cocci_menhir.mly"
+                                                           ( _1 )
+# 5385 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_fun_start = Obj.magic _3 in
+        let _2 : (
+# 143 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5417 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _1 : (
+# 123 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5422 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_case_line = 
+# 1112 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) )
+# 5430 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = _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 : (
+# 143 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5467 "parser_cocci_menhir.ml"
+        ) = Obj.magic _3 in
+        let _2 : 'tv_eexpr = Obj.magic _2 in
+        let _1 : (
+# 123 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5473 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__4_ in
+        let _v : 'tv_case_line = 
+# 1115 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) )
+# 5480 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_dot_expressions_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_cast_expr_eexpr_dot_expressions_ = 
+# 1490 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5504 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_dot_expressions_ = Obj.magic e in
+        let rp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5541 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 143 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5547 "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_ = 
+# 1492 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5555 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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__1_ in
+        let _v : 'tv_cast_expr_eexpr_invalid_ = 
+# 1490 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5579 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_invalid_ = Obj.magic e in
+        let rp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5616 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 143 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5622 "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_ = 
+# 1492 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5630 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_ = 
+# 1490 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5654 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5691 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 143 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5697 "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_ = 
+# 1492 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5705 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_ = 
+# 1490 "parser_cocci_menhir.mly"
+                                          ( _1 )
+# 5729 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5766 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 143 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 5772 "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_ = 
+# 1492 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t,
+                            P.clt2mcode ")" rp, e)) )
+# 5780 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = 
+# 306 "parser_cocci_menhir.mly"
+                                                 ( List.map P.id2name _2 )
+# 5808 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_any_strict_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_any_strict_ = 
+# 2187 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5832 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_ctype_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_ctype_ = 
+# 2187 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5856 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_d_ident_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_d_ident_ = 
+# 2187 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5880 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_separated_nonempty_list_TComma_ident_or_const_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_comma_list_ident_or_const_ = 
+# 2187 "parser_cocci_menhir.mly"
+                                       ( _1 )
+# 5904 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5358,9 +5922,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_comma_list_meta_ident_ = 
-# 1984 "parser_cocci_menhir.mly"
+# 2187 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5364 "parser_cocci_menhir.ml"
+# 5928 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5382,9 +5946,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_comma_list_pure_ident_ = 
-# 1984 "parser_cocci_menhir.mly"
+# 2187 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5388 "parser_cocci_menhir.ml"
+# 5952 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5406,9 +5970,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_ = 
-# 1984 "parser_cocci_menhir.mly"
+# 2187 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5412 "parser_cocci_menhir.ml"
+# 5976 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5430,9 +5994,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__ = 
-# 1984 "parser_cocci_menhir.mly"
+# 2187 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5436 "parser_cocci_menhir.ml"
+# 6000 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5454,9 +6018,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__ = 
-# 1984 "parser_cocci_menhir.mly"
+# 2187 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5460 "parser_cocci_menhir.ml"
+# 6024 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5478,9 +6042,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__ = 
-# 1984 "parser_cocci_menhir.mly"
+# 2187 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5484 "parser_cocci_menhir.ml"
+# 6048 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5502,9 +6066,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__ = 
-# 1984 "parser_cocci_menhir.mly"
+# 2187 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5508 "parser_cocci_menhir.ml"
+# 6072 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5526,9 +6090,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_ = 
-# 1984 "parser_cocci_menhir.mly"
+# 2187 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5532 "parser_cocci_menhir.ml"
+# 6096 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5550,9 +6114,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__ = 
-# 1984 "parser_cocci_menhir.mly"
+# 2187 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5556 "parser_cocci_menhir.ml"
+# 6120 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5574,9 +6138,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_comma_list_typedef_ident_ = 
-# 1984 "parser_cocci_menhir.mly"
+# 2187 "parser_cocci_menhir.mly"
                                        ( _1 )
-# 5580 "parser_cocci_menhir.ml"
+# 6144 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5598,9 +6162,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_ = 
-# 1307 "parser_cocci_menhir.mly"
+# 1420 "parser_cocci_menhir.mly"
                                              ( _1 )
-# 5604 "parser_cocci_menhir.ml"
+# 6168 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5638,26 +6202,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 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5646 "parser_cocci_menhir.ml"
+# 6210 "parser_cocci_menhir.ml"
         ) = Obj.magic dd in
         let t : 'tv_option_eexpr_ = Obj.magic t in
         let w : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5652 "parser_cocci_menhir.ml"
+# 6216 "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_ = 
-# 1309 "parser_cocci_menhir.mly"
+# 1422 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
                                 P.clt2mcode ":" dd, r)) )
-# 5661 "parser_cocci_menhir.ml"
+# 6225 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5679,9 +6243,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_ = 
-# 1307 "parser_cocci_menhir.mly"
+# 1420 "parser_cocci_menhir.mly"
                                              ( _1 )
-# 5685 "parser_cocci_menhir.ml"
+# 6249 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5719,26 +6283,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 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5727 "parser_cocci_menhir.ml"
+# 6291 "parser_cocci_menhir.ml"
         ) = Obj.magic dd in
         let t : 'tv_option_eexpr_ = Obj.magic t in
         let w : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5733 "parser_cocci_menhir.ml"
+# 6297 "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_ = 
-# 1309 "parser_cocci_menhir.mly"
+# 1422 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
                                 P.clt2mcode ":" dd, r)) )
-# 5742 "parser_cocci_menhir.ml"
+# 6306 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5760,9 +6324,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_cond_expr_expr_invalid_ = 
-# 1307 "parser_cocci_menhir.mly"
+# 1420 "parser_cocci_menhir.mly"
                                              ( _1 )
-# 5766 "parser_cocci_menhir.ml"
+# 6330 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5800,26 +6364,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 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5808 "parser_cocci_menhir.ml"
+# 6372 "parser_cocci_menhir.ml"
         ) = Obj.magic dd in
         let t : 'tv_option_eexpr_ = Obj.magic t in
         let w : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 5814 "parser_cocci_menhir.ml"
+# 6378 "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_ = 
-# 1309 "parser_cocci_menhir.mly"
+# 1422 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t,
                                 P.clt2mcode ":" dd, r)) )
-# 5823 "parser_cocci_menhir.ml"
+# 6387 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5838,16 +6402,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
       (Data.clt)
-# 5844 "parser_cocci_menhir.ml"
+# 6408 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_const_vol = 
-# 893 "parser_cocci_menhir.mly"
+# 1020 "parser_cocci_menhir.mly"
                    ( P.clt2mcode Ast.Const _1 )
-# 5851 "parser_cocci_menhir.ml"
+# 6415 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5866,16 +6430,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 76 "parser_cocci_menhir.mly"
+# 120 "parser_cocci_menhir.mly"
       (Data.clt)
-# 5872 "parser_cocci_menhir.ml"
+# 6436 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_const_vol = 
-# 894 "parser_cocci_menhir.mly"
+# 1021 "parser_cocci_menhir.mly"
                    ( P.clt2mcode Ast.Volatile _1 )
-# 5879 "parser_cocci_menhir.ml"
+# 6443 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5886,13 +6450,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 = 
-# 643 "parser_cocci_menhir.mly"
-                                     ( [] )
-# 5896 "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_ = 
+# 1963 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6467 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5915,14 +6486,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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6493 "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 = 
-# 644 "parser_cocci_menhir.mly"
-                                     ( _1@_2 )
-# 5926 "parser_cocci_menhir.ml"
+        let _v : 'tv_continue_list_aexpr_TEllipsis_ = 
+# 1965 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6502 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5934,19 +6510,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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6534 "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 = 
-# 645 "parser_cocci_menhir.mly"
-                                     ( _1 )
-# 5950 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_continue_list_aexpr_TEllipsis_ = 
+# 1968 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6544 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -5958,63 +6552,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 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 5982 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 5987 "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
-            
-# 529 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 5999 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6005 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6012 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 589 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6018 "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_ = 
+# 1971 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6572 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6026,63 +6580,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 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6050 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6055 "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.ShortType,[P.clt2mcode "short" ty])) )
-# 6067 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6073 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6080 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 589 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6086 "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_ = 
+# 1963 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6596 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6094,63 +6604,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 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6118 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6123 "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
-            
-# 533 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 6135 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6141 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6148 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 589 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6154 "parser_cocci_menhir.ml"
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6622 "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_ = 
+# 1965 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6631 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6162,64 +6639,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 : (
-# 87 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 6186 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6191 "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
-            
-# 535 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 6204 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6210 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6217 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 589 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6223 "parser_cocci_menhir.ml"
+        let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6663 "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_ = 
+# 1968 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6673 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6231,84 +6681,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 : (
-# 81 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 6264 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r00 : (
-# 69 "parser_cocci_menhir.mly"
-      (string)
-# 6269 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let r1 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6274 "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
-            
-# 538 "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*))) )
-# 6293 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6299 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6306 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 589 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6312 "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_ = 
+# 1971 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6701 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6320,63 +6709,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 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6344 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6349 "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
-            
-# 545 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 6361 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6367 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6374 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 589 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6380 "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__ = 
+# 1963 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 6725 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6388,78 +6733,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 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6417 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6422 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6427 "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
-            
-# 547 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 6444 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 6450 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6457 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 589 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6463 "parser_cocci_menhir.ml"
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6751 "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__ = 
+# 1965 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6760 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6471,63 +6768,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 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6495 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 6500 "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
-            
-# 529 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 6512 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6518 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          
-# 39 "standard.mly"
-    ( None )
-# 6525 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 589 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 6531 "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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6792 "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__ = 
+# 1968 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6802 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6539,14 +6810,568 @@ 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.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack 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__ = 
+# 1971 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6830 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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__ = 
+# 1963 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 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.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6880 "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__ = 
+# 1965 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 6889 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 6921 "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__ = 
+# 1968 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 6931 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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__ = 
+# 1971 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 6959 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_ = 
+# 1963 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 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.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 7009 "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_ = 
+# 1965 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 7018 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 7050 "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_ = 
+# 1968 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 7060 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_ = 
+# 1971 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 7088 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_ = 
+# 1963 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 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.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 7138 "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_ = 
+# 1965 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 7147 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 7179 "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_ = 
+# 1968 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 7189 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_ = 
+# 1971 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 7217 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.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 = 
+# 738 "parser_cocci_menhir.mly"
+                                     ( [] )
+# 7234 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = 
+# 739 "parser_cocci_menhir.mly"
+                                     ( _1@_2 )
+# 7264 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = 
+# 740 "parser_cocci_menhir.mly"
+                                     ( _1 )
+# 7288 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7320 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7325 "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
+            
+# 603 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 7337 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7343 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 7350 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 7356 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_;
@@ -6557,14 +7382,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6563 "parser_cocci_menhir.ml"
+# 7388 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6568 "parser_cocci_menhir.ml"
+# 7393 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -6574,28 +7399,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 531 "parser_cocci_menhir.mly"
+# 605 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 6580 "parser_cocci_menhir.ml"
+# 7405 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6586 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7411 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6593 "parser_cocci_menhir.ml"
+# 7418 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6599 "parser_cocci_menhir.ml"
+# 7424 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6625,14 +7450,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6631 "parser_cocci_menhir.ml"
+# 7456 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6636 "parser_cocci_menhir.ml"
+# 7461 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -6642,28 +7467,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 533 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 6648 "parser_cocci_menhir.ml"
+# 7473 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6654 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7479 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6661 "parser_cocci_menhir.ml"
+# 7486 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6667 "parser_cocci_menhir.ml"
+# 7492 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6693,14 +7518,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 87 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 6699 "parser_cocci_menhir.ml"
+# 7524 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6704 "parser_cocci_menhir.ml"
+# 7529 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -6710,29 +7535,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 535 "parser_cocci_menhir.mly"
+# 609 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 6717 "parser_cocci_menhir.ml"
+# 7542 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6723 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7548 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6730 "parser_cocci_menhir.ml"
+# 7555 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6736 "parser_cocci_menhir.ml"
+# 7561 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6771,19 +7596,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 81 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 6777 "parser_cocci_menhir.ml"
+# 7602 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 6782 "parser_cocci_menhir.ml"
+# 7607 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let r1 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6787 "parser_cocci_menhir.ml"
+# 7612 "parser_cocci_menhir.ml"
         ) = Obj.magic r1 in
         let _startpos = _startpos_r1_ in
         let _endpos = _endpos_m_ in
@@ -6795,33 +7620,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 538 "parser_cocci_menhir.mly"
+# 612 "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*))) )
-# 6806 "parser_cocci_menhir.ml"
+# 7631 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6812 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7637 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6819 "parser_cocci_menhir.ml"
+# 7644 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6825 "parser_cocci_menhir.ml"
+# 7650 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6851,14 +7676,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6857 "parser_cocci_menhir.ml"
+# 7682 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6862 "parser_cocci_menhir.ml"
+# 7687 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -6868,28 +7693,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 545 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 6874 "parser_cocci_menhir.ml"
+# 7699 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6880 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7705 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6887 "parser_cocci_menhir.ml"
+# 7712 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6893 "parser_cocci_menhir.ml"
+# 7718 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6924,19 +7749,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6930 "parser_cocci_menhir.ml"
+# 7755 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6935 "parser_cocci_menhir.ml"
+# 7760 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 6940 "parser_cocci_menhir.ml"
+# 7765 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -6948,31 +7773,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 547 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 6957 "parser_cocci_menhir.ml"
+# 7782 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 6963 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 7788 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 6970 "parser_cocci_menhir.ml"
+# 7795 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 6976 "parser_cocci_menhir.ml"
+# 7801 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -6988,48 +7813,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;
-            };
-          } = _menhir_stack in
+            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 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7003 "parser_cocci_menhir.ml"
+# 7833 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7838 "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
             
-# 529 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 7014 "parser_cocci_menhir.ml"
+# 7850 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7020 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 7856 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7027 "parser_cocci_menhir.ml"
+# 7863 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7033 "parser_cocci_menhir.ml"
+# 7869 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7045,48 +7881,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 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7060 "parser_cocci_menhir.ml"
+# 7901 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7906 "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"
+# 605 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 7071 "parser_cocci_menhir.ml"
+# 7918 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7077 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 7924 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7084 "parser_cocci_menhir.ml"
+# 7931 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7090 "parser_cocci_menhir.ml"
+# 7937 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7102,48 +7949,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 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7117 "parser_cocci_menhir.ml"
+# 7969 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 7974 "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
             
-# 533 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 7128 "parser_cocci_menhir.ml"
+# 7986 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7134 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 7992 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7141 "parser_cocci_menhir.ml"
+# 7999 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7147 "parser_cocci_menhir.ml"
+# 8005 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7159,49 +8017,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 : (
-# 87 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 7174 "parser_cocci_menhir.ml"
+# 8037 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
-        let _startpos = _startpos_p00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8042 "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
             
-# 535 "parser_cocci_menhir.mly"
+# 609 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 7186 "parser_cocci_menhir.ml"
+# 8055 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7192 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8061 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7199 "parser_cocci_menhir.ml"
+# 8068 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7205 "parser_cocci_menhir.ml"
+# 8074 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7221,65 +8090,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 : (
-# 81 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 7241 "parser_cocci_menhir.ml"
+# 8115 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 7246 "parser_cocci_menhir.ml"
+# 8120 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let _startpos = _startpos_r00_ in
+        let r1 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8125 "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
             
-# 538 "parser_cocci_menhir.mly"
+# 612 "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*))) )
-# 7264 "parser_cocci_menhir.ml"
+# 8144 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7270 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8150 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7277 "parser_cocci_menhir.ml"
+# 8157 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7283 "parser_cocci_menhir.ml"
+# 8163 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7295,48 +8175,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 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7310 "parser_cocci_menhir.ml"
+# 8195 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8200 "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
             
-# 545 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 7321 "parser_cocci_menhir.ml"
+# 8212 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7327 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8218 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7334 "parser_cocci_menhir.ml"
+# 8225 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7340 "parser_cocci_menhir.ml"
+# 8231 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7356,59 +8247,70 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty200_;
             MenhirLib.EngineTypes.endp = _endpos_ty200_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
               MenhirLib.EngineTypes.semv = ty100;
               MenhirLib.EngineTypes.startp = _startpos_ty100_;
               MenhirLib.EngineTypes.endp = _endpos_ty100_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = r0;
+                MenhirLib.EngineTypes.startp = _startpos_r0_;
+                MenhirLib.EngineTypes.endp = _endpos_r0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7372 "parser_cocci_menhir.ml"
+# 8268 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7377 "parser_cocci_menhir.ml"
+# 8273 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
-        let _startpos = _startpos_ty100_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8278 "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
             
-# 547 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 7393 "parser_cocci_menhir.ml"
+# 8295 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 7399 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 8301 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7406 "parser_cocci_menhir.ml"
+# 8308 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7412 "parser_cocci_menhir.ml"
+# 8314 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7433,9 +8335,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 72 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7439 "parser_cocci_menhir.ml"
+# 8341 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -7444,28 +8346,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 7450 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 8352 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7456 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8358 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7463 "parser_cocci_menhir.ml"
+# 8365 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7469 "parser_cocci_menhir.ml"
+# 8371 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7490,9 +8392,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7496 "parser_cocci_menhir.ml"
+# 8398 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -7501,28 +8403,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 557 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 7507 "parser_cocci_menhir.ml"
+# 605 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 8409 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7513 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8415 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7520 "parser_cocci_menhir.ml"
+# 8422 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7526 "parser_cocci_menhir.ml"
+# 8428 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7547,9 +8449,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 7553 "parser_cocci_menhir.ml"
+# 8455 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -7558,28 +8460,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 559 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 7564 "parser_cocci_menhir.ml"
+# 607 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 8466 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7570 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8472 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7577 "parser_cocci_menhir.ml"
+# 8479 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7583 "parser_cocci_menhir.ml"
+# 8485 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7595,56 +8497,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 : (
-# 72 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 7616 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let p00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 8512 "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
             
-# 561 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 7629 "parser_cocci_menhir.ml"
+# 609 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 8524 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7635 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8530 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7642 "parser_cocci_menhir.ml"
+# 8537 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7648 "parser_cocci_menhir.ml"
+# 8543 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7660,52 +8555,69 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = i00;
-            MenhirLib.EngineTypes.startp = _startpos_i00_;
-            MenhirLib.EngineTypes.endp = _endpos_i00_;
+            MenhirLib.EngineTypes.semv = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = s00;
-              MenhirLib.EngineTypes.startp = _startpos_s00_;
-              MenhirLib.EngineTypes.endp = _endpos_s00_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.startp = _startpos__2_;
+              MenhirLib.EngineTypes.endp = _endpos__2_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = r00;
+                MenhirLib.EngineTypes.startp = _startpos_r00_;
+                MenhirLib.EngineTypes.endp = _endpos_r00_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let i00 : 'tv_ident = Obj.magic i00 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 8579 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r00 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 8584 "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
             
-# 563 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 7690 "parser_cocci_menhir.ml"
+# 612 "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*))) )
+# 8602 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7696 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8608 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7703 "parser_cocci_menhir.ml"
+# 8615 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7709 "parser_cocci_menhir.ml"
+# 8621 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7721,87 +8633,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 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 7751 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 7757 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8648 "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 )
-# 7776 "parser_cocci_menhir.ml"
-              
-            in
+            let ty = ty0 in
             
-# 566 "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)) )
-# 7786 "parser_cocci_menhir.ml"
+# 619 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 8659 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7792 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8665 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7799 "parser_cocci_menhir.ml"
+# 8672 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7805 "parser_cocci_menhir.ml"
+# 8678 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7817,96 +8690,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 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 7852 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 7858 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let x000 : 'tv_ident = Obj.magic x000 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8710 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8715 "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 )
-# 7881 "parser_cocci_menhir.ml"
-              
-            in
+            let ty2 = ty20 in
+            let ty1 = ty10 in
             
-# 566 "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)) )
-# 7891 "parser_cocci_menhir.ml"
+# 621 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 8731 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 7897 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 8737 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7904 "parser_cocci_menhir.ml"
+# 8744 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 7910 "parser_cocci_menhir.ml"
+# 8750 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -7922,82 +8762,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 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 7952 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 7958 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : (
-# 87 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 7963 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let ty00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8777 "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
             
-# 572 "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)) )
-# 7982 "parser_cocci_menhir.ml"
+# 629 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 8788 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
+# 670 "parser_cocci_menhir.mly"
                         ( ty )
-# 7988 "parser_cocci_menhir.ml"
+# 8794 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 7995 "parser_cocci_menhir.ml"
+# 8801 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8001 "parser_cocci_menhir.ml"
+# 8807 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8014,47 +8820,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 : (
-# 81 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 8028 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let _startpos = _startpos_p00_ in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 8834 "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
             
-# 576 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 8039 "parser_cocci_menhir.ml"
+# 631 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 8845 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
+# 670 "parser_cocci_menhir.mly"
                         ( ty )
-# 8045 "parser_cocci_menhir.ml"
+# 8851 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 8052 "parser_cocci_menhir.ml"
+# 8858 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8058 "parser_cocci_menhir.ml"
+# 8864 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8070,66 +8876,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 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8095 "parser_cocci_menhir.ml"
+# 8891 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8100 "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
             
-# 529 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 8113 "parser_cocci_menhir.ml"
+# 633 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 8902 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8119 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 8908 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8127 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 8915 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8133 "parser_cocci_menhir.ml"
+# 8921 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8145,66 +8933,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 : (
-# 71 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8170 "parser_cocci_menhir.ml"
+# 8948 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8175 "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
             
-# 531 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 8188 "parser_cocci_menhir.ml"
+# 635 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 8959 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8194 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 8965 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8202 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 8972 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8208 "parser_cocci_menhir.ml"
+# 8978 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8220,66 +8990,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 : (
-# 71 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8245 "parser_cocci_menhir.ml"
+# 9005 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8250 "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
             
-# 533 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 8263 "parser_cocci_menhir.ml"
+# 637 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 9016 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8269 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9022 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8277 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9029 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8283 "parser_cocci_menhir.ml"
+# 9035 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8295,67 +9047,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 : (
-# 87 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 8320 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8325 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 9062 "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
             
-# 535 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 8339 "parser_cocci_menhir.ml"
+# 639 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 9073 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8345 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9079 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8353 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9086 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8359 "parser_cocci_menhir.ml"
+# 9092 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8371,87 +9104,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 : (
-# 81 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 8405 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r00 : (
-# 69 "parser_cocci_menhir.mly"
-      (string)
-# 8410 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let r1 : (
-# 73 "parser_cocci_menhir.mly"
+        let i00 : 'tv_ident = Obj.magic i00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8415 "parser_cocci_menhir.ml"
-        ) = Obj.magic r1 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 9125 "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
             
-# 538 "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*))) )
-# 8435 "parser_cocci_menhir.ml"
+# 641 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 9138 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8441 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9144 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8449 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9151 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8455 "parser_cocci_menhir.ml"
+# 9157 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8467,66 +9169,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 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8492 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
+        let r00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9199 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9205 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8497 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 9210 "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 )
+# 9228 "parser_cocci_menhir.ml"
+              
+            in
             
-# 545 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 8510 "parser_cocci_menhir.ml"
+# 643 "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)) )
+# 9237 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8516 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9243 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8524 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9250 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8530 "parser_cocci_menhir.ml"
+# 9256 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8542,81 +9268,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 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8572 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8577 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
+        let r00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9303 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9309 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_ident = Obj.magic x000 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8582 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+# 9315 "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 )
+# 9336 "parser_cocci_menhir.ml"
+              
+            in
             
-# 547 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 8600 "parser_cocci_menhir.ml"
+# 643 "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)) )
+# 9345 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 8606 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9351 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8614 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9358 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8620 "parser_cocci_menhir.ml"
+# 9364 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8632,66 +9376,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 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8657 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8662 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+        let i00 : 'tv_type_ident = Obj.magic i00 in
+        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let _startpos = _startpos_s00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_ctype = let ty =
-          let ty0 = ty00 in
-          let r = r0 in
+          let i0 = i00 in
+          let s0 = s00 in
           let ty =
-            let ty = ty0 in
+            let i = i0 in
+            let s = s0 in
             
-# 529 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 8675 "parser_cocci_menhir.ml"
+# 648 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 9406 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8681 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9412 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8689 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9419 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8695 "parser_cocci_menhir.ml"
+# 9425 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8707,66 +9437,87 @@ 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 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8732 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 8737 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
+        let r00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9467 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9473 "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 )
+# 9492 "parser_cocci_menhir.ml"
+              
+            in
             
-# 531 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 8750 "parser_cocci_menhir.ml"
+# 651 "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)) )
+# 9502 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8756 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9508 "parser_cocci_menhir.ml"
           
         in
         let cv =
-          let x = x0 in
           
-# 41 "standard.mly"
-    ( Some x )
-# 8764 "parser_cocci_menhir.ml"
+# 39 "standard.mly"
+    ( None )
+# 9515 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8770 "parser_cocci_menhir.ml"
+# 9521 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8782,33 +9533,436 @@ 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.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 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9568 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9574 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_type_ident = Obj.magic x000 in
+        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let _startpos = _startpos_s00_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let r0 = r00 in
+          let d0 = d00 in
+          let l0 = l00 in
+          let x00 = x000 in
+          let s0 = s00 in
+          let ty =
+            let r = r0 in
+            let d = d0 in
+            let l = l0 in
+            let x0 = x00 in
+            let s = s0 in
+            let i =
+              let x = x0 in
+              
+# 41 "standard.mly"
+    ( Some x )
+# 9597 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 651 "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)) )
+# 9607 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9613 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 9620 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9626 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9668 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 9674 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 9679 "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
+            
+# 657 "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)) )
+# 9698 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9704 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 9711 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9717 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 9744 "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
+            
+# 661 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 9755 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 9761 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 9768 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9774 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8807 "parser_cocci_menhir.ml"
+# 9811 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 9816 "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
+            
+# 603 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 9829 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9835 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 9843 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9849 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 9886 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 9891 "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
+            
+# 605 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 9904 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9910 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 9918 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 9924 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 9961 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8812 "parser_cocci_menhir.ml"
+# 9966 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -8819,15 +9973,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 533 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 8825 "parser_cocci_menhir.ml"
+# 9979 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8831 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 9985 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -8835,13 +9989,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 8839 "parser_cocci_menhir.ml"
+# 9993 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8845 "parser_cocci_menhir.ml"
+# 9999 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8876,14 +10030,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 87 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 8882 "parser_cocci_menhir.ml"
+# 10036 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8887 "parser_cocci_menhir.ml"
+# 10041 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -8894,16 +10048,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 535 "parser_cocci_menhir.mly"
+# 609 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 8901 "parser_cocci_menhir.ml"
+# 10055 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 8907 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10061 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -8911,13 +10065,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 8915 "parser_cocci_menhir.ml"
+# 10069 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 8921 "parser_cocci_menhir.ml"
+# 10075 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -8961,19 +10115,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 81 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 8967 "parser_cocci_menhir.ml"
+# 10121 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 8972 "parser_cocci_menhir.ml"
+# 10126 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let r1 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 8977 "parser_cocci_menhir.ml"
+# 10131 "parser_cocci_menhir.ml"
         ) = Obj.magic r1 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -8986,20 +10140,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 538 "parser_cocci_menhir.mly"
+# 612 "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*))) )
-# 8997 "parser_cocci_menhir.ml"
+# 10151 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9003 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10157 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9007,13 +10161,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9011 "parser_cocci_menhir.ml"
+# 10165 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9017 "parser_cocci_menhir.ml"
+# 10171 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9048,14 +10202,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9054 "parser_cocci_menhir.ml"
+# 10208 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9059 "parser_cocci_menhir.ml"
+# 10213 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9066,15 +10220,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 545 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 9072 "parser_cocci_menhir.ml"
+# 10226 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9078 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10232 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9082,13 +10236,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9086 "parser_cocci_menhir.ml"
+# 10240 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9092 "parser_cocci_menhir.ml"
+# 10246 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9128,19 +10282,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9134 "parser_cocci_menhir.ml"
+# 10288 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9139 "parser_cocci_menhir.ml"
+# 10293 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9144 "parser_cocci_menhir.ml"
+# 10298 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9153,18 +10307,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 547 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 9162 "parser_cocci_menhir.ml"
+# 10316 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 9168 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 10322 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9172,13 +10326,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9176 "parser_cocci_menhir.ml"
+# 10330 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9182 "parser_cocci_menhir.ml"
+# 10336 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9198,37 +10352,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = x0;
-              MenhirLib.EngineTypes.startp = _startpos_x0_;
-              MenhirLib.EngineTypes.endp = _endpos_x0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9214 "parser_cocci_menhir.ml"
+# 10373 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10378 "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
             
-# 529 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 9226 "parser_cocci_menhir.ml"
+# 10391 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9232 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10397 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9236,13 +10401,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9240 "parser_cocci_menhir.ml"
+# 10405 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9246 "parser_cocci_menhir.ml"
+# 10411 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9262,37 +10427,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = x0;
-              MenhirLib.EngineTypes.startp = _startpos_x0_;
-              MenhirLib.EngineTypes.endp = _endpos_x0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9278 "parser_cocci_menhir.ml"
+# 10448 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10453 "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"
+# 605 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 9290 "parser_cocci_menhir.ml"
+# 10466 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9296 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10472 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9300,13 +10476,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9304 "parser_cocci_menhir.ml"
+# 10480 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9310 "parser_cocci_menhir.ml"
+# 10486 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9326,37 +10502,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = x0;
-              MenhirLib.EngineTypes.startp = _startpos_x0_;
-              MenhirLib.EngineTypes.endp = _endpos_x0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9342 "parser_cocci_menhir.ml"
+# 10523 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10528 "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
             
-# 533 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 9354 "parser_cocci_menhir.ml"
+# 10541 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9360 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10547 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9364,13 +10551,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9368 "parser_cocci_menhir.ml"
+# 10555 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9374 "parser_cocci_menhir.ml"
+# 10561 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9390,38 +10577,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 : (
-# 87 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 9406 "parser_cocci_menhir.ml"
+# 10598 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10603 "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
             
-# 535 "parser_cocci_menhir.mly"
+# 609 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 9419 "parser_cocci_menhir.ml"
+# 10617 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9425 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10623 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9429,13 +10627,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9433 "parser_cocci_menhir.ml"
+# 10631 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9439 "parser_cocci_menhir.ml"
+# 10637 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9455,18 +10653,23 @@ 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;
+                  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;
+                    };
                   };
                 };
               };
@@ -9474,39 +10677,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 81 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 9480 "parser_cocci_menhir.ml"
+# 10683 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 9485 "parser_cocci_menhir.ml"
+# 10688 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
+        let r1 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10693 "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
             
-# 538 "parser_cocci_menhir.mly"
+# 612 "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*))) )
-# 9504 "parser_cocci_menhir.ml"
+# 10713 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9510 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10719 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9514,13 +10723,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9518 "parser_cocci_menhir.ml"
+# 10727 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9524 "parser_cocci_menhir.ml"
+# 10733 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9540,37 +10749,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = x0;
-              MenhirLib.EngineTypes.startp = _startpos_x0_;
-              MenhirLib.EngineTypes.endp = _endpos_x0_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9556 "parser_cocci_menhir.ml"
+# 10770 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10775 "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
             
-# 545 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 9568 "parser_cocci_menhir.ml"
+# 10788 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9574 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10794 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9578,13 +10798,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9582 "parser_cocci_menhir.ml"
+# 10802 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9588 "parser_cocci_menhir.ml"
+# 10808 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9608,48 +10828,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               MenhirLib.EngineTypes.startp = _startpos_ty100_;
               MenhirLib.EngineTypes.endp = _endpos_ty100_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
+                MenhirLib.EngineTypes.semv = r0;
+                MenhirLib.EngineTypes.startp = _startpos_r0_;
+                MenhirLib.EngineTypes.endp = _endpos_r0_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = x0;
+                  MenhirLib.EngineTypes.startp = _startpos_x0_;
+                  MenhirLib.EngineTypes.endp = _endpos_x0_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
                 };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9625 "parser_cocci_menhir.ml"
+# 10850 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9630 "parser_cocci_menhir.ml"
+# 10855 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 10860 "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
             
-# 547 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 9647 "parser_cocci_menhir.ml"
+# 10878 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 9653 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 10884 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9657,13 +10888,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9661 "parser_cocci_menhir.ml"
+# 10892 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9667 "parser_cocci_menhir.ml"
+# 10898 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9693,9 +10924,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 72 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9699 "parser_cocci_menhir.ml"
+# 10930 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9705,15 +10936,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 9711 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 10942 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9717 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 10948 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9721,13 +10952,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9725 "parser_cocci_menhir.ml"
+# 10956 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9731 "parser_cocci_menhir.ml"
+# 10962 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9757,9 +10988,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9763 "parser_cocci_menhir.ml"
+# 10994 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9769,15 +11000,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 557 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 9775 "parser_cocci_menhir.ml"
+# 605 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 11006 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9781 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11012 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9785,13 +11016,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9789 "parser_cocci_menhir.ml"
+# 11020 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9795 "parser_cocci_menhir.ml"
+# 11026 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9821,9 +11052,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 9827 "parser_cocci_menhir.ml"
+# 11058 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -9833,15 +11064,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 559 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 9839 "parser_cocci_menhir.ml"
+# 607 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 11070 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9845 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11076 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9849,13 +11080,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9853 "parser_cocci_menhir.ml"
+# 11084 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9859 "parser_cocci_menhir.ml"
+# 11090 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9871,49 +11102,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 : (
-# 72 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 9897 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
+        let p00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 11122 "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
             
-# 561 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 9911 "parser_cocci_menhir.ml"
+# 609 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 11135 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9917 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11141 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9921,13 +11145,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9925 "parser_cocci_menhir.ml"
+# 11149 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9931 "parser_cocci_menhir.ml"
+# 11155 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -9943,45 +11167,62 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = i00;
-            MenhirLib.EngineTypes.startp = _startpos_i00_;
-            MenhirLib.EngineTypes.endp = _endpos_i00_;
+            MenhirLib.EngineTypes.semv = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = s00;
-              MenhirLib.EngineTypes.startp = _startpos_s00_;
-              MenhirLib.EngineTypes.endp = _endpos_s00_;
+              MenhirLib.EngineTypes.startp = _startpos__3_;
+              MenhirLib.EngineTypes.endp = _endpos__3_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
+                MenhirLib.EngineTypes.semv = r00;
+                MenhirLib.EngineTypes.startp = _startpos_r00_;
+                MenhirLib.EngineTypes.endp = _endpos_r00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = x0;
+                  MenhirLib.EngineTypes.startp = _startpos_x0_;
+                  MenhirLib.EngineTypes.endp = _endpos_x0_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
                 };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let i00 : 'tv_ident = Obj.magic i00 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 11196 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r00 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 11201 "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
             
-# 563 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 9979 "parser_cocci_menhir.ml"
+# 612 "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*))) )
+# 11220 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 9985 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11226 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -9989,13 +11230,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 9993 "parser_cocci_menhir.ml"
+# 11234 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 9999 "parser_cocci_menhir.ml"
+# 11240 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10011,80 +11252,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 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10046 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10052 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11272 "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 )
-# 10072 "parser_cocci_menhir.ml"
-              
-            in
+            let ty = ty0 in
             
-# 566 "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)) )
-# 10082 "parser_cocci_menhir.ml"
+# 619 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 11284 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 10088 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11290 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10092,13 +11294,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10096 "parser_cocci_menhir.ml"
+# 11298 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10102 "parser_cocci_menhir.ml"
+# 11304 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10114,89 +11316,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 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10154 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10160 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let x000 : 'tv_ident = Obj.magic x000 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11341 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11346 "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 )
-# 10184 "parser_cocci_menhir.ml"
-              
-            in
+            let ty2 = ty20 in
+            let ty1 = ty10 in
             
-# 566 "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)) )
-# 10194 "parser_cocci_menhir.ml"
+# 621 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 11363 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 10200 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 11369 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10204,13 +11373,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10208 "parser_cocci_menhir.ml"
+# 11377 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10214 "parser_cocci_menhir.ml"
+# 11383 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10226,75 +11395,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 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10261 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10267 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : (
-# 87 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 10272 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
+        let ty00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11415 "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
             
-# 572 "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)) )
-# 10292 "parser_cocci_menhir.ml"
+# 629 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 11427 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
+# 670 "parser_cocci_menhir.mly"
                         ( ty )
-# 10298 "parser_cocci_menhir.ml"
+# 11433 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10302,13 +11437,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10306 "parser_cocci_menhir.ml"
+# 11441 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10312 "parser_cocci_menhir.ml"
+# 11447 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10324,9 +11459,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;
@@ -10337,28 +11472,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 81 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 10344 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11479 "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
             
-# 576 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 10356 "parser_cocci_menhir.ml"
+# 631 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 11491 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
+# 670 "parser_cocci_menhir.mly"
                         ( ty )
-# 10362 "parser_cocci_menhir.ml"
+# 11497 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -10366,13 +11501,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 10370 "parser_cocci_menhir.ml"
+# 11505 "parser_cocci_menhir.ml"
           
         in
         
-# 589 "parser_cocci_menhir.mly"
+# 674 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 10376 "parser_cocci_menhir.ml"
+# 11511 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10384,23 +11519,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 : (
-# 73 "parser_cocci_menhir.mly"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 10397 "parser_cocci_menhir.ml"
-        ) = Obj.magic r in
-        let _startpos = _startpos_r_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_ctype = 
-# 591 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
-# 10404 "parser_cocci_menhir.ml"
+# 11543 "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
+            
+# 633 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 11555 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11561 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11569 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11575 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10412,23 +11583,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 : (
-# 73 "parser_cocci_menhir.mly"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 10425 "parser_cocci_menhir.ml"
-        ) = Obj.magic r in
-        let _startpos = _startpos_r_ in
-        let _endpos = _endpos_r_ in
-        let _v : 'tv_ctype = 
-# 593 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
-# 10432 "parser_cocci_menhir.ml"
+# 11607 "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
+            
+# 635 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 11619 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11625 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11633 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11639 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10440,41 +11647,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = rp;
-          MenhirLib.EngineTypes.startp = _startpos_rp_;
-          MenhirLib.EngineTypes.endp = _endpos_rp_;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = t;
-            MenhirLib.EngineTypes.startp = _startpos_t_;
-            MenhirLib.EngineTypes.endp = _endpos_t_;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = lp;
-              MenhirLib.EngineTypes.startp = _startpos_lp_;
-              MenhirLib.EngineTypes.endp = _endpos_lp_;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
               MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let rp : (
-# 100 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10463 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
-        let lp : (
-# 99 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10469 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp in
-        let _startpos = _startpos_lp_ in
-        let _endpos = _endpos_rp_ in
-        let _v : 'tv_ctype = 
-# 595 "parser_cocci_menhir.mly"
-    ( let (mids,code) = t in
-      Ast0.wrap
-       (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 10478 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11671 "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
+            
+# 637 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 11683 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11689 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11697 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11703 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10486,32 +11711,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _2;
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
-        let _1 : 'tv_ident = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_d_ident = 
-# 1111 "parser_cocci_menhir.mly"
-      ( (_1,
-        function t ->
-          List.fold_right
-            (function (l,i,r) ->
-              function rest ->
-                Ast0.wrap
-                  (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r)))
-            _2 t) )
-# 10515 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11735 "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
+            
+# 639 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 11747 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11753 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11761 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11767 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10523,25 +11775,67 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = i;
-          MenhirLib.EngineTypes.startp = _startpos_i_;
-          MenhirLib.EngineTypes.endp = _endpos_i_;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = t;
-            MenhirLib.EngineTypes.startp = _startpos_t_;
-            MenhirLib.EngineTypes.endp = _endpos_t_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = 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 i : 'tv_ident = Obj.magic i in
-        let t : 'tv_ctype = Obj.magic t in
-        let _startpos = _startpos_t_ in
-        let _endpos = _endpos_i_ in
-        let _v : 'tv_decl = 
-# 867 "parser_cocci_menhir.mly"
- ( Ast0.wrap(Ast0.Param(t, Some i)) )
-# 10545 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let i00 : 'tv_ident = Obj.magic i00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11805 "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
+            
+# 641 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 11819 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11825 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11833 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11839 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10553,19 +11847,101 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = t;
-          MenhirLib.EngineTypes.startp = _startpos_t_;
-          MenhirLib.EngineTypes.endp = _endpos_t_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = 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 t : 'tv_ctype = Obj.magic t in
-        let _startpos = _startpos_t_ in
-        let _endpos = _endpos_t_ in
-        let _v : 'tv_decl = 
-# 868 "parser_cocci_menhir.mly"
-              ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
-# 10569 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 11886 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 11892 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 11897 "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 )
+# 11916 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 643 "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)) )
+# 11925 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 11931 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 11939 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 11945 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10577,40 +11953,35 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = rp1;
-          MenhirLib.EngineTypes.startp = _startpos_rp1_;
-          MenhirLib.EngineTypes.endp = _endpos_rp1_;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = d;
-            MenhirLib.EngineTypes.startp = _startpos_d_;
-            MenhirLib.EngineTypes.endp = _endpos_d_;
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = lp1;
-              MenhirLib.EngineTypes.startp = _startpos_lp1_;
-              MenhirLib.EngineTypes.endp = _endpos_lp1_;
+              MenhirLib.EngineTypes.semv = ids00;
+              MenhirLib.EngineTypes.startp = _startpos_ids00_;
+              MenhirLib.EngineTypes.endp = _endpos_ids00_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = rp;
-                MenhirLib.EngineTypes.startp = _startpos_rp_;
-                MenhirLib.EngineTypes.endp = _endpos_rp_;
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
                 MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.semv = i;
-                  MenhirLib.EngineTypes.startp = _startpos_i_;
-                  MenhirLib.EngineTypes.endp = _endpos_i_;
+                  MenhirLib.EngineTypes.semv = x000;
+                  MenhirLib.EngineTypes.startp = _startpos_x000_;
+                  MenhirLib.EngineTypes.endp = _endpos_x000_;
                   MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.semv = s;
-                    MenhirLib.EngineTypes.startp = _startpos_s_;
-                    MenhirLib.EngineTypes.endp = _endpos_s_;
+                    MenhirLib.EngineTypes.semv = s00;
+                    MenhirLib.EngineTypes.startp = _startpos_s00_;
+                    MenhirLib.EngineTypes.endp = _endpos_s00_;
                     MenhirLib.EngineTypes.next = {
-                      MenhirLib.EngineTypes.semv = lp;
-                      MenhirLib.EngineTypes.startp = _startpos_lp_;
-                      MenhirLib.EngineTypes.endp = _endpos_lp_;
-                      MenhirLib.EngineTypes.next = {
-                        MenhirLib.EngineTypes.state = _menhir_s;
-                        MenhirLib.EngineTypes.semv = t;
-                        MenhirLib.EngineTypes.startp = _startpos_t_;
-                        MenhirLib.EngineTypes.endp = _endpos_t_;
-                        MenhirLib.EngineTypes.next = _menhir_stack;
-                        };
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.semv = x0;
+                      MenhirLib.EngineTypes.startp = _startpos_x0_;
+                      MenhirLib.EngineTypes.endp = _endpos_x0_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
                       };
                     };
                   };
@@ -10618,45 +11989,74 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let rp1 : (
-# 100 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10625 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp1 in
-        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
-        let lp1 : (
-# 99 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10631 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp1 in
-        let rp : (
-# 100 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10636 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let i : 'tv_ident = Obj.magic i in
-        let s : (
-# 122 "parser_cocci_menhir.mly"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 10642 "parser_cocci_menhir.ml"
-        ) = Obj.magic s in
-        let lp : (
-# 99 "parser_cocci_menhir.mly"
+# 11997 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 10647 "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 = 
-# 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, Some i)) )
-# 10660 "parser_cocci_menhir.ml"
+# 12003 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_ident = Obj.magic x000 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 12009 "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 )
+# 12031 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 643 "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)) )
+# 12040 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12046 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12054 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12060 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10668,24 +12068,63 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = i00;
+            MenhirLib.EngineTypes.startp = _startpos_i00_;
+            MenhirLib.EngineTypes.endp = _endpos_i00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = s00;
+              MenhirLib.EngineTypes.startp = _startpos_s00_;
+              MenhirLib.EngineTypes.endp = _endpos_s00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
           } = _menhir_stack in
-        let _1 : (
-# 87 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 10681 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl = 
-# 878 "parser_cocci_menhir.mly"
- ( let (nm,pure,clt) = _1 in
-       Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
-# 10689 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let i00 : 'tv_type_ident = Obj.magic i00 in
+        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let i0 = i00 in
+          let s0 = s00 in
+          let ty =
+            let i = i0 in
+            let s = s0 in
+            
+# 648 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 12108 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12114 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12122 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12128 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10697,23 +12136,98 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          } = _menhir_stack in
-        let _1 : (
-# 81 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 10710 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_ident = 
-# 1696 "parser_cocci_menhir.mly"
-         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 10717 "parser_cocci_menhir.ml"
+          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 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12175 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12181 "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 )
+# 12201 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 651 "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)) )
+# 12211 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12217 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12225 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12231 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10725,41 +12239,107 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = d00;
+              MenhirLib.EngineTypes.startp = _startpos_d00_;
+              MenhirLib.EngineTypes.endp = _endpos_d00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = x000;
+                  MenhirLib.EngineTypes.startp = _startpos_x000_;
+                  MenhirLib.EngineTypes.endp = _endpos_x000_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.semv = s00;
+                    MenhirLib.EngineTypes.startp = _startpos_s00_;
+                    MenhirLib.EngineTypes.endp = _endpos_s00_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.semv = x0;
+                      MenhirLib.EngineTypes.startp = _startpos_x0_;
+                      MenhirLib.EngineTypes.endp = _endpos_x0_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
+                    };
+                  };
+                };
+              };
+            };
           } = _menhir_stack in
-        let _1 : (
-# 85 "parser_cocci_menhir.mly"
-       (Parse_aux.idinfo)
-# 10738 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_ident = 
-# 1698 "parser_cocci_menhir.mly"
-         ( let (nm,constraints,pure,clt) = _1 in
-         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 10746 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.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_ = 
-# 1718 "parser_cocci_menhir.mly"
-              ( Ast0.wrap(Ast0.DOTS([])) )
-# 10763 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12283 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12289 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_type_ident = Obj.magic x000 in
+        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let x0 : 'tv_const_vol = Obj.magic x0 in
+        let _startpos = _startpos_x0_ in
+        let _endpos = _endpos_m_ in
+        let _v : 'tv_ctype = let ty =
+          let r0 = r00 in
+          let d0 = d00 in
+          let l0 = l00 in
+          let x00 = x000 in
+          let s0 = s00 in
+          let ty =
+            let r = r0 in
+            let d = d0 in
+            let l = l0 in
+            let x0 = x00 in
+            let s = s0 in
+            let i =
+              let x = x0 in
+              
+# 41 "standard.mly"
+    ( Some x )
+# 12313 "parser_cocci_menhir.ml"
+              
+            in
+            
+# 651 "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)) )
+# 12323 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12329 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12337 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12343 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10771,23 +12351,93 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
-          MenhirLib.EngineTypes.next = _menhir_stack;
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = d00;
+              MenhirLib.EngineTypes.startp = _startpos_d00_;
+              MenhirLib.EngineTypes.endp = _endpos_d00_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = s00;
+                  MenhirLib.EngineTypes.startp = _startpos_s00_;
+                  MenhirLib.EngineTypes.endp = _endpos_s00_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.state = _menhir_s;
+                    MenhirLib.EngineTypes.semv = x0;
+                    MenhirLib.EngineTypes.startp = _startpos_x0_;
+                    MenhirLib.EngineTypes.endp = _endpos_x0_;
+                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    };
+                  };
+                };
+              };
+            };
           } = _menhir_stack in
-        let _1 : 'tv_decl_list_start_decl_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_list_decl_ = 
-# 1720 "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)) )
-# 10791 "parser_cocci_menhir.ml"
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let r00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12390 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12396 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 12401 "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
+            
+# 657 "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)) )
+# 12421 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12427 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12435 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12441 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10798,13 +12448,60 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           });
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let _menhir_s = _menhir_env.MenhirLib.EngineTypes.current in
-        let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in
-        let _endpos = _startpos in
-        let _v : 'tv_decl_list_name_opt_decl_ = 
-# 1718 "parser_cocci_menhir.mly"
-              ( Ast0.wrap(Ast0.DOTS([])) )
-# 10808 "parser_cocci_menhir.ml"
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = p00;
+            MenhirLib.EngineTypes.startp = _startpos_p00_;
+            MenhirLib.EngineTypes.endp = _endpos_p00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 12473 "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
+            
+# 661 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 12485 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 12491 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 12499 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 674 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 12505 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10817,22 +12514,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_list_name_opt_decl_ = 
-# 1720 "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)) )
-# 10836 "parser_cocci_menhir.ml"
+        let r : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 12526 "parser_cocci_menhir.ml"
+        ) = Obj.magic r in
+        let _startpos = _startpos_r_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_ctype = 
+# 676 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) )
+# 12533 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10845,18 +12542,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = _1;
-          MenhirLib.EngineTypes.startp = _startpos__1_;
-          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.semv = r;
+          MenhirLib.EngineTypes.startp = _startpos_r_;
+          MenhirLib.EngineTypes.endp = _endpos_r_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_decl_list_start_decl_ = 
-# 1727 "parser_cocci_menhir.mly"
-                 ( [_1] )
-# 10860 "parser_cocci_menhir.ml"
+        let r : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 12554 "parser_cocci_menhir.ml"
+        ) = Obj.magic r in
+        let _startpos = _startpos_r_ in
+        let _endpos = _endpos_r_ in
+        let _v : 'tv_ctype = 
+# 678 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) )
+# 12561 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10868,35 +12569,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = _3;
-          MenhirLib.EngineTypes.startp = _startpos__3_;
-          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.semv = rp;
+          MenhirLib.EngineTypes.startp = _startpos_rp_;
+          MenhirLib.EngineTypes.endp = _endpos_rp_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.semv = t;
+            MenhirLib.EngineTypes.startp = _startpos_t_;
+            MenhirLib.EngineTypes.endp = _endpos_t_;
             MenhirLib.EngineTypes.next = {
               MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.semv = lp;
+              MenhirLib.EngineTypes.startp = _startpos_lp_;
+              MenhirLib.EngineTypes.endp = _endpos_lp_;
               MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_decl_list_start_decl_ = Obj.magic _3 in
-        let _2 : (
-# 130 "parser_cocci_menhir.mly"
+        let rp : (
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 10892 "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_ = 
-# 1729 "parser_cocci_menhir.mly"
-    ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
-# 10900 "parser_cocci_menhir.ml"
+# 12592 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
+        let lp : (
+# 143 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12598 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let _startpos = _startpos_lp_ in
+        let _endpos = _endpos_rp_ in
+        let _v : 'tv_ctype = 
+# 680 "parser_cocci_menhir.mly"
+    ( let (mids,code) = t in
+      Ast0.wrap
+       (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
+# 12607 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10919,43 +12626,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_list_comma_decls_TEllipsis_decl__ = Obj.magic _2 in
-        let _1 : (
-# 96 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10927 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _2 : 'tv_list_array_dec_ = Obj.magic _2 in
+        let _1 : 'tv_mident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
-        let _v : 'tv_decl_list_start_decl_ = 
-# 1731 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
-      (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
-# 10935 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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_ = 
-# 1727 "parser_cocci_menhir.mly"
-                 ( [_1] )
-# 10959 "parser_cocci_menhir.ml"
+        let _v : 'tv_d_ident = 
+# 1241 "parser_cocci_menhir.mly"
+      ( (_1,
+        function t ->
+          List.fold_right
+            (function (l,i,r) ->
+              function rest ->
+                Ast0.wrap
+                  (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r)))
+            _2 t) )
+# 12644 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -10967,35 +12652,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 = i;
+          MenhirLib.EngineTypes.startp = _startpos_i_;
+          MenhirLib.EngineTypes.endp = _endpos_i_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = _2;
-            MenhirLib.EngineTypes.startp = _startpos__2_;
-            MenhirLib.EngineTypes.endp = _endpos__2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = _1;
-              MenhirLib.EngineTypes.startp = _startpos__1_;
-              MenhirLib.EngineTypes.endp = _endpos__1_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = t;
+            MenhirLib.EngineTypes.startp = _startpos_t_;
+            MenhirLib.EngineTypes.endp = _endpos_t_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _3 : 'tv_decl_list_start_name_opt_decl_ = Obj.magic _3 in
-        let _2 : (
-# 130 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 10991 "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_ = 
-# 1729 "parser_cocci_menhir.mly"
-    ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 )
-# 10999 "parser_cocci_menhir.ml"
+        let i : 'tv_ident = Obj.magic i in
+        let t : 'tv_ctype = Obj.magic t in
+        let _startpos = _startpos_t_ in
+        let _endpos = _endpos_i_ in
+        let _v : 'tv_decl = 
+# 993 "parser_cocci_menhir.mly"
+ ( Ast0.wrap(Ast0.Param(t, Some i)) )
+# 12674 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11007,30 +12682,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 = t;
+          MenhirLib.EngineTypes.startp = _startpos_t_;
+          MenhirLib.EngineTypes.endp = _endpos_t_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _2 : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic _2 in
-        let _1 : (
-# 96 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 11026 "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_ = 
-# 1731 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1))::
-      (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) )
-# 11034 "parser_cocci_menhir.ml"
+        let t : 'tv_ctype = Obj.magic t in
+        let _startpos = _startpos_t_ in
+        let _endpos = _endpos_t_ in
+        let _v : 'tv_decl = 
+# 994 "parser_cocci_menhir.mly"
+              ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) )
+# 12698 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11042,24 +12706,285 @@ 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 : (
-# 87 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 11055 "parser_cocci_menhir.ml"
+          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 = i;
+                  MenhirLib.EngineTypes.startp = _startpos_i_;
+                  MenhirLib.EngineTypes.endp = _endpos_i_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.semv = s;
+                    MenhirLib.EngineTypes.startp = _startpos_s_;
+                    MenhirLib.EngineTypes.endp = _endpos_s_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.semv = lp;
+                      MenhirLib.EngineTypes.startp = _startpos_lp_;
+                      MenhirLib.EngineTypes.endp = _endpos_lp_;
+                      MenhirLib.EngineTypes.next = {
+                        MenhirLib.EngineTypes.state = _menhir_s;
+                        MenhirLib.EngineTypes.semv = t;
+                        MenhirLib.EngineTypes.startp = _startpos_t_;
+                        MenhirLib.EngineTypes.endp = _endpos_t_;
+                        MenhirLib.EngineTypes.next = _menhir_stack;
+                        };
+                      };
+                    };
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let rp1 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12754 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp1 in
+        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+        let lp1 : (
+# 143 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12760 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp1 in
+        let rp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12765 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let i : 'tv_ident = Obj.magic i in
+        let s : (
+# 166 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12771 "parser_cocci_menhir.ml"
+        ) = Obj.magic s in
+        let lp : (
+# 143 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 12776 "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 = 
+# 997 "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)) )
+# 12789 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 12810 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl = 
+# 1004 "parser_cocci_menhir.mly"
+ ( let (nm,pure,clt) = _1 in
+       Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) )
+# 12818 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 12839 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl = 
+# 1006 "parser_cocci_menhir.mly"
+            ( tmeta_to_param _1 )
+# 12846 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 12867 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_ident = 
+# 1887 "parser_cocci_menhir.mly"
+         ( Ast0.wrap(Ast0.Id(P.id2mcode _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 : (
+# 129 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 12895 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_ident = 
+# 1889 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 12903 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_empty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_list_decl_ = 
+# 1911 "parser_cocci_menhir.mly"
+     ( Ast0.wrap
+        (Ast0.DOTS
+           (_1
+              (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
+              (fun c -> Ast0.PComma c))) )
+# 12931 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_empty_list_start_one_dec_name_opt_decl__TEllipsis_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_list_name_opt_decl_ = 
+# 1911 "parser_cocci_menhir.mly"
+     ( Ast0.wrap
+        (Ast0.DOTS
+           (_1
+              (fun _ d -> Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." d)))
+              (fun c -> Ast0.PComma c))) )
+# 12959 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 12980 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_statement = 
-# 1189 "parser_cocci_menhir.mly"
+# 1299 "parser_cocci_menhir.mly"
       ( let (nm,pure,clt) = _1 in
       [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 11063 "parser_cocci_menhir.ml"
+# 12988 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11081,13 +13006,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_statement = 
-# 1192 "parser_cocci_menhir.mly"
+# 1302 "parser_cocci_menhir.mly"
       ( List.map
          (function x ->
            Ast0.wrap
              (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
          _1 )
-# 11091 "parser_cocci_menhir.ml"
+# 13016 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11109,9 +13034,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_statement = 
-# 1197 "parser_cocci_menhir.mly"
+# 1307 "parser_cocci_menhir.mly"
               ( [_1] )
-# 11115 "parser_cocci_menhir.ml"
+# 13040 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11140,20 +13065,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11146 "parser_cocci_menhir.ml"
+# 13071 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in
         let _1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11152 "parser_cocci_menhir.ml"
+# 13077 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_decl_statement = 
-# 1206 "parser_cocci_menhir.mly"
+# 1316 "parser_cocci_menhir.mly"
       ( let (mids,code) = t in
        if List.for_all
            (function x ->
@@ -11163,7 +13088,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       else
          [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids,
                               P.clt2mcode ")" _3))] )
-# 11167 "parser_cocci_menhir.ml"
+# 13092 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11182,17 +13107,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 11188 "parser_cocci_menhir.ml"
+# 13113 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_statement_expr = 
-# 1219 "parser_cocci_menhir.mly"
+# 1329 "parser_cocci_menhir.mly"
       ( let (nm,pure,clt) = _1 in
       [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] )
-# 11196 "parser_cocci_menhir.ml"
+# 13121 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11214,13 +13139,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_statement_expr = 
-# 1222 "parser_cocci_menhir.mly"
+# 1332 "parser_cocci_menhir.mly"
       ( List.map
          (function x ->
            Ast0.wrap
              (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x)))
          _1 )
-# 11224 "parser_cocci_menhir.ml"
+# 13149 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11242,9 +13167,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_decl_statement_expr = 
-# 1227 "parser_cocci_menhir.mly"
+# 1337 "parser_cocci_menhir.mly"
               ( [_1] )
-# 11248 "parser_cocci_menhir.ml"
+# 13173 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11273,20 +13198,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11279 "parser_cocci_menhir.ml"
+# 13204 "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 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11285 "parser_cocci_menhir.ml"
+# 13210 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_decl_statement_expr = 
-# 1236 "parser_cocci_menhir.mly"
+# 1346 "parser_cocci_menhir.mly"
       ( let (mids,code) = t in
        if List.for_all (function [] -> true | _ -> false) code
       then []
@@ -11295,7 +13220,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))] )
-# 11299 "parser_cocci_menhir.ml"
+# 13224 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11319,17 +13244,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11325 "parser_cocci_menhir.ml"
+# 13250 "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 = 
-# 999 "parser_cocci_menhir.mly"
+# 1127 "parser_cocci_menhir.mly"
       ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] )
-# 11333 "parser_cocci_menhir.ml"
+# 13258 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 13279 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_decl_var = 
+# 1128 "parser_cocci_menhir.mly"
+              ( [P.meta_decl _1] )
+# 13286 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11358,9 +13311,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11364 "parser_cocci_menhir.ml"
+# 13317 "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
@@ -11370,16 +13323,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11374 "parser_cocci_menhir.ml"
+# 13327 "parser_cocci_menhir.ml"
           
         in
         
-# 1001 "parser_cocci_menhir.mly"
+# 1130 "parser_cocci_menhir.mly"
       ( List.map
          (function (id,fn) ->
            Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
          d )
-# 11383 "parser_cocci_menhir.ml"
+# 13336 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11413,9 +13366,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11419 "parser_cocci_menhir.ml"
+# 13372 "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
@@ -11427,16 +13380,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11431 "parser_cocci_menhir.ml"
+# 13384 "parser_cocci_menhir.ml"
           
         in
         
-# 1001 "parser_cocci_menhir.mly"
+# 1130 "parser_cocci_menhir.mly"
       ( List.map
          (function (id,fn) ->
            Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)))
          d )
-# 11440 "parser_cocci_menhir.ml"
+# 13393 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11458,9 +13411,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_f_ in
         let _v : 'tv_decl_var = 
-# 1005 "parser_cocci_menhir.mly"
+# 1134 "parser_cocci_menhir.mly"
                ( [f] )
-# 11464 "parser_cocci_menhir.ml"
+# 13417 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11499,15 +13452,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11505 "parser_cocci_menhir.ml"
+# 13458 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11511 "parser_cocci_menhir.ml"
+# 13464 "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
@@ -11517,14 +13470,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11521 "parser_cocci_menhir.ml"
+# 13474 "parser_cocci_menhir.ml"
           
         in
         
-# 1007 "parser_cocci_menhir.mly"
+# 1136 "parser_cocci_menhir.mly"
       (let (id,fn) = d in
       [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 11528 "parser_cocci_menhir.ml"
+# 13481 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11568,15 +13521,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11574 "parser_cocci_menhir.ml"
+# 13527 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11580 "parser_cocci_menhir.ml"
+# 13533 "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
@@ -11588,14 +13541,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11592 "parser_cocci_menhir.ml"
+# 13545 "parser_cocci_menhir.ml"
           
         in
         
-# 1007 "parser_cocci_menhir.mly"
+# 1136 "parser_cocci_menhir.mly"
       (let (id,fn) = d in
       [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))])
-# 11599 "parser_cocci_menhir.ml"
+# 13552 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11624,9 +13577,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11630 "parser_cocci_menhir.ml"
+# 13583 "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
@@ -11636,25 +13589,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11640 "parser_cocci_menhir.ml"
+# 13593 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 11647 "parser_cocci_menhir.ml"
+# 13600 "parser_cocci_menhir.ml"
           
         in
         
-# 1012 "parser_cocci_menhir.mly"
+# 1141 "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 )
-# 11658 "parser_cocci_menhir.ml"
+# 13611 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11688,9 +13641,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11694 "parser_cocci_menhir.ml"
+# 13647 "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
@@ -11702,25 +13655,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11706 "parser_cocci_menhir.ml"
+# 13659 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 11713 "parser_cocci_menhir.ml"
+# 13666 "parser_cocci_menhir.ml"
           
         in
         
-# 1012 "parser_cocci_menhir.mly"
+# 1141 "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 )
-# 11724 "parser_cocci_menhir.ml"
+# 13677 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11754,9 +13707,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11760 "parser_cocci_menhir.ml"
+# 13713 "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
@@ -11767,7 +13720,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11771 "parser_cocci_menhir.ml"
+# 13724 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -11775,18 +13728,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11779 "parser_cocci_menhir.ml"
+# 13732 "parser_cocci_menhir.ml"
           
         in
         
-# 1012 "parser_cocci_menhir.mly"
+# 1141 "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 )
-# 11790 "parser_cocci_menhir.ml"
+# 13743 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11825,9 +13778,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11831 "parser_cocci_menhir.ml"
+# 13784 "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
@@ -11840,7 +13793,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11844 "parser_cocci_menhir.ml"
+# 13797 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -11848,18 +13801,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 11852 "parser_cocci_menhir.ml"
+# 13805 "parser_cocci_menhir.ml"
           
         in
         
-# 1012 "parser_cocci_menhir.mly"
+# 1141 "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 )
-# 11863 "parser_cocci_menhir.ml"
+# 13816 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11898,15 +13851,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11904 "parser_cocci_menhir.ml"
+# 13857 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11910 "parser_cocci_menhir.ml"
+# 13863 "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
@@ -11916,24 +13869,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 11920 "parser_cocci_menhir.ml"
+# 13873 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 11927 "parser_cocci_menhir.ml"
+# 13880 "parser_cocci_menhir.ml"
           
         in
         
-# 1020 "parser_cocci_menhir.mly"
+# 1149 "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))] )
-# 11937 "parser_cocci_menhir.ml"
+# 13890 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -11977,15 +13930,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11983 "parser_cocci_menhir.ml"
+# 13936 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 11989 "parser_cocci_menhir.ml"
+# 13942 "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
@@ -11997,24 +13950,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12001 "parser_cocci_menhir.ml"
+# 13954 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 12008 "parser_cocci_menhir.ml"
+# 13961 "parser_cocci_menhir.ml"
           
         in
         
-# 1020 "parser_cocci_menhir.mly"
+# 1149 "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))] )
-# 12018 "parser_cocci_menhir.ml"
+# 13971 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12058,15 +14011,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12064 "parser_cocci_menhir.ml"
+# 14017 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12070 "parser_cocci_menhir.ml"
+# 14023 "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
@@ -12077,7 +14030,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 12081 "parser_cocci_menhir.ml"
+# 14034 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -12085,17 +14038,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12089 "parser_cocci_menhir.ml"
+# 14042 "parser_cocci_menhir.ml"
           
         in
         
-# 1020 "parser_cocci_menhir.mly"
+# 1149 "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))] )
-# 12099 "parser_cocci_menhir.ml"
+# 14052 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12144,15 +14097,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12150 "parser_cocci_menhir.ml"
+# 14103 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12156 "parser_cocci_menhir.ml"
+# 14109 "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
@@ -12165,7 +14118,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12169 "parser_cocci_menhir.ml"
+# 14122 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -12173,17 +14126,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12177 "parser_cocci_menhir.ml"
+# 14130 "parser_cocci_menhir.ml"
           
         in
         
-# 1020 "parser_cocci_menhir.mly"
+# 1149 "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))] )
-# 12187 "parser_cocci_menhir.ml"
+# 14140 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12242,36 +14195,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12248 "parser_cocci_menhir.ml"
+# 14201 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12253 "parser_cocci_menhir.ml"
+# 14206 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12259 "parser_cocci_menhir.ml"
+# 14212 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12264 "parser_cocci_menhir.ml"
+# 14217 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12270 "parser_cocci_menhir.ml"
+# 14223 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12275 "parser_cocci_menhir.ml"
+# 14228 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -12280,11 +14233,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 12284 "parser_cocci_menhir.ml"
+# 14237 "parser_cocci_menhir.ml"
           
         in
         
-# 1030 "parser_cocci_menhir.mly"
+# 1159 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -12292,7 +14245,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))] )
-# 12296 "parser_cocci_menhir.ml"
+# 14249 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12356,36 +14309,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12362 "parser_cocci_menhir.ml"
+# 14315 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12367 "parser_cocci_menhir.ml"
+# 14320 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12373 "parser_cocci_menhir.ml"
+# 14326 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12378 "parser_cocci_menhir.ml"
+# 14331 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12384 "parser_cocci_menhir.ml"
+# 14337 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12389 "parser_cocci_menhir.ml"
+# 14342 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
@@ -12396,11 +14349,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12400 "parser_cocci_menhir.ml"
+# 14353 "parser_cocci_menhir.ml"
           
         in
         
-# 1030 "parser_cocci_menhir.mly"
+# 1159 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -12408,7 +14361,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))] )
-# 12412 "parser_cocci_menhir.ml"
+# 14365 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12447,29 +14400,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _5 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12453 "parser_cocci_menhir.ml"
+# 14406 "parser_cocci_menhir.ml"
         ) = Obj.magic _5 in
         let _4 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12458 "parser_cocci_menhir.ml"
+# 14411 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12464 "parser_cocci_menhir.ml"
+# 14417 "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 = 
-# 1038 "parser_cocci_menhir.mly"
+# 1167 "parser_cocci_menhir.mly"
       ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
                                  P.clt2mcode ")" _4,P.clt2mcode ";" _5))] )
-# 12473 "parser_cocci_menhir.ml"
+# 14426 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12538,42 +14491,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12544 "parser_cocci_menhir.ml"
+# 14497 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12550 "parser_cocci_menhir.ml"
+# 14503 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let rp2 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12555 "parser_cocci_menhir.ml"
+# 14508 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12561 "parser_cocci_menhir.ml"
+# 14514 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12566 "parser_cocci_menhir.ml"
+# 14519 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12572 "parser_cocci_menhir.ml"
+# 14525 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12577 "parser_cocci_menhir.ml"
+# 14530 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -12582,11 +14535,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 12586 "parser_cocci_menhir.ml"
+# 14539 "parser_cocci_menhir.ml"
           
         in
         
-# 1044 "parser_cocci_menhir.mly"
+# 1173 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -12594,7 +14547,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))])
-# 12598 "parser_cocci_menhir.ml"
+# 14551 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12668,42 +14621,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12674 "parser_cocci_menhir.ml"
+# 14627 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12680 "parser_cocci_menhir.ml"
+# 14633 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let rp2 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12685 "parser_cocci_menhir.ml"
+# 14638 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12691 "parser_cocci_menhir.ml"
+# 14644 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12696 "parser_cocci_menhir.ml"
+# 14649 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12702 "parser_cocci_menhir.ml"
+# 14655 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12707 "parser_cocci_menhir.ml"
+# 14660 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
@@ -12714,11 +14667,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 12718 "parser_cocci_menhir.ml"
+# 14671 "parser_cocci_menhir.ml"
           
         in
         
-# 1044 "parser_cocci_menhir.mly"
+# 1173 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -12726,7 +14679,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))])
-# 12730 "parser_cocci_menhir.ml"
+# 14683 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12760,27 +14713,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 12766 "parser_cocci_menhir.ml"
+# 14719 "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 : (
-# 75 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 12773 "parser_cocci_menhir.ml"
+# 14726 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_pv_ in
         let _v : 'tv_decl_var = 
-# 1052 "parser_cocci_menhir.mly"
+# 1181 "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 )
-# 12784 "parser_cocci_menhir.ml"
+# 14737 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12798,158 +14751,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 _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 = 
-# 769 "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)) )
-# 12812 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_define_param_list_option = 
-# 793 "parser_cocci_menhir.mly"
-                                            ( _1 )
-# 12836 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.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 = 
-# 794 "parser_cocci_menhir.mly"
-                           ( Ast0.wrap(Ast0.DOTS([])) )
-# 12853 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 = 
-# 776 "parser_cocci_menhir.mly"
-          ( [Ast0.wrap(Ast0.DParam _1)] )
-# 12877 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 : (
-# 130 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 12909 "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 = 
-# 778 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.DParam _1)::
-       Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 )
-# 12918 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 : (
-# 96 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 12945 "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 = 
-# 781 "parser_cocci_menhir.mly"
-      ( (P.mkdpdots "..." d)::
-       (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) )
-# 12953 "parser_cocci_menhir.ml"
+# 916 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.DOTS
+            (_1
+               (fun _ d -> Ast0.wrap(Ast0.DPdots(P.clt2mcode "," d)))
+               (fun c -> Ast0.DPComma c))) )
+# 14765 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -12968,14 +14780,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 104 "parser_cocci_menhir.mly"
+# 148 "parser_cocci_menhir.mly"
        (Data.clt * token)
-# 12974 "parser_cocci_menhir.ml"
+# 14786 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_defineop = 
-# 728 "parser_cocci_menhir.mly"
+# 872 "parser_cocci_menhir.mly"
     ( let (clt,ident) = _1 in
       function body ->
        Ast0.wrap
@@ -12992,7 +14804,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                       "unexpected name for a #define")),
              Ast0.wrap Ast0.NoParams,
              body)) )
-# 12996 "parser_cocci_menhir.ml"
+# 14808 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13021,20 +14833,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13027 "parser_cocci_menhir.ml"
+# 14839 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_define_param_list_option = Obj.magic _2 in
         let _1 : (
-# 105 "parser_cocci_menhir.mly"
+# 149 "parser_cocci_menhir.mly"
        (Data.clt * token * int * int)
-# 13033 "parser_cocci_menhir.ml"
+# 14845 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_defineop = 
-# 745 "parser_cocci_menhir.mly"
+# 889 "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
@@ -13055,7 +14867,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)) )
-# 13059 "parser_cocci_menhir.ml"
+# 14871 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13077,9 +14889,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_dep = 
-# 248 "parser_cocci_menhir.mly"
+# 294 "parser_cocci_menhir.mly"
                    ( _1 )
-# 13083 "parser_cocci_menhir.ml"
+# 14895 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13111,9 +14923,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_dep = 
-# 249 "parser_cocci_menhir.mly"
+# 295 "parser_cocci_menhir.mly"
                    ( Ast.AndDep(_1, _3) )
-# 13117 "parser_cocci_menhir.ml"
+# 14929 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13145,9 +14957,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_dep = 
-# 250 "parser_cocci_menhir.mly"
+# 296 "parser_cocci_menhir.mly"
                    ( Ast.OrDep (_1, _3) )
-# 13151 "parser_cocci_menhir.ml"
+# 14963 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13162,9 +14974,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 = 
-# 244 "parser_cocci_menhir.mly"
+# 290 "parser_cocci_menhir.mly"
                            ( Ast.NoDep )
-# 13168 "parser_cocci_menhir.ml"
+# 14980 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13194,9 +15006,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_parents_ in
         let _v : 'tv_depends = 
-# 245 "parser_cocci_menhir.mly"
+# 291 "parser_cocci_menhir.mly"
                            ( parents )
-# 13200 "parser_cocci_menhir.ml"
+# 15012 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13219,18 +15031,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_ident = Obj.magic _2 in
+        let _2 : 'tv_mident = Obj.magic _2 in
         let _1 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13227 "parser_cocci_menhir.ml"
+# 15039 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_designator = 
-# 1153 "parser_cocci_menhir.mly"
+# 1285 "parser_cocci_menhir.mly"
      ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) )
-# 13234 "parser_cocci_menhir.ml"
+# 15046 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13259,22 +15071,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 125 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13265 "parser_cocci_menhir.ml"
+# 15077 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 125 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13271 "parser_cocci_menhir.ml"
+# 15083 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_designator = 
-# 1155 "parser_cocci_menhir.mly"
+# 1287 "parser_cocci_menhir.mly"
      ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) )
-# 13278 "parser_cocci_menhir.ml"
+# 15090 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13313,29 +15125,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _5 : (
-# 125 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13319 "parser_cocci_menhir.ml"
+# 15131 "parser_cocci_menhir.ml"
         ) = Obj.magic _5 in
         let _4 : 'tv_eexpr = Obj.magic _4 in
         let _3 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13325 "parser_cocci_menhir.ml"
+# 15137 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 125 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13331 "parser_cocci_menhir.ml"
+# 15143 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : 'tv_designator = 
-# 1157 "parser_cocci_menhir.mly"
+# 1289 "parser_cocci_menhir.mly"
      ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3,
                             _4,P.clt2mcode "]" _5) )
-# 13339 "parser_cocci_menhir.ml"
+# 15151 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13357,9 +15169,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_dexpr = 
-# 1256 "parser_cocci_menhir.mly"
+# 1368 "parser_cocci_menhir.mly"
                                           ( _1 )
-# 13363 "parser_cocci_menhir.ml"
+# 15175 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13385,9 +15197,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_disable = 
-# 263 "parser_cocci_menhir.mly"
+# 309 "parser_cocci_menhir.mly"
                                                       ( List.map P.id2name _2 )
-# 13391 "parser_cocci_menhir.ml"
+# 15203 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13406,16 +15218,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13412 "parser_cocci_menhir.ml"
+# 15224 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_dot_expressions = 
-# 1265 "parser_cocci_menhir.mly"
+# 1377 "parser_cocci_menhir.mly"
             ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) )
-# 13419 "parser_cocci_menhir.ml"
+# 15231 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13437,9 +15249,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_dot_expressions = 
-# 1266 "parser_cocci_menhir.mly"
+# 1378 "parser_cocci_menhir.mly"
                    ( _1 )
-# 13443 "parser_cocci_menhir.ml"
+# 15255 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13451,34 +15263,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_mident = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_dparam = 
+# 912 "parser_cocci_menhir.mly"
+               ( Ast0.wrap(Ast0.DParam _1) )
+# 15279 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13469 "parser_cocci_menhir.ml"
+# 15300 "parser_cocci_menhir.ml"
         ) = Obj.magic d in
-        let c : (
-# 130 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 13474 "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_ = 
-# 786 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] )
-# 13482 "parser_cocci_menhir.ml"
+        let _v : 'tv_edots_when_TEllipsis_eexpr_ = 
+# 2197 "parser_cocci_menhir.mly"
+                                                  ( (d,None) )
+# 15307 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13490,31 +15315,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 : (
-# 130 "parser_cocci_menhir.mly"
+        let w : 'tv_eexpr = Obj.magic w in
+        let d : (
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13509 "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_ = 
-# 789 "parser_cocci_menhir.mly"
-    ( function dot_builder ->
-      [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1));
-       Ast0.wrap(Ast0.DParam _2)] )
-# 13518 "parser_cocci_menhir.ml"
+# 15346 "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_ = 
+# 2198 "parser_cocci_menhir.mly"
+                                                  ( (d,Some w) )
+# 15353 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13533,16 +15368,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let d : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13539 "parser_cocci_menhir.ml"
+# 15374 "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_ = 
-# 1994 "parser_cocci_menhir.mly"
+        let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = 
+# 2197 "parser_cocci_menhir.mly"
                                                   ( (d,None) )
-# 13546 "parser_cocci_menhir.ml"
+# 15381 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13577,18 +15412,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 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13585 "parser_cocci_menhir.ml"
+# 15420 "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_ = 
-# 1995 "parser_cocci_menhir.mly"
+        let _v : 'tv_edots_when_TEllipsis_enum_decl_one_ = 
+# 2198 "parser_cocci_menhir.mly"
                                                   ( (d,Some w) )
-# 13592 "parser_cocci_menhir.ml"
+# 15427 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13607,16 +15442,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let d : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13613 "parser_cocci_menhir.ml"
+# 15448 "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_ = 
-# 1994 "parser_cocci_menhir.mly"
+# 2197 "parser_cocci_menhir.mly"
                                                   ( (d,None) )
-# 13620 "parser_cocci_menhir.ml"
+# 15455 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13653,16 +15488,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let w : 'tv_initialize = Obj.magic w in
         let d : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13659 "parser_cocci_menhir.ml"
+# 15494 "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_ = 
-# 1995 "parser_cocci_menhir.mly"
+# 2198 "parser_cocci_menhir.mly"
                                                   ( (d,Some w) )
-# 13666 "parser_cocci_menhir.ml"
+# 15501 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13681,16 +15516,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let d : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13687 "parser_cocci_menhir.ml"
+# 15522 "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_ = 
-# 1994 "parser_cocci_menhir.mly"
+        let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ = 
+# 2197 "parser_cocci_menhir.mly"
                                                   ( (d,None) )
-# 13694 "parser_cocci_menhir.ml"
+# 15529 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13725,18 +15560,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 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13733 "parser_cocci_menhir.ml"
+# 15568 "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_ = 
-# 1995 "parser_cocci_menhir.mly"
+        let _v : 'tv_edots_when_TEllipsis_struct_decl_one_ = 
+# 2198 "parser_cocci_menhir.mly"
                                                   ( (d,Some w) )
-# 13740 "parser_cocci_menhir.ml"
+# 15575 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13758,9 +15593,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_eexpr = 
-# 1254 "parser_cocci_menhir.mly"
+# 1366 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 13764 "parser_cocci_menhir.ml"
+# 15599 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13778,22 +15613,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 = 
-# 1938 "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)) )
-# 13797 "parser_cocci_menhir.ml"
+        let _v : 'tv_eexpr_list_option = 
+# 2177 "parser_cocci_menhir.mly"
+      ( Ast0.wrap
+         (Ast0.DOTS
+            (_1
+               (fun _ d -> Ast0.wrap(Ast0.Edots(P.clt2mcode "..." d,None)))
+               (fun c -> Ast0.EComma c))) )
+# 15627 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.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_ = 
+# 1939 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15644 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13811,13 +15658,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 = 
-# 1977 "parser_cocci_menhir.mly"
-                              ( _1 )
-# 13821 "parser_cocci_menhir.ml"
+        let _v : 'tv_empty_list_start_aexpr_TEllipsis_ = 
+# 1940 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15668 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13831,10 +15678,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 = 
-# 1978 "parser_cocci_menhir.mly"
-                           ( Ast0.wrap(Ast0.DOTS([])) )
-# 13838 "parser_cocci_menhir.ml"
+        let _v : 'tv_empty_list_start_dparam_TEllipsis_ = 
+# 1939 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15685 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13852,13 +15699,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 = 
-# 1965 "parser_cocci_menhir.mly"
-          ( [_1] )
-# 13862 "parser_cocci_menhir.ml"
+        let _v : 'tv_empty_list_start_dparam_TEllipsis_ = 
+# 1940 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15709 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.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__ = 
+# 1939 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15726 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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__ = 
+# 1940 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15750 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.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_ = 
+# 1939 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15767 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_ = 
+# 1940 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15791 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.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_ = 
+# 1939 "parser_cocci_menhir.mly"
+              ( fun build_dots build_comma -> [] )
+# 15808 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_ = 
+# 1940 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 15832 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = 
+# 776 "parser_cocci_menhir.mly"
+     ( Ast0.wrap(Ast0.DOTS(_1 P.mkedots (fun c -> Ast0.EComma c))) )
+# 15856 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_mident = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_decl_one = 
+# 747 "parser_cocci_menhir.mly"
+                ( Ast0.wrap(Ast0.Ident(_1)) )
+# 15880 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13886,19 +15904,194 @@ 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 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 13894 "parser_cocci_menhir.ml"
+# 15912 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_aexpr = Obj.magic _1 in
+        let _1 : 'tv_mident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
-        let _v : 'tv_eexpr_list_start = 
-# 1967 "parser_cocci_menhir.mly"
-      ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 )
-# 13902 "parser_cocci_menhir.ml"
+        let _v : 'tv_enum_decl_one = 
+# 749 "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)) )
+# 15924 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_ident = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 756 "parser_cocci_menhir.mly"
+            ( Ast0.wrap(Ast0.Ident(_1)) )
+# 15948 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 154 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 15969 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 758 "parser_cocci_menhir.mly"
+     ( let (x,clt) = _1 in
+     Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
+# 15977 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 15998 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 760 "parser_cocci_menhir.mly"
+         ( tmeta_to_exp _1 )
+# 16005 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 134 "parser_cocci_menhir.mly"
+       (Parse_aux.typed_expinfo)
+# 16026 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 762 "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)) )
+# 16035 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 134 "parser_cocci_menhir.mly"
+       (Parse_aux.typed_expinfo)
+# 16056 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 766 "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)) )
+# 16065 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 134 "parser_cocci_menhir.mly"
+       (Parse_aux.typed_expinfo)
+# 16086 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_enum_val = 
+# 770 "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)) )
+# 16095 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13918,9 +16111,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_exists = 
-# 266 "parser_cocci_menhir.mly"
+# 312 "parser_cocci_menhir.mly"
           ( Ast.Exists )
-# 13924 "parser_cocci_menhir.ml"
+# 16117 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13940,9 +16133,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_exists = 
-# 267 "parser_cocci_menhir.mly"
+# 313 "parser_cocci_menhir.mly"
           ( Ast.Forall )
-# 13946 "parser_cocci_menhir.ml"
+# 16139 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13957,9 +16150,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 = 
-# 268 "parser_cocci_menhir.mly"
+# 314 "parser_cocci_menhir.mly"
           ( Ast.Undetermined )
-# 13963 "parser_cocci_menhir.ml"
+# 16156 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -13981,9 +16174,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_expr = 
-# 1252 "parser_cocci_menhir.mly"
+# 1364 "parser_cocci_menhir.mly"
                                 ( _1 )
-# 13987 "parser_cocci_menhir.ml"
+# 16180 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14005,9 +16198,119 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_r_ in
         let _endpos = _endpos_r_ in
         let _v : 'tv_expr_dots_TEllipsis_ = 
-# 1434 "parser_cocci_menhir.mly"
+# 1601 "parser_cocci_menhir.mly"
                                                        ( r )
-# 14011 "parser_cocci_menhir.ml"
+# 16204 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = 
+# 542 "parser_cocci_menhir.mly"
+                        ( P.ty_pointerify Type_cocci.Unknown m )
+# 16228 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = 
+# 544 "parser_cocci_menhir.mly"
+    ( P.ty_pointerify (Type_cocci.EnumName Type_cocci.NoName) m )
+# 16256 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = 
+# 546 "parser_cocci_menhir.mly"
+    ( P.ty_pointerify
+       (Type_cocci.StructUnionName (Type_cocci.Struct,Type_cocci.NoName)) m )
+# 16285 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = 
+# 549 "parser_cocci_menhir.mly"
+    ( P.ty_pointerify
+       (Type_cocci.StructUnionName (Type_cocci.Union,Type_cocci.NoName)) m )
+# 16314 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14022,9 +16325,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 = 
-# 239 "parser_cocci_menhir.mly"
+# 285 "parser_cocci_menhir.mly"
                                                   ( () )
-# 14028 "parser_cocci_menhir.ml"
+# 16331 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14047,16 +16350,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let parent : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 14053 "parser_cocci_menhir.ml"
+# 16356 "parser_cocci_menhir.ml"
         ) = Obj.magic parent in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_parent_ in
         let _v : 'tv_extends = 
-# 241 "parser_cocci_menhir.mly"
+# 287 "parser_cocci_menhir.mly"
     ( !Data.install_bindings (parent) )
-# 14060 "parser_cocci_menhir.ml"
+# 16363 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14080,23 +16383,106 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 106 "parser_cocci_menhir.mly"
+# 150 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 14086 "parser_cocci_menhir.ml"
+# 16389 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 106 "parser_cocci_menhir.mly"
+# 150 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 14091 "parser_cocci_menhir.ml"
+# 16394 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_filespec = 
-# 683 "parser_cocci_menhir.mly"
+# 813 "parser_cocci_menhir.mly"
     ( [Ast0.wrap
          (Ast0.FILEINFO(P.id2mcode _1,
                         P.id2mcode _2))] )
-# 14100 "parser_cocci_menhir.ml"
+# 16403 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_mident = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_fn_ident = 
+# 1859 "parser_cocci_menhir.mly"
+                 ( _1 )
+# 16427 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 128 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 16448 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_fn_ident = 
+# 1861 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+        Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 16456 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 128 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 16477 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_fn_ident = 
+# 1864 "parser_cocci_menhir.mly"
+  ( let (nm,constraints,pure,clt) = _1 in
+        Ast0.wrap
+          (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
+# 16486 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14111,9 +16497,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 = 
-# 822 "parser_cocci_menhir.mly"
+# 948 "parser_cocci_menhir.mly"
                 ( [] )
-# 14117 "parser_cocci_menhir.ml"
+# 16503 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14141,13 +16527,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fninfo = 
-# 824 "parser_cocci_menhir.mly"
+# 950 "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 )
-# 14151 "parser_cocci_menhir.ml"
+# 16537 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14175,9 +16561,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_t_ in
         let _endpos = _endpos_r_ in
         let _v : 'tv_fninfo = 
-# 829 "parser_cocci_menhir.mly"
+# 955 "parser_cocci_menhir.mly"
                         ( (Ast0.FType(t))::r )
-# 14181 "parser_cocci_menhir.ml"
+# 16567 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14202,19 +16588,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _2 : 'tv_fninfo = Obj.magic _2 in
         let _1 : (
-# 75 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 14208 "parser_cocci_menhir.ml"
+# 16594 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fninfo = 
-# 831 "parser_cocci_menhir.mly"
+# 957 "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 )
-# 14218 "parser_cocci_menhir.ml"
+# 16604 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14239,19 +16625,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _2 : 'tv_fninfo = Obj.magic _2 in
         let _1 : (
-# 77 "parser_cocci_menhir.mly"
+# 121 "parser_cocci_menhir.mly"
       (string * Data.clt)
-# 14245 "parser_cocci_menhir.ml"
+# 16631 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fninfo = 
-# 836 "parser_cocci_menhir.mly"
+# 962 "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 )
-# 14255 "parser_cocci_menhir.ml"
+# 16641 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14266,9 +16652,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 = 
-# 842 "parser_cocci_menhir.mly"
+# 968 "parser_cocci_menhir.mly"
                 ( [] )
-# 14272 "parser_cocci_menhir.ml"
+# 16658 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14296,13 +16682,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fninfo_nt = 
-# 844 "parser_cocci_menhir.mly"
+# 970 "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 )
-# 14306 "parser_cocci_menhir.ml"
+# 16692 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14327,19 +16713,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _2 : 'tv_fninfo_nt = Obj.magic _2 in
         let _1 : (
-# 75 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 14333 "parser_cocci_menhir.ml"
+# 16719 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fninfo_nt = 
-# 850 "parser_cocci_menhir.mly"
+# 976 "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 )
-# 14343 "parser_cocci_menhir.ml"
+# 16729 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14364,19 +16750,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _2 : 'tv_fninfo_nt = Obj.magic _2 in
         let _1 : (
-# 77 "parser_cocci_menhir.mly"
+# 121 "parser_cocci_menhir.mly"
       (string * Data.clt)
-# 14370 "parser_cocci_menhir.ml"
+# 16756 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fninfo_nt = 
-# 855 "parser_cocci_menhir.mly"
+# 981 "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 )
-# 14380 "parser_cocci_menhir.ml"
+# 16766 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14391,9 +16777,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 = 
-# 1886 "parser_cocci_menhir.mly"
+# 2110 "parser_cocci_menhir.mly"
                                ([])
-# 14397 "parser_cocci_menhir.ml"
+# 16783 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14419,9 +16805,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_dots = 
-# 1887 "parser_cocci_menhir.mly"
+# 2111 "parser_cocci_menhir.mly"
                                (_2)
-# 14425 "parser_cocci_menhir.ml"
+# 16811 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14449,9 +16835,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_dots = 
-# 1888 "parser_cocci_menhir.mly"
+# 2112 "parser_cocci_menhir.mly"
                                (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 14455 "parser_cocci_menhir.ml"
+# 16841 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14479,9 +16865,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_dots = 
-# 1889 "parser_cocci_menhir.mly"
+# 2113 "parser_cocci_menhir.mly"
                                     (_1@_2)
-# 14485 "parser_cocci_menhir.ml"
+# 16871 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14496,9 +16882,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 = 
-# 1896 "parser_cocci_menhir.mly"
+# 2120 "parser_cocci_menhir.mly"
                                ([])
-# 14502 "parser_cocci_menhir.ml"
+# 16888 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14524,9 +16910,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_dots_or = 
-# 1897 "parser_cocci_menhir.mly"
+# 2121 "parser_cocci_menhir.mly"
                                (_2)
-# 14530 "parser_cocci_menhir.ml"
+# 16916 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14554,9 +16940,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_dots_or = 
-# 1898 "parser_cocci_menhir.mly"
+# 2122 "parser_cocci_menhir.mly"
                                (Ast0.wrap(Ast0.Exp(_1))::_2)
-# 14560 "parser_cocci_menhir.ml"
+# 16946 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14584,9 +16970,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_dots_or = 
-# 1899 "parser_cocci_menhir.mly"
+# 2123 "parser_cocci_menhir.mly"
                                     (_1@_2)
-# 14590 "parser_cocci_menhir.ml"
+# 16976 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14614,9 +17000,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_exp = 
-# 1892 "parser_cocci_menhir.mly"
+# 2116 "parser_cocci_menhir.mly"
                                (_1::_2)
-# 14620 "parser_cocci_menhir.ml"
+# 17006 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14631,9 +17017,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 = 
-# 1902 "parser_cocci_menhir.mly"
+# 2126 "parser_cocci_menhir.mly"
                                ([])
-# 14637 "parser_cocci_menhir.ml"
+# 17023 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14661,9 +17047,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_exp_or = 
-# 1903 "parser_cocci_menhir.mly"
+# 2127 "parser_cocci_menhir.mly"
                                (_1::_2)
-# 14667 "parser_cocci_menhir.ml"
+# 17053 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14678,9 +17064,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 = 
-# 1881 "parser_cocci_menhir.mly"
+# 2105 "parser_cocci_menhir.mly"
                                ([])
-# 14684 "parser_cocci_menhir.ml"
+# 17070 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14708,9 +17094,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_stm = 
-# 1882 "parser_cocci_menhir.mly"
+# 2106 "parser_cocci_menhir.mly"
                                (_1::_2)
-# 14714 "parser_cocci_menhir.ml"
+# 17100 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14738,9 +17124,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_fun_after_stm = 
-# 1883 "parser_cocci_menhir.mly"
+# 2107 "parser_cocci_menhir.mly"
                                (_1@_2)
-# 14744 "parser_cocci_menhir.ml"
+# 17130 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14762,9 +17148,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_fun_start = 
-# 1878 "parser_cocci_menhir.mly"
+# 2102 "parser_cocci_menhir.mly"
                  ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 14768 "parser_cocci_menhir.ml"
+# 17154 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14782,42 +17168,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_pure_ident = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__1_ in
-        let _v : 'tv_func_ident = 
-# 1676 "parser_cocci_menhir.mly"
-         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 14792 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 : (
-# 84 "parser_cocci_menhir.mly"
-       (Parse_aux.idinfo)
-# 14813 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+        let _1 : 'tv_ident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_func_ident = 
-# 1678 "parser_cocci_menhir.mly"
-         ( let (nm,constraints,pure,clt) = _1 in
-        Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 14821 "parser_cocci_menhir.ml"
+# 1850 "parser_cocci_menhir.mly"
+                  ( _1 )
+# 17178 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14836,17 +17193,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 84 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 14842 "parser_cocci_menhir.ml"
+# 17199 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_func_ident = 
-# 1681 "parser_cocci_menhir.mly"
+# 1852 "parser_cocci_menhir.mly"
          ( let (nm,constraints,pure,clt) = _1 in
         Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 14850 "parser_cocci_menhir.ml"
+# 17207 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14865,18 +17222,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 84 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 14871 "parser_cocci_menhir.ml"
+# 17228 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_func_ident = 
-# 1684 "parser_cocci_menhir.mly"
+# 1855 "parser_cocci_menhir.mly"
   ( let (nm,constraints,pure,clt) = _1 in
         Ast0.wrap
           (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) )
-# 14880 "parser_cocci_menhir.ml"
+# 17237 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -14934,33 +17291,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rb : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 14940 "parser_cocci_menhir.ml"
+# 17297 "parser_cocci_menhir.ml"
         ) = Obj.magic rb in
         let b : 'tv_fun_start = Obj.magic b in
         let lb : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 14946 "parser_cocci_menhir.ml"
+# 17303 "parser_cocci_menhir.ml"
         ) = Obj.magic lb in
         let rp : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 14951 "parser_cocci_menhir.ml"
+# 17308 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let d : 'tv_decl_list_decl_ = Obj.magic d in
         let lp : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 14957 "parser_cocci_menhir.ml"
+# 17314 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
-        let i : 'tv_func_ident = Obj.magic i in
+        let i : 'tv_fn_ident = Obj.magic i in
         let f : 'tv_fninfo = Obj.magic f in
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_rb_ in
         let _v : 'tv_fundecl = 
-# 813 "parser_cocci_menhir.mly"
+# 939 "parser_cocci_menhir.mly"
       ( P.verify_parameter_declarations (Ast0.undots d);
        Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()),
                               f, i,
@@ -14968,7 +17325,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                               P.clt2mcode ")" rp,
                               P.clt2mcode "{" lb, b,
                               P.clt2mcode "}" rb)) )
-# 14972 "parser_cocci_menhir.ml"
+# 17329 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15012,22 +17369,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pt : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15018 "parser_cocci_menhir.ml"
+# 17375 "parser_cocci_menhir.ml"
         ) = Obj.magic pt in
         let rp : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15023 "parser_cocci_menhir.ml"
+# 17380 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
         let lp : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15029 "parser_cocci_menhir.ml"
+# 17386 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
-        let id : 'tv_func_ident = Obj.magic id in
+        let id : 'tv_fn_ident = Obj.magic id in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
         let _endpos = _endpos_pt_ in
@@ -15035,11 +17392,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 15039 "parser_cocci_menhir.ml"
+# 17396 "parser_cocci_menhir.ml"
           
         in
         
-# 801 "parser_cocci_menhir.mly"
+# 927 "parser_cocci_menhir.mly"
       ( Ast0.wrap
          (Ast0.UnInit
             (s,
@@ -15047,7 +17404,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                (Ast0.FunctionType(Some t,
                                   P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
              id, P.clt2mcode ";" pt)) )
-# 15051 "parser_cocci_menhir.ml"
+# 17408 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15096,22 +17453,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pt : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15102 "parser_cocci_menhir.ml"
+# 17459 "parser_cocci_menhir.ml"
         ) = Obj.magic pt in
         let rp : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15107 "parser_cocci_menhir.ml"
+# 17464 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
         let lp : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15113 "parser_cocci_menhir.ml"
+# 17470 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
-        let id : 'tv_func_ident = Obj.magic id in
+        let id : 'tv_fn_ident = Obj.magic id in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -15121,11 +17478,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 15125 "parser_cocci_menhir.ml"
+# 17482 "parser_cocci_menhir.ml"
           
         in
         
-# 801 "parser_cocci_menhir.mly"
+# 927 "parser_cocci_menhir.mly"
       ( Ast0.wrap
          (Ast0.UnInit
             (s,
@@ -15133,7 +17490,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                (Ast0.FunctionType(Some t,
                                   P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)),
              id, P.clt2mcode ";" pt)) )
-# 15137 "parser_cocci_menhir.ml"
+# 17494 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15155,9 +17512,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_ident = 
-# 1689 "parser_cocci_menhir.mly"
+# 1869 "parser_cocci_menhir.mly"
          ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 15161 "parser_cocci_menhir.ml"
+# 17518 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15176,17 +17533,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 84 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 15182 "parser_cocci_menhir.ml"
+# 17539 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_ident = 
-# 1691 "parser_cocci_menhir.mly"
+# 1871 "parser_cocci_menhir.mly"
          ( let (nm,constraints,pure,clt) = _1 in
          Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 15190 "parser_cocci_menhir.ml"
+# 17547 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15208,9 +17565,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_i_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_ident_or_const = 
-# 1649 "parser_cocci_menhir.mly"
+# 1824 "parser_cocci_menhir.mly"
                     ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) )
-# 15214 "parser_cocci_menhir.ml"
+# 17571 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15229,17 +17586,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 15235 "parser_cocci_menhir.ml"
+# 17592 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_ident_or_const = 
-# 1651 "parser_cocci_menhir.mly"
+# 1826 "parser_cocci_menhir.mly"
   ( let (x,clt) = _1 in
         Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 15243 "parser_cocci_menhir.ml"
+# 17600 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15258,16 +17615,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 103 "parser_cocci_menhir.mly"
+# 147 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 15264 "parser_cocci_menhir.ml"
+# 17621 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_incl = 
-# 279 "parser_cocci_menhir.mly"
+# 325 "parser_cocci_menhir.mly"
                       ( let (x,_) = _1 in Data.Include(x) )
-# 15271 "parser_cocci_menhir.ml"
+# 17628 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15290,16 +17647,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 15296 "parser_cocci_menhir.ml"
+# 17653 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_incl = 
-# 280 "parser_cocci_menhir.mly"
+# 326 "parser_cocci_menhir.mly"
                       ( Data.Iso(Common.Left(P.id2name _2)) )
-# 15303 "parser_cocci_menhir.ml"
+# 17660 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15322,16 +17679,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 102 "parser_cocci_menhir.mly"
+# 146 "parser_cocci_menhir.mly"
        (string)
-# 15328 "parser_cocci_menhir.ml"
+# 17685 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_incl = 
-# 281 "parser_cocci_menhir.mly"
+# 327 "parser_cocci_menhir.mly"
                       ( Data.Iso(Common.Right _2) )
-# 15335 "parser_cocci_menhir.ml"
+# 17692 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15357,14 +17714,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_incl = 
-# 283 "parser_cocci_menhir.mly"
+# 329 "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) )
-# 15368 "parser_cocci_menhir.ml"
+# 17727 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15390,13 +17749,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 169 "parser_cocci_menhir.mly"
+# 215 "parser_cocci_menhir.mly"
       (Data.incl_iso list)
-# 15396 "parser_cocci_menhir.ml"
+# 17755 "parser_cocci_menhir.ml"
         ) = 
-# 275 "parser_cocci_menhir.mly"
+# 321 "parser_cocci_menhir.mly"
                        ( _1 )
-# 15400 "parser_cocci_menhir.ml"
+# 17759 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15422,13 +17781,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 169 "parser_cocci_menhir.mly"
+# 215 "parser_cocci_menhir.mly"
       (Data.incl_iso list)
-# 15428 "parser_cocci_menhir.ml"
+# 17787 "parser_cocci_menhir.ml"
         ) = 
-# 276 "parser_cocci_menhir.mly"
+# 322 "parser_cocci_menhir.mly"
                        ( _1 )
-# 15432 "parser_cocci_menhir.ml"
+# 17791 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15447,14 +17806,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 103 "parser_cocci_menhir.mly"
+# 147 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 15453 "parser_cocci_menhir.ml"
+# 17812 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_includes = 
-# 689 "parser_cocci_menhir.mly"
+# 819 "parser_cocci_menhir.mly"
     ( Ast0.wrap
              (Ast0.Include(P.clt2mcode "#include"
                              (P.drop_pos (P.drop_aft (P.id2clt _1))),
@@ -15465,7 +17824,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                            P.clt2mcode
                              (Ast.Local (Parse_aux.str2inc (P.id2name _1)))
                              (P.drop_bef clt))) )
-# 15469 "parser_cocci_menhir.ml"
+# 17828 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15484,14 +17843,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 103 "parser_cocci_menhir.mly"
+# 147 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 15490 "parser_cocci_menhir.ml"
+# 17849 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_includes = 
-# 700 "parser_cocci_menhir.mly"
+# 830 "parser_cocci_menhir.mly"
     ( Ast0.wrap
              (Ast0.Include(P.clt2mcode "#include"
                              (P.drop_pos (P.drop_aft (P.id2clt _1))),
@@ -15502,7 +17861,51 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                            P.clt2mcode
                              (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1)))
                              (P.drop_bef clt))) )
-# 15506 "parser_cocci_menhir.ml"
+# 17865 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 148 "parser_cocci_menhir.mly"
+       (Data.clt * token)
+# 17890 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_includes = 
+# 841 "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")))) )
+# 17909 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15528,9 +17931,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_d_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_includes = 
-# 711 "parser_cocci_menhir.mly"
+# 855 "parser_cocci_menhir.mly"
     ( d (Ast0.wrap(Ast0.DOTS([]))) )
-# 15534 "parser_cocci_menhir.ml"
+# 17937 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15562,10 +17965,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_d_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_includes = 
-# 713 "parser_cocci_menhir.mly"
+# 857 "parser_cocci_menhir.mly"
     ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in
       d (Ast0.wrap(Ast0.DOTS([ty]))) )
-# 15569 "parser_cocci_menhir.ml"
+# 17972 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15597,7 +18000,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_includes = 
-# 716 "parser_cocci_menhir.mly"
+# 860 "parser_cocci_menhir.mly"
     ( let body =
        match b with
          [e] ->
@@ -15607,7 +18010,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
            | _ -> b)
        | _ -> b in
       _1 (Ast0.wrap(Ast0.DOTS(body))) )
-# 15611 "parser_cocci_menhir.ml"
+# 18014 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15629,9 +18032,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_initialize = 
-# 1124 "parser_cocci_menhir.mly"
+# 1254 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 15635 "parser_cocci_menhir.ml"
+# 18038 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15660,62 +18063,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15666 "parser_cocci_menhir.ml"
+# 18069 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_initialize_list = Obj.magic _2 in
         let _1 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15672 "parser_cocci_menhir.ml"
+# 18075 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_initialize = 
-# 1126 "parser_cocci_menhir.mly"
-      ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 15679 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15705 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15710 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_initialize = 
-# 1128 "parser_cocci_menhir.mly"
-      ( Ast0.wrap
-         (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
-                        P.clt2mcode "}" _2)) )
-# 15719 "parser_cocci_menhir.ml"
+# 1256 "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)) )
+# 18087 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15734,17 +18102,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 88 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 15740 "parser_cocci_menhir.ml"
+# 18108 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_initialize = 
-# 1132 "parser_cocci_menhir.mly"
+# 1263 "parser_cocci_menhir.mly"
       (let (nm,pure,clt) = _1 in
       Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) )
-# 15748 "parser_cocci_menhir.ml"
+# 18116 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15766,9 +18134,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_initialize2 = 
-# 1138 "parser_cocci_menhir.mly"
+# 1269 "parser_cocci_menhir.mly"
                             ( Ast0.wrap(Ast0.InitExpr(_1)) )
-# 15772 "parser_cocci_menhir.ml"
+# 18140 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15797,62 +18165,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15803 "parser_cocci_menhir.ml"
+# 18171 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_initialize_list = Obj.magic _2 in
         let _1 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15809 "parser_cocci_menhir.ml"
+# 18177 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_initialize2 = 
-# 1140 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 15816 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15842 "parser_cocci_menhir.ml"
-        ) = Obj.magic _2 in
-        let _1 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15847 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : 'tv_initialize2 = 
-# 1142 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []),
-                      P.clt2mcode "}" _2)) )
-# 15856 "parser_cocci_menhir.ml"
+# 1271 "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)) )
+# 18189 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15882,17 +18215,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_initialize2 = Obj.magic _3 in
         let _2 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15888 "parser_cocci_menhir.ml"
+# 18221 "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 = 
-# 1147 "parser_cocci_menhir.mly"
+# 1279 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) )
-# 15896 "parser_cocci_menhir.ml"
+# 18229 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15922,17 +18255,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_initialize2 = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 15928 "parser_cocci_menhir.ml"
+# 18261 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_ident = Obj.magic _1 in
+        let _1 : 'tv_mident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_initialize2 = 
-# 1149 "parser_cocci_menhir.mly"
+# 1281 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) )
-# 15936 "parser_cocci_menhir.ml"
+# 18269 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -15950,118 +18283,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 = 
-# 1161 "parser_cocci_menhir.mly"
-                         ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 15960 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 : (
-# 130 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 15986 "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 = 
-# 1164 "parser_cocci_menhir.mly"
-                     ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] )
-# 15994 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 : (
-# 130 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 16026 "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 = 
-# 1166 "parser_cocci_menhir.mly"
-    ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 )
-# 16034 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 = 
-# 1169 "parser_cocci_menhir.mly"
-    ( (P.mkidots "..." d)::
-      (List.concat(List.map (function x -> x (P.mkidots "...")) r)) )
-# 16065 "parser_cocci_menhir.ml"
+# 1294 "parser_cocci_menhir.mly"
+     ( Ast0.wrap(Ast0.DOTS(_1 P.mkidots (fun c -> Ast0.IComma c))) )
+# 18293 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16081,9 +18309,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_invalid = 
-# 1262 "parser_cocci_menhir.mly"
+# 1374 "parser_cocci_menhir.mly"
            ( raise (Semantic_cocci.Semantic "not matchable") )
-# 16087 "parser_cocci_menhir.ml"
+# 18315 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16098,9 +18326,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 = 
-# 271 "parser_cocci_menhir.mly"
+# 317 "parser_cocci_menhir.mly"
               ( false )
-# 16104 "parser_cocci_menhir.ml"
+# 18332 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16120,9 +18348,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_is_expression = 
-# 272 "parser_cocci_menhir.mly"
+# 318 "parser_cocci_menhir.mly"
               ( true )
-# 16126 "parser_cocci_menhir.ml"
+# 18354 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16148,9 +18376,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_ctype_ = 
-# 2050 "parser_cocci_menhir.mly"
+# 2253 "parser_cocci_menhir.mly"
                 ( Common.Left t )
-# 16154 "parser_cocci_menhir.ml"
+# 18382 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16176,9 +18404,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_ctype_ = 
-# 2051 "parser_cocci_menhir.mly"
+# 2254 "parser_cocci_menhir.mly"
                      ( Common.Right t )
-# 16182 "parser_cocci_menhir.ml"
+# 18410 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16204,9 +18432,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_decl_var_ = 
-# 2050 "parser_cocci_menhir.mly"
+# 2253 "parser_cocci_menhir.mly"
                 ( Common.Left t )
-# 16210 "parser_cocci_menhir.ml"
+# 18438 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16232,9 +18460,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_decl_var_ = 
-# 2051 "parser_cocci_menhir.mly"
+# 2254 "parser_cocci_menhir.mly"
                      ( Common.Right t )
-# 16238 "parser_cocci_menhir.ml"
+# 18466 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16260,9 +18488,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_eexpr_ = 
-# 2050 "parser_cocci_menhir.mly"
+# 2253 "parser_cocci_menhir.mly"
                 ( Common.Left t )
-# 16266 "parser_cocci_menhir.ml"
+# 18494 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16288,9 +18516,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_eexpr_ = 
-# 2051 "parser_cocci_menhir.mly"
+# 2254 "parser_cocci_menhir.mly"
                      ( Common.Right t )
-# 16294 "parser_cocci_menhir.ml"
+# 18522 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16316,9 +18544,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_nest_start_ = 
-# 2050 "parser_cocci_menhir.mly"
+# 2253 "parser_cocci_menhir.mly"
                 ( Common.Left t )
-# 16322 "parser_cocci_menhir.ml"
+# 18550 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16344,9 +18572,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_nest_start_ = 
-# 2051 "parser_cocci_menhir.mly"
+# 2254 "parser_cocci_menhir.mly"
                      ( Common.Right t )
-# 16350 "parser_cocci_menhir.ml"
+# 18578 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16372,9 +18600,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_single_statement_ = 
-# 2050 "parser_cocci_menhir.mly"
+# 2253 "parser_cocci_menhir.mly"
                 ( Common.Left t )
-# 16378 "parser_cocci_menhir.ml"
+# 18606 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16400,9 +18628,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_iso_single_statement_ = 
-# 2051 "parser_cocci_menhir.mly"
+# 2254 "parser_cocci_menhir.mly"
                      ( Common.Right t )
-# 16406 "parser_cocci_menhir.ml"
+# 18634 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16438,13 +18666,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 185 "parser_cocci_menhir.mly"
+# 231 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16444 "parser_cocci_menhir.ml"
+# 18672 "parser_cocci_menhir.ml"
         ) = 
-# 2018 "parser_cocci_menhir.mly"
+# 2221 "parser_cocci_menhir.mly"
     ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el )
-# 16448 "parser_cocci_menhir.ml"
+# 18676 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16480,13 +18708,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 185 "parser_cocci_menhir.mly"
+# 231 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16486 "parser_cocci_menhir.ml"
+# 18714 "parser_cocci_menhir.ml"
         ) = 
-# 2020 "parser_cocci_menhir.mly"
+# 2223 "parser_cocci_menhir.mly"
     ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el )
-# 16490 "parser_cocci_menhir.ml"
+# 18718 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16522,13 +18750,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 185 "parser_cocci_menhir.mly"
+# 231 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16528 "parser_cocci_menhir.ml"
+# 18756 "parser_cocci_menhir.ml"
         ) = 
-# 2022 "parser_cocci_menhir.mly"
+# 2225 "parser_cocci_menhir.mly"
     ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el )
-# 16532 "parser_cocci_menhir.ml"
+# 18760 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16564,15 +18792,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 185 "parser_cocci_menhir.mly"
+# 231 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16570 "parser_cocci_menhir.ml"
+# 18798 "parser_cocci_menhir.ml"
         ) = 
-# 2024 "parser_cocci_menhir.mly"
+# 2227 "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 )
-# 16576 "parser_cocci_menhir.ml"
+# 18804 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16608,13 +18836,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 185 "parser_cocci_menhir.mly"
+# 231 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16614 "parser_cocci_menhir.ml"
+# 18842 "parser_cocci_menhir.ml"
         ) = 
-# 2028 "parser_cocci_menhir.mly"
+# 2231 "parser_cocci_menhir.mly"
     ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl )
-# 16618 "parser_cocci_menhir.ml"
+# 18846 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16650,13 +18878,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 185 "parser_cocci_menhir.mly"
+# 231 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16656 "parser_cocci_menhir.ml"
+# 18884 "parser_cocci_menhir.ml"
         ) = 
-# 2030 "parser_cocci_menhir.mly"
+# 2233 "parser_cocci_menhir.mly"
     ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl )
-# 16660 "parser_cocci_menhir.ml"
+# 18888 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16692,13 +18920,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 185 "parser_cocci_menhir.mly"
+# 231 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16698 "parser_cocci_menhir.ml"
+# 18926 "parser_cocci_menhir.ml"
         ) = 
-# 2032 "parser_cocci_menhir.mly"
+# 2235 "parser_cocci_menhir.mly"
     ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el )
-# 16702 "parser_cocci_menhir.ml"
+# 18930 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16734,11 +18962,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : (
-# 185 "parser_cocci_menhir.mly"
+# 231 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 16740 "parser_cocci_menhir.ml"
+# 18968 "parser_cocci_menhir.ml"
         ) = 
-# 2034 "parser_cocci_menhir.mly"
+# 2237 "parser_cocci_menhir.mly"
     ( let check_one = function
        [x] -> x
       | _ ->
@@ -16753,7 +18981,7 @@ 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 )
-# 16757 "parser_cocci_menhir.ml"
+# 18985 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16775,13 +19003,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_m_ in
         let _endpos = _endpos_m_ in
         let _v : (
-# 188 "parser_cocci_menhir.mly"
+# 234 "parser_cocci_menhir.mly"
       ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 16781 "parser_cocci_menhir.ml"
+# 19009 "parser_cocci_menhir.ml"
         ) = 
-# 205 "parser_cocci_menhir.mly"
+# 251 "parser_cocci_menhir.mly"
                          ( m "" )
-# 16785 "parser_cocci_menhir.ml"
+# 19013 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16807,13 +19035,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_nm_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 172 "parser_cocci_menhir.mly"
+# 218 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 16813 "parser_cocci_menhir.ml"
+# 19041 "parser_cocci_menhir.ml"
         ) = 
-# 220 "parser_cocci_menhir.mly"
+# 266 "parser_cocci_menhir.mly"
                       ( P.make_iso_rule_name_result (P.id2name nm) )
-# 16817 "parser_cocci_menhir.ml"
+# 19045 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16832,16 +19060,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 81 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 16838 "parser_cocci_menhir.ml"
+# 19066 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_iter_ident = 
-# 1703 "parser_cocci_menhir.mly"
+# 1894 "parser_cocci_menhir.mly"
          ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
-# 16845 "parser_cocci_menhir.ml"
+# 19073 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16860,17 +19088,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 85 "parser_cocci_menhir.mly"
+# 129 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 16866 "parser_cocci_menhir.ml"
+# 19094 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_iter_ident = 
-# 1705 "parser_cocci_menhir.mly"
+# 1896 "parser_cocci_menhir.mly"
          ( let (nm,constraints,pure,clt) = _1 in
          Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
-# 16874 "parser_cocci_menhir.ml"
+# 19102 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16887,7 +19115,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_TMul_ = 
 # 114 "standard.mly"
     ( [] )
-# 16891 "parser_cocci_menhir.ml"
+# 19119 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16912,16 +19140,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let xs : 'tv_list_TMul_ = Obj.magic xs in
         let x : (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 16918 "parser_cocci_menhir.ml"
+# 19146 "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 )
-# 16925 "parser_cocci_menhir.ml"
+# 19153 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16938,7 +19166,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_array_dec_ = 
 # 114 "standard.mly"
     ( [] )
-# 16942 "parser_cocci_menhir.ml"
+# 19170 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16968,7 +19196,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_array_dec_ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 16972 "parser_cocci_menhir.ml"
+# 19200 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -16985,7 +19213,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_case_line_ = 
 # 114 "standard.mly"
     ( [] )
-# 16989 "parser_cocci_menhir.ml"
+# 19217 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17015,101 +19243,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_case_line_ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17019 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.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_comma_decls_TEllipsis_decl__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17036 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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_comma_decls_TEllipsis_decl__ = Obj.magic xs in
-        let x : 'tv_comma_decls_TEllipsis_decl_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_comma_decls_TEllipsis_decl__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17066 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.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_comma_decls_TEllipsis_name_opt_decl__ = 
-# 114 "standard.mly"
-    ( [] )
-# 17083 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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_comma_decls_TEllipsis_name_opt_decl__ = Obj.magic xs in
-        let x : 'tv_comma_decls_TEllipsis_name_opt_decl_ = Obj.magic x in
-        let _startpos = _startpos_x_ in
-        let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = 
-# 116 "standard.mly"
-    ( x :: xs )
-# 17113 "parser_cocci_menhir.ml"
+# 19247 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17126,7 +19260,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_decl_var_ = 
 # 114 "standard.mly"
     ( [] )
-# 17130 "parser_cocci_menhir.ml"
+# 19264 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17156,7 +19290,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_decl_var_ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17160 "parser_cocci_menhir.ml"
+# 19294 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17173,7 +19307,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_designator_ = 
 # 114 "standard.mly"
     ( [] )
-# 17177 "parser_cocci_menhir.ml"
+# 19311 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17203,7 +19337,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_designator_ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17207 "parser_cocci_menhir.ml"
+# 19341 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17217,10 +19351,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_incl_ = 
 # 114 "standard.mly"
     ( [] )
-# 17224 "parser_cocci_menhir.ml"
+# 19358 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17243,14 +19377,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_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_dp_comma_args_TEllipsis__ = 
+        let _v : 'tv_list_incl_ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17254 "parser_cocci_menhir.ml"
+# 19388 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17264,10 +19398,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_iso_ctype__ = 
 # 114 "standard.mly"
     ( [] )
-# 17271 "parser_cocci_menhir.ml"
+# 19405 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17290,14 +19424,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_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_incl_ = 
+        let _v : 'tv_list_iso_ctype__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17301 "parser_cocci_menhir.ml"
+# 19435 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17311,10 +19445,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_iso_decl_var__ = 
 # 114 "standard.mly"
     ( [] )
-# 17318 "parser_cocci_menhir.ml"
+# 19452 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17337,14 +19471,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_iso_decl_var__ = Obj.magic xs in
+        let x : 'tv_iso_decl_var_ = Obj.magic x in
         let _startpos = _startpos_x_ in
         let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_iso_ctype__ = 
+        let _v : 'tv_list_iso_decl_var__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17348 "parser_cocci_menhir.ml"
+# 19482 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17358,10 +19492,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_decl_var__ = 
+        let _v : 'tv_list_iso_eexpr__ = 
 # 114 "standard.mly"
     ( [] )
-# 17365 "parser_cocci_menhir.ml"
+# 19499 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17384,14 +19518,14 @@ 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_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_decl_var__ = 
+        let _v : 'tv_list_iso_eexpr__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17395 "parser_cocci_menhir.ml"
+# 19529 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17405,10 +19539,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_eexpr__ = 
+        let _v : 'tv_list_iso_nest_start__ = 
 # 114 "standard.mly"
     ( [] )
-# 17412 "parser_cocci_menhir.ml"
+# 19546 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17431,14 +19565,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_eexpr__ = 
+        let _v : 'tv_list_iso_nest_start__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17442 "parser_cocci_menhir.ml"
+# 19576 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17452,10 +19586,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_nest_start__ = 
+        let _v : 'tv_list_iso_single_statement__ = 
 # 114 "standard.mly"
     ( [] )
-# 17459 "parser_cocci_menhir.ml"
+# 19593 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17478,14 +19612,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_nest_start__ = 
+        let _v : 'tv_list_iso_single_statement__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17489 "parser_cocci_menhir.ml"
+# 19623 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17499,10 +19633,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_single_statement__ = 
+        let _v : 'tv_list_mzl_ctype__ = 
 # 114 "standard.mly"
     ( [] )
-# 17506 "parser_cocci_menhir.ml"
+# 19640 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17525,14 +19659,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_iso_single_statement__ = 
+        let _v : 'tv_list_mzl_ctype__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17536 "parser_cocci_menhir.ml"
+# 19670 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17546,10 +19680,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_mzl_ctype__ = 
+        let _v : 'tv_list_mzl_eexpr__ = 
 # 114 "standard.mly"
     ( [] )
-# 17553 "parser_cocci_menhir.ml"
+# 19687 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17572,14 +19706,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_ctype__ = 
+        let _v : 'tv_list_mzl_eexpr__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17583 "parser_cocci_menhir.ml"
+# 19717 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17593,10 +19727,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_mzl_eexpr__ = 
+        let _v : 'tv_list_mzl_fun_after_dots_or__ = 
 # 114 "standard.mly"
     ( [] )
-# 17600 "parser_cocci_menhir.ml"
+# 19734 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17619,14 +19753,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_eexpr__ = 
+        let _v : 'tv_list_mzl_fun_after_dots_or__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17630 "parser_cocci_menhir.ml"
+# 19764 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17640,10 +19774,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_mzl_fun_after_dots_or__ = 
+        let _v : 'tv_list_mzl_fun_start__ = 
 # 114 "standard.mly"
     ( [] )
-# 17647 "parser_cocci_menhir.ml"
+# 19781 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17666,14 +19800,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 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_after_dots_or__ = 
+        let _v : 'tv_list_mzl_fun_start__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17677 "parser_cocci_menhir.ml"
+# 19811 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17687,10 +19821,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_mzl_fun_start__ = 
+        let _v : 'tv_list_mzl_mctype__ = 
 # 114 "standard.mly"
     ( [] )
-# 17694 "parser_cocci_menhir.ml"
+# 19828 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17713,14 +19847,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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 xs : 'tv_list_mzl_mctype__ = Obj.magic xs in
+        let x : 'tv_mzl_mctype_ = Obj.magic x in
         let _startpos = _startpos_x_ in
         let _endpos = _endpos_xs_ in
-        let _v : 'tv_list_mzl_fun_start__ = 
+        let _v : 'tv_list_mzl_mctype__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17724 "parser_cocci_menhir.ml"
+# 19858 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17737,7 +19871,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_mzl_rule_elem_statement__ = 
 # 114 "standard.mly"
     ( [] )
-# 17741 "parser_cocci_menhir.ml"
+# 19875 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17767,7 +19901,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_mzl_rule_elem_statement__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17771 "parser_cocci_menhir.ml"
+# 19905 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17784,7 +19918,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_mzl_statement__ = 
 # 114 "standard.mly"
     ( [] )
-# 17788 "parser_cocci_menhir.ml"
+# 19922 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17814,7 +19948,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_mzl_statement__ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17818 "parser_cocci_menhir.ml"
+# 19952 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17831,7 +19965,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = 
 # 114 "standard.mly"
     ( [] )
-# 17835 "parser_cocci_menhir.ml"
+# 19969 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17870,13 +20004,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 70 "standard.mly"
     ( (x, y) )
-# 17874 "parser_cocci_menhir.ml"
+# 20008 "parser_cocci_menhir.ml"
           
         in
         
 # 116 "standard.mly"
     ( x :: xs )
-# 17880 "parser_cocci_menhir.ml"
+# 20014 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17893,7 +20027,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_whenppdecs_ = 
 # 114 "standard.mly"
     ( [] )
-# 17897 "parser_cocci_menhir.ml"
+# 20031 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17923,7 +20057,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_list_whenppdecs_ = 
 # 116 "standard.mly"
     ( x :: xs )
-# 17927 "parser_cocci_menhir.ml"
+# 20061 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = 
+# 400 "parser_cocci_menhir.mly"
+                           ( Common.Left _1 )
+# 20085 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 154 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 20106 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_list_len = 
+# 401 "parser_cocci_menhir.mly"
+       ( let (x,clt) = _1 in Common.Right (int_of_string x) )
+# 20113 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17940,7 +20126,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_loption_choose_iso_ = 
 # 57 "standard.mly"
     ( [] )
-# 17944 "parser_cocci_menhir.ml"
+# 20130 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17964,7 +20150,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_loption_choose_iso_ = 
 # 59 "standard.mly"
     ( x )
-# 17968 "parser_cocci_menhir.ml"
+# 20154 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -17981,7 +20167,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_loption_disable_ = 
 # 57 "standard.mly"
     ( [] )
-# 17985 "parser_cocci_menhir.ml"
+# 20171 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18005,7 +20191,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_loption_disable_ = 
 # 59 "standard.mly"
     ( x )
-# 18009 "parser_cocci_menhir.ml"
+# 20195 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18022,7 +20208,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_loption_filespec_ = 
 # 57 "standard.mly"
     ( [] )
-# 18026 "parser_cocci_menhir.ml"
+# 20212 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18046,7 +20232,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_loption_filespec_ = 
 # 59 "standard.mly"
     ( x )
-# 18050 "parser_cocci_menhir.ml"
+# 20236 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18063,7 +20249,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_loption_minus_start_ = 
 # 57 "standard.mly"
     ( [] )
-# 18067 "parser_cocci_menhir.ml"
+# 20253 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18087,7 +20273,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_loption_minus_start_ = 
 # 59 "standard.mly"
     ( x )
-# 18091 "parser_cocci_menhir.ml"
+# 20277 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18104,7 +20290,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_loption_not_pos_ = 
 # 57 "standard.mly"
     ( [] )
-# 18108 "parser_cocci_menhir.ml"
+# 20294 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18128,7 +20314,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_loption_not_pos_ = 
 # 59 "standard.mly"
     ( x )
-# 18132 "parser_cocci_menhir.ml"
+# 20318 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18145,7 +20331,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_loption_plus_start_ = 
 # 57 "standard.mly"
     ( [] )
-# 18149 "parser_cocci_menhir.ml"
+# 20335 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18169,7 +20355,59 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_loption_plus_start_ = 
 # 59 "standard.mly"
     ( x )
-# 18173 "parser_cocci_menhir.ml"
+# 20359 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 20380 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_mctype = 
+# 685 "parser_cocci_menhir.mly"
+        ( tmeta_to_type _1 )
+# 20387 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_ctype = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_mctype = 
+# 686 "parser_cocci_menhir.mly"
+        (_1)
+# 20411 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18191,9 +20429,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_t_ in
         let _endpos = _endpos_t_ in
         let _v : 'tv_meta_exp_type = 
-# 513 "parser_cocci_menhir.mly"
+# 585 "parser_cocci_menhir.mly"
     ( [Ast0_cocci.ast0_type_to_type t] )
-# 18197 "parser_cocci_menhir.ml"
+# 20435 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.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 t : 'tv_typedef_ctype = Obj.magic t in
+        let _startpos = _startpos_t_ in
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_meta_exp_type = 
+# 587 "parser_cocci_menhir.mly"
+    ( [Type_cocci.Array (Ast0_cocci.ast0_type_to_type t)] )
+# 20467 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18229,11 +20499,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_meta_exp_type = 
-# 515 "parser_cocci_menhir.mly"
+# 589 "parser_cocci_menhir.mly"
     ( List.map
        (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m)
        t )
-# 18237 "parser_cocci_menhir.ml"
+# 20507 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18262,16 +20532,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_pure_ident = Obj.magic _3 in
         let _1 : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 18268 "parser_cocci_menhir.ml"
+# 20538 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_meta_ident = 
-# 1472 "parser_cocci_menhir.mly"
+# 1639 "parser_cocci_menhir.mly"
                                    ( (Some _1,P.id2name _3) )
-# 18275 "parser_cocci_menhir.ml"
+# 20545 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18300,16 +20570,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_pure_ident_kwd = Obj.magic _3 in
         let _1 : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 18306 "parser_cocci_menhir.ml"
+# 20576 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_meta_ident = 
-# 1473 "parser_cocci_menhir.mly"
+# 1640 "parser_cocci_menhir.mly"
                                    ( (Some _1,_3) )
-# 18313 "parser_cocci_menhir.ml"
+# 20583 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18331,13 +20601,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_m_ in
         let _endpos = _endpos_m_ in
         let _v : (
-# 180 "parser_cocci_menhir.mly"
+# 226 "parser_cocci_menhir.mly"
       ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 18337 "parser_cocci_menhir.ml"
+# 20607 "parser_cocci_menhir.ml"
         ) = 
-# 204 "parser_cocci_menhir.mly"
+# 250 "parser_cocci_menhir.mly"
                        ( m (!Ast0.rule_name) )
-# 18341 "parser_cocci_menhir.ml"
+# 20611 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18380,17 +20650,70 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _endpos = _endpos__5_ in
         let _v : 'tv_metadec = let kindfn =
           
-# 362 "parser_cocci_menhir.mly"
+# 412 "parser_cocci_menhir.mly"
+    ( (fun arity name pure check_meta ->
+      let tok = check_meta(Ast.MetaMetaDecl(arity,name)) in
+      !Data.add_meta_meta name pure; tok) )
+# 20658 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 341 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 20664 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = 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 =
+          
+# 416 "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) )
-# 18388 "parser_cocci_menhir.ml"
+# 20711 "parser_cocci_menhir.ml"
           
         in
         
-# 293 "parser_cocci_menhir.mly"
+# 341 "parser_cocci_menhir.mly"
     ( P.create_metadec ar ispure kindfn ids )
-# 18394 "parser_cocci_menhir.ml"
+# 20717 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18437,17 +20760,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _endpos = _endpos__6_ in
         let _v : 'tv_metadec = let kindfn =
           
-# 366 "parser_cocci_menhir.mly"
+# 420 "parser_cocci_menhir.mly"
     ( (fun arity name pure check_meta ->
-      let tok = check_meta(Ast.MetaParamListDecl(arity,name,None)) in
-      !Data.add_paramlist_meta name None pure; tok) )
-# 18445 "parser_cocci_menhir.ml"
+      let len = Ast.AnyLen in
+      let tok = check_meta(Ast.MetaParamListDecl(arity,name,len)) in
+      !Data.add_paramlist_meta name len pure; tok) )
+# 20769 "parser_cocci_menhir.ml"
           
         in
         
-# 293 "parser_cocci_menhir.mly"
+# 341 "parser_cocci_menhir.mly"
     ( P.create_metadec ar ispure kindfn ids )
-# 18451 "parser_cocci_menhir.ml"
+# 20775 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18494,17 +20818,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _endpos = _endpos__6_ in
         let _v : 'tv_metadec = let kindfn =
           
-# 370 "parser_cocci_menhir.mly"
+# 425 "parser_cocci_menhir.mly"
     ( (fun arity name pure check_meta ->
-      let tok = check_meta(Ast.MetaExpListDecl(arity,name,None)) in
-      !Data.add_explist_meta name None pure; tok) )
-# 18502 "parser_cocci_menhir.ml"
+      let len = Ast.AnyLen in
+      let tok = check_meta(Ast.MetaExpListDecl(arity,name,len)) in
+      !Data.add_explist_meta name len pure; tok) )
+# 20827 "parser_cocci_menhir.ml"
           
         in
         
-# 293 "parser_cocci_menhir.mly"
+# 341 "parser_cocci_menhir.mly"
     ( P.create_metadec ar ispure kindfn ids )
-# 18508 "parser_cocci_menhir.ml"
+# 20833 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18547,17 +20872,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _endpos = _endpos__5_ in
         let _v : 'tv_metadec = let kindfn =
           
-# 374 "parser_cocci_menhir.mly"
+# 430 "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) )
-# 18555 "parser_cocci_menhir.ml"
+# 20880 "parser_cocci_menhir.ml"
           
         in
         
-# 293 "parser_cocci_menhir.mly"
+# 341 "parser_cocci_menhir.mly"
     ( P.create_metadec ar ispure kindfn ids )
-# 18561 "parser_cocci_menhir.ml"
+# 20886 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18600,17 +20925,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _endpos = _endpos__5_ in
         let _v : 'tv_metadec = let kindfn =
           
-# 378 "parser_cocci_menhir.mly"
+# 434 "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) )
-# 18608 "parser_cocci_menhir.ml"
+# 20933 "parser_cocci_menhir.ml"
           
         in
         
-# 293 "parser_cocci_menhir.mly"
+# 341 "parser_cocci_menhir.mly"
     ( P.create_metadec ar ispure kindfn ids )
-# 18614 "parser_cocci_menhir.ml"
+# 20939 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18653,17 +20978,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _endpos = _endpos__5_ in
         let _v : 'tv_metadec = let kindfn =
           
-# 382 "parser_cocci_menhir.mly"
+# 438 "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) )
-# 18661 "parser_cocci_menhir.ml"
+# 20986 "parser_cocci_menhir.ml"
           
         in
         
-# 293 "parser_cocci_menhir.mly"
+# 341 "parser_cocci_menhir.mly"
     ( P.create_metadec ar ispure kindfn ids )
-# 18667 "parser_cocci_menhir.ml"
+# 20992 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18675,29 +21000,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.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__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
+              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 = ispure;
+                MenhirLib.EngineTypes.startp = _startpos_ispure_;
+                MenhirLib.EngineTypes.endp = _endpos_ispure_;
                 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 = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
                   };
                 };
               };
@@ -18707,20 +21028,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         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 _endpos = _endpos__5_ in
         let _v : 'tv_metadec = let kindfn =
           
-# 386 "parser_cocci_menhir.mly"
+# 442 "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) )
-# 18718 "parser_cocci_menhir.ml"
+      let tok = check_meta(Ast.MetaDeclDecl(arity,name)) in
+      !Data.add_decl_meta name pure; tok) )
+# 21039 "parser_cocci_menhir.ml"
           
         in
         
-# 293 "parser_cocci_menhir.mly"
+# 341 "parser_cocci_menhir.mly"
     ( P.create_metadec ar ispure kindfn ids )
-# 18724 "parser_cocci_menhir.ml"
+# 21045 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18763,76 +21084,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _endpos = _endpos__5_ in
         let _v : 'tv_metadec = let kindfn =
           
-# 390 "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")) )
-# 18772 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 293 "parser_cocci_menhir.mly"
-    ( P.create_metadec ar ispure kindfn ids )
-# 18778 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 = 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 =
-          
-# 395 "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")) )
-# 18830 "parser_cocci_menhir.ml"
+# 446 "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) )
+# 21092 "parser_cocci_menhir.ml"
           
         in
         
-# 293 "parser_cocci_menhir.mly"
+# 341 "parser_cocci_menhir.mly"
     ( P.create_metadec ar ispure kindfn ids )
-# 18836 "parser_cocci_menhir.ml"
+# 21098 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18879,63 +21141,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _endpos = _endpos__6_ in
         let _v : 'tv_metadec = let kindfn =
           
-# 400 "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")) )
-# 18888 "parser_cocci_menhir.ml"
+# 450 "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) )
+# 21149 "parser_cocci_menhir.ml"
           
         in
         
-# 293 "parser_cocci_menhir.mly"
+# 341 "parser_cocci_menhir.mly"
     ( P.create_metadec ar ispure kindfn ids )
-# 18894 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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__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 =
-          
-# 355 "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) )
-# 18933 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 296 "parser_cocci_menhir.mly"
-    ( P.create_fresh_metadec kindfn ids )
-# 18939 "parser_cocci_menhir.ml"
+# 21155 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -18971,38 +21187,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _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 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 =
           
-# 407 "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) )
-# 18996 "parser_cocci_menhir.ml"
+# 454 "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")) )
+# 21203 "parser_cocci_menhir.ml"
           
         in
         
-# 302 "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) )
-# 19006 "parser_cocci_menhir.ml"
+# 341 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21209 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19014,48 +21217,279 @@ 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__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__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
+              MenhirLib.EngineTypes.startp = _startpos__4_;
+              MenhirLib.EngineTypes.endp = _endpos__4_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = ispure;
-                MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                MenhirLib.EngineTypes.endp = _endpos_ispure_;
+                MenhirLib.EngineTypes.startp = _startpos__3_;
+                MenhirLib.EngineTypes.endp = _endpos__3_;
                 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 = 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 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 _endpos = _endpos__6_ 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) )
-# 19053 "parser_cocci_menhir.ml"
+# 459 "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")) )
+# 21261 "parser_cocci_menhir.ml"
           
         in
         
-# 311 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19059 "parser_cocci_menhir.ml"
+# 341 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21267 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = 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 =
+          
+# 464 "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")) )
+# 21319 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 341 "parser_cocci_menhir.mly"
+    ( P.create_metadec ar ispure kindfn ids )
+# 21325 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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__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 =
+          
+# 405 "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) )
+# 21364 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 344 "parser_cocci_menhir.mly"
+    ( P.create_fresh_metadec kindfn ids )
+# 21370 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = 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_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 =
+          
+# 471 "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) )
+# 21430 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 350 "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) )
+# 21440 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = 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 =
+          
+# 490 "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) )
+# 21487 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 359 "parser_cocci_menhir.mly"
+    ( P.create_metadec_with_constraints ar ispure kindfn ids )
+# 21493 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19102,18 +21536,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _endpos = _endpos__6_ in
         let _v : 'tv_metadec = let kindfn =
           
-# 427 "parser_cocci_menhir.mly"
+# 494 "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) )
-# 19111 "parser_cocci_menhir.ml"
+# 21545 "parser_cocci_menhir.ml"
           
         in
         
-# 311 "parser_cocci_menhir.mly"
+# 359 "parser_cocci_menhir.mly"
     ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19117 "parser_cocci_menhir.ml"
+# 21551 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19156,17 +21590,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _endpos = _endpos__5_ in
         let _v : 'tv_metadec = let kindfn =
           
-# 432 "parser_cocci_menhir.mly"
+# 499 "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) )
-# 19164 "parser_cocci_menhir.ml"
+# 21598 "parser_cocci_menhir.ml"
           
         in
         
-# 311 "parser_cocci_menhir.mly"
+# 359 "parser_cocci_menhir.mly"
     ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19170 "parser_cocci_menhir.ml"
+# 21604 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19209,17 +21643,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _endpos = _endpos__5_ in
         let _v : 'tv_metadec = let kindfn =
           
-# 436 "parser_cocci_menhir.mly"
+# 503 "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) )
-# 19217 "parser_cocci_menhir.ml"
+# 21651 "parser_cocci_menhir.ml"
           
         in
         
-# 311 "parser_cocci_menhir.mly"
+# 359 "parser_cocci_menhir.mly"
     ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19223 "parser_cocci_menhir.ml"
+# 21657 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19262,17 +21696,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _endpos = _endpos__5_ in
         let _v : 'tv_metadec = let kindfn =
           
-# 442 "parser_cocci_menhir.mly"
+# 509 "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) )
-# 19270 "parser_cocci_menhir.ml"
+# 21704 "parser_cocci_menhir.ml"
           
         in
         
-# 316 "parser_cocci_menhir.mly"
+# 364 "parser_cocci_menhir.mly"
     ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19276 "parser_cocci_menhir.ml"
+# 21710 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19325,11 +21759,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             
 # 39 "standard.mly"
     ( None )
-# 19329 "parser_cocci_menhir.ml"
+# 21763 "parser_cocci_menhir.ml"
             
           in
           
-# 446 "parser_cocci_menhir.mly"
+# 513 "parser_cocci_menhir.mly"
     ( (fun arity name pure check_meta constraints ->
       match l with
        None ->
@@ -19338,13 +21772,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       | Some _ ->
          !Data.add_local_idexp_meta ty name constraints pure;
          check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
-# 19342 "parser_cocci_menhir.ml"
+# 21776 "parser_cocci_menhir.ml"
           
         in
         
-# 316 "parser_cocci_menhir.mly"
+# 364 "parser_cocci_menhir.mly"
     ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19348 "parser_cocci_menhir.ml"
+# 21782 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19405,11 +21839,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             
 # 41 "standard.mly"
     ( Some x )
-# 19409 "parser_cocci_menhir.ml"
+# 21843 "parser_cocci_menhir.ml"
             
           in
           
-# 446 "parser_cocci_menhir.mly"
+# 513 "parser_cocci_menhir.mly"
     ( (fun arity name pure check_meta constraints ->
       match l with
        None ->
@@ -19418,13 +21852,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       | Some _ ->
          !Data.add_local_idexp_meta ty name constraints pure;
          check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
-# 19422 "parser_cocci_menhir.ml"
+# 21856 "parser_cocci_menhir.ml"
           
         in
         
-# 316 "parser_cocci_menhir.mly"
+# 364 "parser_cocci_menhir.mly"
     ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19428 "parser_cocci_menhir.ml"
+# 21862 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19481,7 +21915,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let m = m0 in
           let l = l0 in
           
-# 455 "parser_cocci_menhir.mly"
+# 522 "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
@@ -19491,13 +21925,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       | Some _ ->
          !Data.add_local_idexp_meta ty name constraints pure;
          check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) )
-# 19495 "parser_cocci_menhir.ml"
+# 21929 "parser_cocci_menhir.ml"
           
         in
         
-# 316 "parser_cocci_menhir.mly"
+# 364 "parser_cocci_menhir.mly"
     ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19501 "parser_cocci_menhir.ml"
+# 21935 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19516,9 +21950,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             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.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_;
@@ -19539,91 +21973,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _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 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 m = m0 in
-          
-# 465 "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) )
-# 19556 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 316 "parser_cocci_menhir.mly"
-    ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19562 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 = 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;
-                      };
-                    };
-                  };
-                };
-              };
-            };
-          } = _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
+          let ty = ty0 in
           
-# 470 "parser_cocci_menhir.mly"
+# 532 "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 ty = Some [ty] in
       let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
       !Data.add_exp_meta ty name constraints pure; tok) )
-# 19621 "parser_cocci_menhir.ml"
+# 21990 "parser_cocci_menhir.ml"
           
         in
         
-# 316 "parser_cocci_menhir.mly"
+# 364 "parser_cocci_menhir.mly"
     ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19627 "parser_cocci_menhir.ml"
+# 21996 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19669,21 +22038,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             
 # 39 "standard.mly"
     ( None )
-# 19673 "parser_cocci_menhir.ml"
+# 22042 "parser_cocci_menhir.ml"
             
           in
           
-# 475 "parser_cocci_menhir.mly"
+# 537 "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) )
-# 19681 "parser_cocci_menhir.ml"
+# 22050 "parser_cocci_menhir.ml"
           
         in
         
-# 316 "parser_cocci_menhir.mly"
+# 364 "parser_cocci_menhir.mly"
     ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19687 "parser_cocci_menhir.ml"
+# 22056 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19737,21 +22106,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             
 # 41 "standard.mly"
     ( Some x )
-# 19741 "parser_cocci_menhir.ml"
+# 22110 "parser_cocci_menhir.ml"
             
           in
           
-# 475 "parser_cocci_menhir.mly"
+# 537 "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) )
-# 19749 "parser_cocci_menhir.ml"
+# 22118 "parser_cocci_menhir.ml"
           
         in
         
-# 316 "parser_cocci_menhir.mly"
+# 364 "parser_cocci_menhir.mly"
     ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19755 "parser_cocci_menhir.ml"
+# 22124 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19794,17 +22163,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _endpos = _endpos__5_ in
         let _v : 'tv_metadec = let kindfn =
           
-# 481 "parser_cocci_menhir.mly"
+# 554 "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) )
-# 19802 "parser_cocci_menhir.ml"
+# 22171 "parser_cocci_menhir.ml"
           
         in
         
-# 321 "parser_cocci_menhir.mly"
+# 369 "parser_cocci_menhir.mly"
     ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19808 "parser_cocci_menhir.ml"
+# 22177 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19850,7 +22219,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_metadec = let kindfn =
           let vl = vl0 in
           
-# 485 "parser_cocci_menhir.mly"
+# 558 "parser_cocci_menhir.mly"
     ( (fun arity name pure check_meta constraints ->
       let ty = Some vl in
       (match constraints with
@@ -19875,13 +22244,1519 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in
       !Data.add_exp_meta ty name constraints pure; tok)
     )
-# 19879 "parser_cocci_menhir.ml"
+# 22248 "parser_cocci_menhir.ml"
           
         in
         
-# 321 "parser_cocci_menhir.mly"
+# 369 "parser_cocci_menhir.mly"
     ( P.create_metadec_with_constraints ar ispure kindfn ids )
-# 19885 "parser_cocci_menhir.ml"
+# 22254 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ids;
+            MenhirLib.EngineTypes.startp = _startpos_ids_;
+            MenhirLib.EngineTypes.endp = _endpos_ids_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = a;
+              MenhirLib.EngineTypes.startp = _startpos_a_;
+              MenhirLib.EngineTypes.endp = _endpos_a_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__2_;
+                MenhirLib.EngineTypes.endp = _endpos__2_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.semv = ar;
+                  MenhirLib.EngineTypes.startp = _startpos_ar_;
+                  MenhirLib.EngineTypes.endp = _endpos_ar_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
+        let a : 'tv_option_TPosAny_ = Obj.magic a in
+        let ar : 'tv_arity = Obj.magic ar in
+        let _startpos = _startpos_ar_ in
+        let _endpos = _endpos__5_ in
+        let _v : 'tv_metadec = 
+# 375 "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 )
+# 22304 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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__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 = 
+# 385 "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 )
+# 22370 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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__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 = 
+# 393 "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 )
+# 22436 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_mident = 
+# 1875 "parser_cocci_menhir.mly"
+         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 22460 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 22481 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_mident = 
+# 1876 "parser_cocci_menhir.mly"
+             ( tmeta_to_ident _1 )
+# 22488 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 128 "parser_cocci_menhir.mly"
+       (Parse_aux.idinfo)
+# 22509 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_mident = 
+# 1878 "parser_cocci_menhir.mly"
+         ( let (nm,constraints,pure,clt) = _1 in
+         Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) )
+# 22517 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_list_mzl_ctype__ = Obj.magic b in
+        let a : 'tv_ctype = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_ctype_ctype_ = 
+# 2191 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22547 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
+        let a : 'tv_eexpr = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_eexpr_eexpr_ = 
+# 2191 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22577 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
+        let a : 'tv_expr = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_expr_eexpr_ = 
+# 2191 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22607 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
+        let a : 'tv_fun_after_stm = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = 
+# 2191 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22637 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_list_mzl_fun_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_ = 
+# 2191 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22667 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_list_mzl_mctype__ = Obj.magic b in
+        let a : 'tv_mctype = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_mctype_mctype_ = 
+# 2191 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22697 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_list_mzl_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_ = 
+# 2191 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22727 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_list_mzl_statement__ = Obj.magic b in
+        let a : 'tv_statement = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_midzero_list_statement_statement_ = 
+# 2191 "parser_cocci_menhir.mly"
+     ( let (mids,code) = List.split b in (mids,(a::code)) )
+# 22757 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.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 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 = 
+# 787 "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 )
+# 22789 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.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 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 = 
+# 801 "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 )
+# 22821 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : 'tv_minus_exp_body = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 206 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 22849 "parser_cocci_menhir.ml"
+        ) = 
+# 246 "parser_cocci_menhir.mly"
+                                   ( _1 )
+# 22853 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = m;
+            MenhirLib.EngineTypes.startp = _startpos_m_;
+            MenhirLib.EngineTypes.endp = _endpos_m_;
+            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 : (
+# 206 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 22881 "parser_cocci_menhir.ml"
+        ) = 
+# 246 "parser_cocci_menhir.mly"
+                                                                       ( m )
+# 22885 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = m;
+            MenhirLib.EngineTypes.startp = _startpos_m_;
+            MenhirLib.EngineTypes.endp = _endpos_m_;
+            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 : (
+# 206 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 22913 "parser_cocci_menhir.ml"
+        ) = 
+# 247 "parser_cocci_menhir.mly"
+                         ( m )
+# 22917 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : 'tv_minus_body = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 203 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 22945 "parser_cocci_menhir.ml"
+        ) = 
+# 242 "parser_cocci_menhir.mly"
+                           ( _1 )
+# 22949 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = m;
+            MenhirLib.EngineTypes.startp = _startpos_m_;
+            MenhirLib.EngineTypes.endp = _endpos_m_;
+            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 : (
+# 203 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 22977 "parser_cocci_menhir.ml"
+        ) = 
+# 242 "parser_cocci_menhir.mly"
+                                                           ( m )
+# 22981 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = m;
+            MenhirLib.EngineTypes.startp = _startpos_m_;
+            MenhirLib.EngineTypes.endp = _endpos_m_;
+            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 : (
+# 203 "parser_cocci_menhir.mly"
+      (Ast0_cocci.rule)
+# 23009 "parser_cocci_menhir.ml"
+        ) = 
+# 243 "parser_cocci_menhir.mly"
+                     ( m )
+# 23013 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_fundecl = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_minus_start = 
+# 2016 "parser_cocci_menhir.mly"
+                         ( [Ast0.wrap(Ast0.DECL(_1))] )
+# 23037 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_ctype = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_minus_start = 
+# 2017 "parser_cocci_menhir.mly"
+                         ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
+# 23061 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_top_init = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_minus_start = 
+# 2018 "parser_cocci_menhir.mly"
+                    ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
+# 23085 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_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 = 
+# 2020 "parser_cocci_menhir.mly"
+    ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
+# 23109 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_ctype = Obj.magic b in
+        let a : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23136 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_ctype_ = 
+# 2194 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23143 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_eexpr = Obj.magic b in
+        let a : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23170 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_eexpr_ = 
+# 2194 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23177 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_fun_after_dots_or = Obj.magic b in
+        let a : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23204 "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_ = 
+# 2194 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23211 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_fun_start = Obj.magic b in
+        let a : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23238 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_fun_start_ = 
+# 2194 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23245 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_mctype = Obj.magic b in
+        let a : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23272 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_mctype_ = 
+# 2194 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23279 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_rule_elem_statement = Obj.magic b in
+        let a : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23306 "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_ = 
+# 2194 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23313 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = b;
+          MenhirLib.EngineTypes.startp = _startpos_b_;
+          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = a;
+            MenhirLib.EngineTypes.startp = _startpos_a_;
+            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let b : 'tv_statement = Obj.magic b in
+        let a : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23340 "parser_cocci_menhir.ml"
+        ) = Obj.magic a in
+        let _startpos = _startpos_a_ in
+        let _endpos = _endpos_b_ in
+        let _v : 'tv_mzl_statement_ = 
+# 2194 "parser_cocci_menhir.mly"
+                 ( (P.clt2mcode "|" a, b) )
+# 23347 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_name_opt_decl = 
+# 1009 "parser_cocci_menhir.mly"
+            ( _1 )
+# 23371 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23422 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp1 in
+        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
+        let lp1 : (
+# 143 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23428 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp1 in
+        let rp : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23433 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let s : (
+# 166 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23438 "parser_cocci_menhir.ml"
+        ) = Obj.magic s in
+        let lp : (
+# 143 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23443 "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 = 
+# 1012 "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)) )
+# 23456 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_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 = 
+# 2136 "parser_cocci_menhir.mly"
+                                     (_1@_2)
+# 23486 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_nest_after_exp = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nest_after_dots = 
+# 2137 "parser_cocci_menhir.mly"
+                                (_2)
+# 23514 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_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 = 
+# 2138 "parser_cocci_menhir.mly"
+                                ((Ast0.wrap(Ast0.Exp(_1)))::_2)
+# 23544 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.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 = 
+# 2146 "parser_cocci_menhir.mly"
+                                ([])
+# 23561 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_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 = 
+# 2147 "parser_cocci_menhir.mly"
+                                (_1::_2)
+# 23591 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.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 = 
+# 2141 "parser_cocci_menhir.mly"
+                                ([])
+# 23608 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_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 = 
+# 2142 "parser_cocci_menhir.mly"
+                                (_1::_2)
+# 23638 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_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 = 
+# 2143 "parser_cocci_menhir.mly"
+                                (_1@_2)
+# 23668 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = c;
+          MenhirLib.EngineTypes.startp = _startpos_c_;
+          MenhirLib.EngineTypes.endp = _endpos_c_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.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;
+              };
+            };
+          } = _menhir_stack in
+        let c : (
+# 140 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23699 "parser_cocci_menhir.ml"
+        ) = Obj.magic c in
+        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
+        let _1 : (
+# 140 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23705 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_c_ in
+        let _v : 'tv_nest_expressions = 
+# 1383 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
+                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+                             P.clt2mcode "...>" c, None, false)) )
+# 23714 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = c;
+          MenhirLib.EngineTypes.startp = _startpos_c_;
+          MenhirLib.EngineTypes.endp = _endpos_c_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.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;
+              };
+            };
+          } = _menhir_stack in
+        let c : (
+# 140 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23745 "parser_cocci_menhir.ml"
+        ) = Obj.magic c in
+        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
+        let _1 : (
+# 140 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23751 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_c_ in
+        let _v : 'tv_nest_expressions = 
+# 1387 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
+                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
+                             P.clt2mcode "...+>" c, None, true)) )
+# 23760 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19893,45 +23768,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__5_;
-          MenhirLib.EngineTypes.endp = _endpos__5_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = a;
-              MenhirLib.EngineTypes.startp = _startpos_a_;
-              MenhirLib.EngineTypes.endp = _endpos_a_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__2_;
-                MenhirLib.EngineTypes.endp = _endpos__2_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = ar;
-                  MenhirLib.EngineTypes.startp = _startpos_ar_;
-                  MenhirLib.EngineTypes.endp = _endpos_ar_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = Obj.magic ids in
-        let a : 'tv_option_TPosAny_ = Obj.magic a in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__5_ in
-        let _v : 'tv_metadec = 
-# 327 "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 )
-# 19935 "parser_cocci_menhir.ml"
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 23781 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_nest_expressions = 
+# 1390 "parser_cocci_menhir.mly"
+        ( tmeta_to_exp _1 )
+# 23788 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -19943,62 +23796,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__9_;
-          MenhirLib.EngineTypes.endp = _endpos__9_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__7_;
-              MenhirLib.EngineTypes.endp = _endpos__7_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = id;
-                MenhirLib.EngineTypes.startp = _startpos_id_;
-                MenhirLib.EngineTypes.endp = _endpos_id_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.startp = _startpos__5_;
-                  MenhirLib.EngineTypes.endp = _endpos__5_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.startp = _startpos__4_;
-                    MenhirLib.EngineTypes.endp = _endpos__4_;
-                    MenhirLib.EngineTypes.next = {
-                      MenhirLib.EngineTypes.startp = _startpos__3_;
-                      MenhirLib.EngineTypes.endp = _endpos__3_;
-                      MenhirLib.EngineTypes.next = {
-                        MenhirLib.EngineTypes.semv = ispure;
-                        MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                        MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                        MenhirLib.EngineTypes.next = {
-                          MenhirLib.EngineTypes.state = _menhir_s;
-                          MenhirLib.EngineTypes.semv = ar;
-                          MenhirLib.EngineTypes.startp = _startpos_ar_;
-                          MenhirLib.EngineTypes.endp = _endpos_ar_;
-                          MenhirLib.EngineTypes.next = _menhir_stack;
-                          };
-                        };
-                      };
-                    };
-                  };
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
-        let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__9_ in
-        let _v : 'tv_metadec = 
-# 337 "parser_cocci_menhir.mly"
-    ( P.create_len_metadec ar ispure
-       (fun lenname arity name pure check_meta ->
-         let tok =
-           check_meta(Ast.MetaParamListDecl(arity,name,Some lenname)) in
-         !Data.add_paramlist_meta name (Some lenname) pure; tok)
-       id ids )
-# 20002 "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 = 
+# 2133 "parser_cocci_menhir.mly"
+                   ( Ast0.wrap(Ast0.DOTS(_1)) )
+# 23812 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20010,62 +23820,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__9_;
-          MenhirLib.EngineTypes.endp = _endpos__9_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ids;
-            MenhirLib.EngineTypes.startp = _startpos_ids_;
-            MenhirLib.EngineTypes.endp = _endpos_ids_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__7_;
-              MenhirLib.EngineTypes.endp = _endpos__7_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = id;
-                MenhirLib.EngineTypes.startp = _startpos_id_;
-                MenhirLib.EngineTypes.endp = _endpos_id_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.startp = _startpos__5_;
-                  MenhirLib.EngineTypes.endp = _endpos__5_;
-                  MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.startp = _startpos__4_;
-                    MenhirLib.EngineTypes.endp = _endpos__4_;
-                    MenhirLib.EngineTypes.next = {
-                      MenhirLib.EngineTypes.startp = _startpos__3_;
-                      MenhirLib.EngineTypes.endp = _endpos__3_;
-                      MenhirLib.EngineTypes.next = {
-                        MenhirLib.EngineTypes.semv = ispure;
-                        MenhirLib.EngineTypes.startp = _startpos_ispure_;
-                        MenhirLib.EngineTypes.endp = _endpos_ispure_;
-                        MenhirLib.EngineTypes.next = {
-                          MenhirLib.EngineTypes.state = _menhir_s;
-                          MenhirLib.EngineTypes.semv = ar;
-                          MenhirLib.EngineTypes.startp = _startpos_ar_;
-                          MenhirLib.EngineTypes.endp = _endpos_ar_;
-                          MenhirLib.EngineTypes.next = _menhir_stack;
-                          };
-                        };
-                      };
-                    };
-                  };
-                };
-              };
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let ids : 'tv_comma_list_pure_ident_or_meta_ident_ = Obj.magic ids in
-        let id : 'tv_pure_ident_or_meta_ident = Obj.magic id in
-        let ispure : 'tv_pure = Obj.magic ispure in
-        let ar : 'tv_arity = Obj.magic ar in
-        let _startpos = _startpos_ar_ in
-        let _endpos = _endpos__9_ in
-        let _v : 'tv_metadec = 
-# 346 "parser_cocci_menhir.mly"
-    ( P.create_len_metadec ar ispure
-       (fun lenname arity name pure check_meta ->
-         let tok =
-           check_meta(Ast.MetaExpListDecl(arity,name,Some lenname)) in
-         !Data.add_explist_meta name (Some lenname) pure; tok)
-       id ids )
-# 20069 "parser_cocci_menhir.ml"
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : (
+# 237 "parser_cocci_menhir.mly"
+      (unit)
+# 23834 "parser_cocci_menhir.ml"
+        ) = 
+# 2261 "parser_cocci_menhir.mly"
+                    ( () )
+# 23838 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20077,25 +23846,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let b : 'tv_list_mzl_ctype__ = Obj.magic b in
-        let a : 'tv_ctype = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_midzero_list_ctype_ctype_ = 
-# 1988 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20099 "parser_cocci_menhir.ml"
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 237 "parser_cocci_menhir.mly"
+      (unit)
+# 23864 "parser_cocci_menhir.ml"
+        ) = 
+# 2262 "parser_cocci_menhir.mly"
+                    ( () )
+# 23868 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20107,25 +23876,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_ = 
-# 1988 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20129 "parser_cocci_menhir.ml"
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : (
+# 237 "parser_cocci_menhir.mly"
+      (unit)
+# 23890 "parser_cocci_menhir.ml"
+        ) = 
+# 2263 "parser_cocci_menhir.mly"
+                    ( () )
+# 23894 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20137,25 +23902,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.semv = dg;
+          MenhirLib.EngineTypes.startp = _startpos_dg_;
+          MenhirLib.EngineTypes.endp = _endpos_dg_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.semv = g;
+            MenhirLib.EngineTypes.startp = _startpos_g_;
+            MenhirLib.EngineTypes.endp = _endpos_g_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let b : 'tv_list_mzl_eexpr__ = Obj.magic b in
-        let a : 'tv_expr = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_midzero_list_expr_eexpr_ = 
-# 1988 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20159 "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__ = 
+# 1606 "parser_cocci_menhir.mly"
+  ( function dot_builder ->
+      g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
+# 23925 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20167,25 +23933,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = x;
+          MenhirLib.EngineTypes.startp = _startpos_x_;
+          MenhirLib.EngineTypes.endp = _endpos_x_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let b : 'tv_list_mzl_fun_after_dots_or__ = Obj.magic b in
-        let a : 'tv_fun_after_stm = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = 
-# 1988 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20189 "parser_cocci_menhir.ml"
+        let x : (
+# 166 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23946 "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 ] )
+# 23953 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20197,25 +23961,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.semv = xs;
+          MenhirLib.EngineTypes.startp = _startpos_xs_;
+          MenhirLib.EngineTypes.endp = _endpos_xs_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.semv = x;
+            MenhirLib.EngineTypes.startp = _startpos_x_;
+            MenhirLib.EngineTypes.endp = _endpos_x_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let b : 'tv_list_mzl_fun_start__ = Obj.magic b in
-        let a : 'tv_fun_start = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_midzero_list_fun_start_fun_start_ = 
-# 1988 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20219 "parser_cocci_menhir.ml"
+        let xs : 'tv_nonempty_list_TMul_ = Obj.magic xs in
+        let x : (
+# 166 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 23980 "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 )
+# 23987 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20227,25 +23995,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let b : 'tv_list_mzl_rule_elem_statement__ = Obj.magic b in
-        let a : 'tv_rule_elem_statement = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = 
-# 1988 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20249 "parser_cocci_menhir.ml"
+        let _1 : 'tv_aexpr = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
+# 1943 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 24011 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20257,25 +24019,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = a;
-            MenhirLib.EngineTypes.startp = _startpos_a_;
-            MenhirLib.EngineTypes.endp = _endpos_a_;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let b : 'tv_list_mzl_statement__ = Obj.magic b in
-        let a : 'tv_statement = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_midzero_list_statement_statement_ = 
-# 1988 "parser_cocci_menhir.mly"
-     ( let (mids,code) = List.split b in (mids,(a::code)) )
-# 20279 "parser_cocci_menhir.ml"
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24037 "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_ = 
+# 1945 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24046 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20287,27 +24054,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = f;
-            MenhirLib.EngineTypes.startp = _startpos_f_;
-            MenhirLib.EngineTypes.endp = _endpos_f_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let b : 'tv_loption_minus_start_ = Obj.magic b in
-        let f : 'tv_loption_filespec_ = Obj.magic f in
-        let _startpos = _startpos_f_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_minus_body = 
-# 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 )
-# 20311 "parser_cocci_menhir.ml"
+        let _3 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24078 "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_ = 
+# 1948 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 24088 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20319,27 +24096,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = b;
-          MenhirLib.EngineTypes.startp = _startpos_b_;
-          MenhirLib.EngineTypes.endp = _endpos_b_;
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
           MenhirLib.EngineTypes.next = {
             MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = f;
-            MenhirLib.EngineTypes.startp = _startpos_f_;
-            MenhirLib.EngineTypes.endp = _endpos_f_;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let b : 'tv_top_eexpr = Obj.magic b in
-        let f : 'tv_loption_filespec_ = Obj.magic f in
-        let _startpos = _startpos_f_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_minus_exp_body = 
-# 671 "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 )
-# 20343 "parser_cocci_menhir.ml"
+        let _2 : 'tv_nonempty_list_start_aexpr_TEllipsis_ = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
+# 1951 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 24116 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20351,27 +24124,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = _1;
-            MenhirLib.EngineTypes.startp = _startpos__1_;
-            MenhirLib.EngineTypes.endp = _endpos__1_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
-            };
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = d;
+          MenhirLib.EngineTypes.startp = _startpos_d_;
+          MenhirLib.EngineTypes.endp = _endpos_d_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
-        let _1 : 'tv_minus_exp_body = Obj.magic _1 in
-        let _startpos = _startpos__1_ in
-        let _endpos = _endpos__2_ in
-        let _v : (
-# 160 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20371 "parser_cocci_menhir.ml"
-        ) = 
-# 200 "parser_cocci_menhir.mly"
-                                   ( _1 )
-# 20375 "parser_cocci_menhir.ml"
+        let d : (
+# 140 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24137 "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_ = 
+# 1952 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24144 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20383,27 +24152,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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24170 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 140 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24175 "parser_cocci_menhir.ml"
+        ) = Obj.magic d in
+        let _startpos = _startpos_d_ in
         let _endpos = _endpos__2_ in
-        let _v : (
-# 160 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20403 "parser_cocci_menhir.ml"
-        ) = 
-# 200 "parser_cocci_menhir.mly"
-                                                                       ( m )
-# 20407 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_aexpr_TEllipsis_ = 
+# 1954 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24183 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20415,27 +24191,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 : (
-# 160 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20435 "parser_cocci_menhir.ml"
-        ) = 
-# 201 "parser_cocci_menhir.mly"
-                         ( m )
-# 20439 "parser_cocci_menhir.ml"
+        let r : 'tv_continue_list_aexpr_TEllipsis_ = Obj.magic r in
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24215 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 140 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24220 "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_ = 
+# 1957 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 24230 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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_ = 
+# 1943 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 24254 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20447,6 +24262,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 = {
@@ -20457,17 +24273,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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24280 "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 : (
-# 157 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20467 "parser_cocci_menhir.ml"
-        ) = 
-# 196 "parser_cocci_menhir.mly"
-                           ( _1 )
-# 20471 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
+# 1945 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24289 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20479,27 +24297,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__2_;
-          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.semv = _3;
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.state = _menhir_s;
-            MenhirLib.EngineTypes.semv = m;
-            MenhirLib.EngineTypes.startp = _startpos_m_;
-            MenhirLib.EngineTypes.endp = _endpos_m_;
-            MenhirLib.EngineTypes.next = _menhir_stack;
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = _1;
+              MenhirLib.EngineTypes.startp = _startpos__1_;
+              MenhirLib.EngineTypes.endp = _endpos__1_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
             };
           } = _menhir_stack in
-        let m : 'tv_minus_body = Obj.magic m in
-        let _startpos = _startpos_m_ in
-        let _endpos = _endpos__2_ in
-        let _v : (
-# 157 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20499 "parser_cocci_menhir.ml"
-        ) = 
-# 196 "parser_cocci_menhir.mly"
-                                                           ( m )
-# 20503 "parser_cocci_menhir.ml"
+        let _3 : 'tv_nonempty_list_start_dparam_TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24321 "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_ = 
+# 1948 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 24331 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20511,27 +24339,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 : (
-# 157 "parser_cocci_menhir.mly"
-      (Ast0_cocci.rule)
-# 20531 "parser_cocci_menhir.ml"
-        ) = 
-# 197 "parser_cocci_menhir.mly"
-                     ( m )
-# 20535 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_dparam_TEllipsis_ = 
+# 1951 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 24359 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20544,18 +24368,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 = 
-# 1797 "parser_cocci_menhir.mly"
-                         ( [Ast0.wrap(Ast0.DECL(_1))] )
-# 20559 "parser_cocci_menhir.ml"
+        let d : (
+# 140 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24380 "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_ = 
+# 1952 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24387 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20567,19 +24395,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 = 
-# 1798 "parser_cocci_menhir.mly"
-                         ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 20583 "parser_cocci_menhir.ml"
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24413 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 140 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24418 "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_ = 
+# 1954 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24426 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20591,19 +24434,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 = 
-# 1799 "parser_cocci_menhir.mly"
-                    ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 20607 "parser_cocci_menhir.ml"
+        let r : 'tv_continue_list_dparam_TEllipsis_ = Obj.magic r in
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24458 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 140 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24463 "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_ = 
+# 1957 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 24473 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20621,13 +24487,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 = 
-# 1801 "parser_cocci_menhir.mly"
-    ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 )
-# 20631 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = 
+# 1943 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 24497 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20639,29 +24505,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 : (
-# 100 "parser_cocci_menhir.mly"
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 20658 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_ctype_ = 
-# 1991 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20665 "parser_cocci_menhir.ml"
+# 24523 "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__ = 
+# 1945 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24532 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20673,29 +24540,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 : (
-# 100 "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 : (
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 20692 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_eexpr_ = 
-# 1991 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20699 "parser_cocci_menhir.ml"
+# 24564 "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__ = 
+# 1948 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 24574 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20707,29 +24582,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 : (
-# 100 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20726 "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_ = 
-# 1991 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20733 "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__ = 
+# 1951 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 24602 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20741,29 +24610,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 : (
-# 100 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20760 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_fun_start_ = 
-# 1991 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20767 "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__ = 
+# 1952 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24626 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20775,29 +24634,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 : (
-# 100 "parser_cocci_menhir.mly"
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 20794 "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_ = 
-# 1991 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20801 "parser_cocci_menhir.ml"
+# 24652 "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__ = 
+# 1954 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24661 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20809,29 +24669,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 : (
-# 100 "parser_cocci_menhir.mly"
+        let r : 'tv_continue_list_enum_decl_one_edots_when_TEllipsis_enum_decl_one__ = Obj.magic r in
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 20828 "parser_cocci_menhir.ml"
-        ) = Obj.magic a in
-        let _startpos = _startpos_a_ in
-        let _endpos = _endpos_b_ in
-        let _v : 'tv_mzl_statement_ = 
-# 1991 "parser_cocci_menhir.mly"
-                 ( (P.clt2mcode "|" a, b) )
-# 20835 "parser_cocci_menhir.ml"
+# 24693 "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__ = 
+# 1957 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 24704 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20849,98 +24718,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 = 
-# 882 "parser_cocci_menhir.mly"
-            ( _1 )
-# 20859 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 : (
-# 100 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20910 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp1 in
-        let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in
-        let lp1 : (
-# 99 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20916 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp1 in
-        let rp : (
-# 100 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20921 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp in
-        let s : (
-# 122 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20926 "parser_cocci_menhir.ml"
-        ) = Obj.magic s in
-        let lp : (
-# 99 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 20931 "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 = 
-# 885 "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)) )
-# 20944 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1943 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 24728 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20963,14 +24747,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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24754 "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 = 
-# 1912 "parser_cocci_menhir.mly"
-                                     (_1@_2)
-# 20974 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1945 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24763 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -20982,23 +24771,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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24795 "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 = 
-# 1913 "parser_cocci_menhir.mly"
-                                (_2)
-# 21002 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1948 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 24805 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21015,20 +24818,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 = 
-# 1914 "parser_cocci_menhir.mly"
-                                ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 21032 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1951 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 24833 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21039,13 +24840,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 = 
-# 1922 "parser_cocci_menhir.mly"
-                                ([])
-# 21049 "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__ = 
+# 1952 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 24857 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21062,20 +24870,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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24883 "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 = 
-# 1923 "parser_cocci_menhir.mly"
-                                (_1::_2)
-# 21079 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_initialize2_edots_when_TEllipsis_initialize__ = 
+# 1954 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24892 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21086,13 +24899,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 = 
-# 1917 "parser_cocci_menhir.mly"
-                                ([])
-# 21096 "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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24924 "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__ = 
+# 1957 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 24935 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21104,25 +24943,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 = 
-# 1918 "parser_cocci_menhir.mly"
-                                (_1::_2)
-# 21126 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1943 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 24959 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21145,14 +24978,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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 24985 "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 = 
-# 1919 "parser_cocci_menhir.mly"
-                                (_1@_2)
-# 21156 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1945 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 24994 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21164,13 +25002,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;
@@ -21180,25 +25018,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let c : (
-# 96 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 21187 "parser_cocci_menhir.ml"
-        ) = Obj.magic c in
-        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
-        let _1 : (
-# 96 "parser_cocci_menhir.mly"
+        let _3 : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = Obj.magic _3 in
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21193 "parser_cocci_menhir.ml"
-        ) = Obj.magic _1 in
+# 25026 "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 = 
-# 1271 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1,
-                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
-                             P.clt2mcode "...>" c, None, false)) )
-# 21202 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1948 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 25036 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21210,41 +25044,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 : (
-# 96 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 21233 "parser_cocci_menhir.ml"
-        ) = Obj.magic c in
-        let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in
-        let _1 : (
-# 96 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 21239 "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 = 
-# 1275 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1,
-                             Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))),
-                             P.clt2mcode "...+>" c, None, true)) )
-# 21248 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_nonempty_list_start_one_dec_decl__TEllipsis_ = 
+# 1951 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 25064 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21257,18 +25073,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 = 
-# 1909 "parser_cocci_menhir.mly"
-                   ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 21272 "parser_cocci_menhir.ml"
+        let d : (
+# 140 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25085 "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_ = 
+# 1952 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25092 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25118 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 140 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25123 "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_ = 
+# 1954 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25131 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25163 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 140 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25168 "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_ = 
+# 1957 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 25178 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21281,20 +25187,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 : (
-# 191 "parser_cocci_menhir.mly"
-      (unit)
-# 21294 "parser_cocci_menhir.ml"
-        ) = 
-# 2058 "parser_cocci_menhir.mly"
-                    ( () )
-# 21298 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 1943 "parser_cocci_menhir.mly"
+       ( fun build_dots build_comma -> [_1] )
+# 25202 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21306,25 +25210,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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25228 "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 : (
-# 191 "parser_cocci_menhir.mly"
-      (unit)
-# 21324 "parser_cocci_menhir.ml"
-        ) = 
-# 2059 "parser_cocci_menhir.mly"
-                    ( () )
-# 21328 "parser_cocci_menhir.ml"
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 1945 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::[Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25237 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21336,21 +25245,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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25269 "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 : (
-# 191 "parser_cocci_menhir.mly"
-      (unit)
-# 21350 "parser_cocci_menhir.ml"
-        ) = 
-# 2060 "parser_cocci_menhir.mly"
-                    ( () )
-# 21354 "parser_cocci_menhir.ml"
+        let _endpos = _endpos__3_ in
+        let _v : 'tv_nonempty_list_start_one_dec_name_opt_decl__TEllipsis_ = 
+# 1948 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      _1::(Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (_3 build_dots build_comma) )
+# 25279 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21362,26 +25287,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__ = 
-# 1439 "parser_cocci_menhir.mly"
-  ( function dot_builder ->
-      g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) )
-# 21385 "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_ = 
+# 1951 "parser_cocci_menhir.mly"
+                                            ( _2 )
+# 25307 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21394,22 +25316,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 : (
-# 122 "parser_cocci_menhir.mly"
+        let d : (
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21406 "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 ] )
-# 21413 "parser_cocci_menhir.ml"
+# 25328 "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_ = 
+# 1952 "parser_cocci_menhir.mly"
+           ( fun build_dots build_comma -> [(build_dots "..." d)] )
+# 25335 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21421,29 +25343,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 : (
-# 122 "parser_cocci_menhir.mly"
+        let _2 : (
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21440 "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 )
-# 21447 "parser_cocci_menhir.ml"
+# 25361 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 140 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25366 "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_ = 
+# 1954 "parser_cocci_menhir.mly"
+      ( fun build_dots build_comma ->
+       [(build_dots "..." d);Ast0.wrap(build_comma(P.clt2mcode "," _2))] )
+# 25374 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25406 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let d : (
+# 140 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 25411 "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_ = 
+# 1957 "parser_cocci_menhir.mly"
+    ( fun build_dots build_comma ->
+      (build_dots "..." d)::
+      (Ast0.wrap(build_comma(P.clt2mcode "," _2)))::
+      (r build_dots build_comma) )
+# 25421 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21469,13 +25443,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_not_ceq = 
-# 1612 "parser_cocci_menhir.mly"
+# 1787 "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] )
-# 21479 "parser_cocci_menhir.ml"
+# 25453 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21509,13 +25483,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_not_ceq = 
-# 1618 "parser_cocci_menhir.mly"
+# 1793 "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 )
-# 21519 "parser_cocci_menhir.ml"
+# 25493 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21537,9 +25511,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_ceq_ in
         let _endpos = _endpos_ceq_ in
         let _v : 'tv_not_ceq_or_sub = 
-# 1588 "parser_cocci_menhir.mly"
+# 1763 "parser_cocci_menhir.mly"
                   (Ast0.NotExpCstrt ceq)
-# 21543 "parser_cocci_menhir.ml"
+# 25517 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21561,9 +25535,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_not_ceq_or_sub = 
-# 1589 "parser_cocci_menhir.mly"
+# 1764 "parser_cocci_menhir.mly"
                   (Ast0.SubExpCstrt s)
-# 21567 "parser_cocci_menhir.ml"
+# 25541 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21589,14 +25563,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_not_eqe = 
-# 1593 "parser_cocci_menhir.mly"
+# 1768 "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))))]
         )
-# 21600 "parser_cocci_menhir.ml"
+# 25574 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21630,7 +25604,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_not_eqe = 
-# 1600 "parser_cocci_menhir.mly"
+# 1775 "parser_cocci_menhir.mly"
   ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -21640,7 +25614,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))))
             l
         )
-# 21644 "parser_cocci_menhir.ml"
+# 25618 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21666,7 +25640,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_not_eqid = 
-# 1550 "parser_cocci_menhir.mly"
+# 1725 "parser_cocci_menhir.mly"
          ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -21680,7 +25654,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
                   (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in
               Ast.IdNegIdSet([],[i])
           | (None,i) -> Ast.IdNegIdSet([i],[])) )
-# 21684 "parser_cocci_menhir.ml"
+# 25658 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21714,7 +25688,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_not_eqid = 
-# 1564 "parser_cocci_menhir.mly"
+# 1739 "parser_cocci_menhir.mly"
   ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -21732,7 +25706,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               ([],[]) l in
           Ast.IdNegIdSet(str,meta)
         )
-# 21736 "parser_cocci_menhir.ml"
+# 25710 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21758,7 +25732,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_not_pos = 
-# 1656 "parser_cocci_menhir.mly"
+# 1831 "parser_cocci_menhir.mly"
          ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -21767,7 +25741,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             P.check_inherited_constraint i
               (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in
           [i] )
-# 21771 "parser_cocci_menhir.ml"
+# 25745 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21801,7 +25775,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_not_pos = 
-# 1665 "parser_cocci_menhir.mly"
+# 1840 "parser_cocci_menhir.mly"
   ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -21811,7 +25785,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               P.check_inherited_constraint i
                 (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)))
             l )
-# 21815 "parser_cocci_menhir.ml"
+# 25789 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21833,9 +25807,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_one_dec_decl_ = 
-# 1735 "parser_cocci_menhir.mly"
+# 1918 "parser_cocci_menhir.mly"
         ( _1 )
-# 21839 "parser_cocci_menhir.ml"
+# 25813 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21854,22 +25828,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 89 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 21860 "parser_cocci_menhir.ml"
+# 25834 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_one_dec_decl_ = 
-# 1737 "parser_cocci_menhir.mly"
+# 1920 "parser_cocci_menhir.mly"
     ( let (nm,lenname,pure,clt) = _1 in
     let nm = P.clt2mcode nm clt in
-    let lenname =
-      match lenname with
-       Some nm -> Some(P.clt2mcode nm clt)
-      | None -> None in
+      let lenname =
+       match lenname with
+         Ast.AnyLen -> Ast0.AnyListLen
+       | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
+       | Ast.CstLen n -> Ast0.CstListLen n in
     Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
-# 21873 "parser_cocci_menhir.ml"
+# 25848 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21891,9 +25866,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_ = 
-# 1735 "parser_cocci_menhir.mly"
+# 1918 "parser_cocci_menhir.mly"
         ( _1 )
-# 21897 "parser_cocci_menhir.ml"
+# 25872 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21912,22 +25887,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 89 "parser_cocci_menhir.mly"
+# 133 "parser_cocci_menhir.mly"
        (Parse_aux.list_info)
-# 21918 "parser_cocci_menhir.ml"
+# 25893 "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_ = 
-# 1737 "parser_cocci_menhir.mly"
+# 1920 "parser_cocci_menhir.mly"
     ( let (nm,lenname,pure,clt) = _1 in
     let nm = P.clt2mcode nm clt in
-    let lenname =
-      match lenname with
-       Some nm -> Some(P.clt2mcode nm clt)
-      | None -> None in
+      let lenname =
+       match lenname with
+         Ast.AnyLen -> Ast0.AnyListLen
+       | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt)
+       | Ast.CstLen n -> Ast0.CstListLen n in
     Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) )
-# 21931 "parser_cocci_menhir.ml"
+# 25907 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21951,17 +25927,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21957 "parser_cocci_menhir.ml"
+# 25933 "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 = 
-# 1060 "parser_cocci_menhir.mly"
+# 1189 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) )
-# 21965 "parser_cocci_menhir.ml"
+# 25941 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 25962 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_one_decl_var = 
+# 1190 "parser_cocci_menhir.mly"
+              ( P.meta_decl _1 )
+# 25969 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -21990,9 +25994,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 21996 "parser_cocci_menhir.ml"
+# 26000 "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
@@ -22002,14 +26006,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22006 "parser_cocci_menhir.ml"
+# 26010 "parser_cocci_menhir.ml"
           
         in
         
-# 1062 "parser_cocci_menhir.mly"
+# 1192 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 22013 "parser_cocci_menhir.ml"
+# 26017 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22043,9 +26047,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22049 "parser_cocci_menhir.ml"
+# 26053 "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
@@ -22057,14 +26061,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22061 "parser_cocci_menhir.ml"
+# 26065 "parser_cocci_menhir.ml"
           
         in
         
-# 1062 "parser_cocci_menhir.mly"
+# 1192 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) )
-# 22068 "parser_cocci_menhir.ml"
+# 26072 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22086,9 +26090,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_f_ in
         let _v : 'tv_one_decl_var = 
-# 1064 "parser_cocci_menhir.mly"
+# 1194 "parser_cocci_menhir.mly"
                ( f )
-# 22092 "parser_cocci_menhir.ml"
+# 26096 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22127,15 +26131,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22133 "parser_cocci_menhir.ml"
+# 26137 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22139 "parser_cocci_menhir.ml"
+# 26143 "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
@@ -22145,14 +26149,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22149 "parser_cocci_menhir.ml"
+# 26153 "parser_cocci_menhir.ml"
           
         in
         
-# 1066 "parser_cocci_menhir.mly"
+# 1196 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
-# 22156 "parser_cocci_menhir.ml"
+# 26160 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22196,15 +26200,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22202 "parser_cocci_menhir.ml"
+# 26206 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22208 "parser_cocci_menhir.ml"
+# 26212 "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
@@ -22216,14 +26220,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22220 "parser_cocci_menhir.ml"
+# 26224 "parser_cocci_menhir.ml"
           
         in
         
-# 1066 "parser_cocci_menhir.mly"
+# 1196 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
       Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) )
-# 22227 "parser_cocci_menhir.ml"
+# 26231 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22252,9 +26256,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22258 "parser_cocci_menhir.ml"
+# 26262 "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
@@ -22264,22 +26268,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22268 "parser_cocci_menhir.ml"
+# 26272 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22275 "parser_cocci_menhir.ml"
+# 26279 "parser_cocci_menhir.ml"
           
         in
         
-# 1071 "parser_cocci_menhir.mly"
+# 1201 "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)) )
-# 22283 "parser_cocci_menhir.ml"
+# 26287 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22313,9 +26317,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22319 "parser_cocci_menhir.ml"
+# 26323 "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
@@ -22327,22 +26331,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22331 "parser_cocci_menhir.ml"
+# 26335 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22338 "parser_cocci_menhir.ml"
+# 26342 "parser_cocci_menhir.ml"
           
         in
         
-# 1071 "parser_cocci_menhir.mly"
+# 1201 "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)) )
-# 22346 "parser_cocci_menhir.ml"
+# 26350 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22376,9 +26380,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22382 "parser_cocci_menhir.ml"
+# 26386 "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
@@ -22389,7 +26393,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22393 "parser_cocci_menhir.ml"
+# 26397 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22397,15 +26401,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22401 "parser_cocci_menhir.ml"
+# 26405 "parser_cocci_menhir.ml"
           
         in
         
-# 1071 "parser_cocci_menhir.mly"
+# 1201 "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)) )
-# 22409 "parser_cocci_menhir.ml"
+# 26413 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22444,9 +26448,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22450 "parser_cocci_menhir.ml"
+# 26454 "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
@@ -22459,7 +26463,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22463 "parser_cocci_menhir.ml"
+# 26467 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22467,15 +26471,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22471 "parser_cocci_menhir.ml"
+# 26475 "parser_cocci_menhir.ml"
           
         in
         
-# 1071 "parser_cocci_menhir.mly"
+# 1201 "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)) )
-# 22479 "parser_cocci_menhir.ml"
+# 26483 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22514,15 +26518,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22520 "parser_cocci_menhir.ml"
+# 26524 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22526 "parser_cocci_menhir.ml"
+# 26530 "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
@@ -22532,24 +26536,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22536 "parser_cocci_menhir.ml"
+# 26540 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22543 "parser_cocci_menhir.ml"
+# 26547 "parser_cocci_menhir.ml"
           
         in
         
-# 1076 "parser_cocci_menhir.mly"
+# 1206 "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)) )
-# 22553 "parser_cocci_menhir.ml"
+# 26557 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22593,15 +26597,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22599 "parser_cocci_menhir.ml"
+# 26603 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22605 "parser_cocci_menhir.ml"
+# 26609 "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
@@ -22613,24 +26617,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22617 "parser_cocci_menhir.ml"
+# 26621 "parser_cocci_menhir.ml"
           
         in
         let s =
           
 # 39 "standard.mly"
     ( None )
-# 22624 "parser_cocci_menhir.ml"
+# 26628 "parser_cocci_menhir.ml"
           
         in
         
-# 1076 "parser_cocci_menhir.mly"
+# 1206 "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)) )
-# 22634 "parser_cocci_menhir.ml"
+# 26638 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22674,15 +26678,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22680 "parser_cocci_menhir.ml"
+# 26684 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22686 "parser_cocci_menhir.ml"
+# 26690 "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
@@ -22693,7 +26697,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22697 "parser_cocci_menhir.ml"
+# 26701 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22701,17 +26705,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22705 "parser_cocci_menhir.ml"
+# 26709 "parser_cocci_menhir.ml"
           
         in
         
-# 1076 "parser_cocci_menhir.mly"
+# 1206 "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)) )
-# 22715 "parser_cocci_menhir.ml"
+# 26719 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22760,15 +26764,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22766 "parser_cocci_menhir.ml"
+# 26770 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22772 "parser_cocci_menhir.ml"
+# 26776 "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
@@ -22781,7 +26785,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22785 "parser_cocci_menhir.ml"
+# 26789 "parser_cocci_menhir.ml"
           
         in
         let s =
@@ -22789,17 +26793,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 22793 "parser_cocci_menhir.ml"
+# 26797 "parser_cocci_menhir.ml"
           
         in
         
-# 1076 "parser_cocci_menhir.mly"
+# 1206 "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)) )
-# 22803 "parser_cocci_menhir.ml"
+# 26807 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22858,36 +26862,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22864 "parser_cocci_menhir.ml"
+# 26868 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22869 "parser_cocci_menhir.ml"
+# 26873 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22875 "parser_cocci_menhir.ml"
+# 26879 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22880 "parser_cocci_menhir.ml"
+# 26884 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22886 "parser_cocci_menhir.ml"
+# 26890 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22891 "parser_cocci_menhir.ml"
+# 26895 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -22896,11 +26900,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 22900 "parser_cocci_menhir.ml"
+# 26904 "parser_cocci_menhir.ml"
           
         in
         
-# 1086 "parser_cocci_menhir.mly"
+# 1216 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -22908,7 +26912,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)) )
-# 22912 "parser_cocci_menhir.ml"
+# 26916 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -22972,36 +26976,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22978 "parser_cocci_menhir.ml"
+# 26982 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let rp2 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22983 "parser_cocci_menhir.ml"
+# 26987 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22989 "parser_cocci_menhir.ml"
+# 26993 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 22994 "parser_cocci_menhir.ml"
+# 26998 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23000 "parser_cocci_menhir.ml"
+# 27004 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23005 "parser_cocci_menhir.ml"
+# 27009 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
@@ -23012,11 +27016,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 23016 "parser_cocci_menhir.ml"
+# 27020 "parser_cocci_menhir.ml"
           
         in
         
-# 1086 "parser_cocci_menhir.mly"
+# 1216 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -23024,7 +27028,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)) )
-# 23028 "parser_cocci_menhir.ml"
+# 27032 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23063,29 +27067,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _5 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23069 "parser_cocci_menhir.ml"
+# 27073 "parser_cocci_menhir.ml"
         ) = Obj.magic _5 in
         let _4 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23074 "parser_cocci_menhir.ml"
+# 27078 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23080 "parser_cocci_menhir.ml"
+# 27084 "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 = 
-# 1094 "parser_cocci_menhir.mly"
+# 1224 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3,
                                  P.clt2mcode ")" _4,P.clt2mcode ";" _5)) )
-# 23089 "parser_cocci_menhir.ml"
+# 27093 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23154,42 +27158,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23160 "parser_cocci_menhir.ml"
+# 27164 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23166 "parser_cocci_menhir.ml"
+# 27170 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let rp2 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23171 "parser_cocci_menhir.ml"
+# 27175 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23177 "parser_cocci_menhir.ml"
+# 27181 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23182 "parser_cocci_menhir.ml"
+# 27186 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23188 "parser_cocci_menhir.ml"
+# 27192 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23193 "parser_cocci_menhir.ml"
+# 27197 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let _startpos = _startpos_t_ in
@@ -23198,11 +27202,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 39 "standard.mly"
     ( None )
-# 23202 "parser_cocci_menhir.ml"
+# 27206 "parser_cocci_menhir.ml"
           
         in
         
-# 1100 "parser_cocci_menhir.mly"
+# 1230 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -23210,7 +27214,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)))
-# 23214 "parser_cocci_menhir.ml"
+# 27218 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23284,42 +27288,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let pv : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23290 "parser_cocci_menhir.ml"
+# 27294 "parser_cocci_menhir.ml"
         ) = Obj.magic pv in
         let e : 'tv_initialize = Obj.magic e in
         let q : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23296 "parser_cocci_menhir.ml"
+# 27300 "parser_cocci_menhir.ml"
         ) = Obj.magic q in
         let rp2 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23301 "parser_cocci_menhir.ml"
+# 27305 "parser_cocci_menhir.ml"
         ) = Obj.magic rp2 in
         let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
         let lp2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23307 "parser_cocci_menhir.ml"
+# 27311 "parser_cocci_menhir.ml"
         ) = Obj.magic lp2 in
         let rp1 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23312 "parser_cocci_menhir.ml"
+# 27316 "parser_cocci_menhir.ml"
         ) = Obj.magic rp1 in
         let d : 'tv_d_ident = Obj.magic d in
         let st : (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23318 "parser_cocci_menhir.ml"
+# 27322 "parser_cocci_menhir.ml"
         ) = Obj.magic st in
         let lp1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 23323 "parser_cocci_menhir.ml"
+# 27327 "parser_cocci_menhir.ml"
         ) = Obj.magic lp1 in
         let t : 'tv_ctype = Obj.magic t in
         let x0 : 'tv_storage = Obj.magic x0 in
@@ -23330,11 +27334,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 23334 "parser_cocci_menhir.ml"
+# 27338 "parser_cocci_menhir.ml"
           
         in
         
-# 1100 "parser_cocci_menhir.mly"
+# 1230 "parser_cocci_menhir.mly"
       ( let (id,fn) = d in
         let t =
          Ast0.wrap
@@ -23342,7 +27346,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)))
-# 23346 "parser_cocci_menhir.ml"
+# 27350 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23359,7 +27363,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TLocal_ = 
 # 29 "standard.mly"
     ( None )
-# 23363 "parser_cocci_menhir.ml"
+# 27367 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23383,7 +27387,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TLocal_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23387 "parser_cocci_menhir.ml"
+# 27391 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23400,7 +27404,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TPosAny_ = 
 # 29 "standard.mly"
     ( None )
-# 23404 "parser_cocci_menhir.ml"
+# 27408 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23424,7 +27428,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_TPosAny_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23428 "parser_cocci_menhir.ml"
+# 27432 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23441,7 +27445,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_eexpr_ = 
 # 29 "standard.mly"
     ( None )
-# 23445 "parser_cocci_menhir.ml"
+# 27449 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23465,7 +27469,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_eexpr_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23469 "parser_cocci_menhir.ml"
+# 27473 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23482,7 +27486,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_not_ceq_or_sub_ = 
 # 29 "standard.mly"
     ( None )
-# 23486 "parser_cocci_menhir.ml"
+# 27490 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23506,7 +27510,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_not_ceq_or_sub_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23510 "parser_cocci_menhir.ml"
+# 27514 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23523,7 +27527,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_re_or_not_eqe_or_sub_ = 
 # 29 "standard.mly"
     ( None )
-# 23527 "parser_cocci_menhir.ml"
+# 27531 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23547,7 +27551,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_re_or_not_eqe_or_sub_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23551 "parser_cocci_menhir.ml"
+# 27555 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23564,7 +27568,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_re_or_not_eqid_ = 
 # 29 "standard.mly"
     ( None )
-# 23568 "parser_cocci_menhir.ml"
+# 27572 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23588,7 +27592,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_option_re_or_not_eqid_ = 
 # 31 "standard.mly"
     ( Some x )
-# 23592 "parser_cocci_menhir.ml"
+# 27596 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23603,9 +27607,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 = 
-# 1859 "parser_cocci_menhir.mly"
+# 2083 "parser_cocci_menhir.mly"
                                                                          ([])
-# 23609 "parser_cocci_menhir.ml"
+# 27613 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23631,9 +27635,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1860 "parser_cocci_menhir.mly"
+# 2084 "parser_cocci_menhir.mly"
                                                                          (_2)
-# 23637 "parser_cocci_menhir.ml"
+# 27641 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23661,9 +27665,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1862 "parser_cocci_menhir.mly"
+# 2086 "parser_cocci_menhir.mly"
                      ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 23667 "parser_cocci_menhir.ml"
+# 27671 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23691,9 +27695,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1863 "parser_cocci_menhir.mly"
+# 2087 "parser_cocci_menhir.mly"
                                              ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 23697 "parser_cocci_menhir.ml"
+# 27701 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23721,9 +27725,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_dots = 
-# 1865 "parser_cocci_menhir.mly"
+# 2089 "parser_cocci_menhir.mly"
                 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 23727 "parser_cocci_menhir.ml"
+# 27731 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23738,9 +27742,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 = 
-# 1855 "parser_cocci_menhir.mly"
+# 2079 "parser_cocci_menhir.mly"
                                                                          ([])
-# 23744 "parser_cocci_menhir.ml"
+# 27748 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23768,9 +27772,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_exp = 
-# 1856 "parser_cocci_menhir.mly"
+# 2080 "parser_cocci_menhir.mly"
                                           ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 23774 "parser_cocci_menhir.ml"
+# 27778 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23785,9 +27789,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 = 
-# 1868 "parser_cocci_menhir.mly"
+# 2092 "parser_cocci_menhir.mly"
                                                                          ([])
-# 23791 "parser_cocci_menhir.ml"
+# 27795 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23815,9 +27819,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_stm = 
-# 1869 "parser_cocci_menhir.mly"
+# 2093 "parser_cocci_menhir.mly"
                                           ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 23821 "parser_cocci_menhir.ml"
+# 27825 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23845,9 +27849,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_stm = 
-# 1870 "parser_cocci_menhir.mly"
+# 2094 "parser_cocci_menhir.mly"
                                              ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 23851 "parser_cocci_menhir.ml"
+# 27855 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23875,9 +27879,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_after_stm = 
-# 1872 "parser_cocci_menhir.mly"
+# 2096 "parser_cocci_menhir.mly"
                 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 23881 "parser_cocci_menhir.ml"
+# 27885 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23905,9 +27909,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_b_ in
         let _v : 'tv_plus_body = 
-# 665 "parser_cocci_menhir.mly"
+# 795 "parser_cocci_menhir.mly"
     ( Top_level.top_level (f@b(*@ew*)) )
-# 23911 "parser_cocci_menhir.ml"
+# 27915 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23935,9 +27939,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_f_ in
         let _endpos = _endpos_b_ in
         let _v : 'tv_plus_exp_body = 
-# 679 "parser_cocci_menhir.mly"
+# 809 "parser_cocci_menhir.mly"
     ( Top_level.top_level (f@[b](*@ew*)) )
-# 23941 "parser_cocci_menhir.ml"
+# 27945 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23963,13 +27967,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 166 "parser_cocci_menhir.mly"
+# 212 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 23969 "parser_cocci_menhir.ml"
+# 27973 "parser_cocci_menhir.ml"
         ) = 
-# 202 "parser_cocci_menhir.mly"
+# 248 "parser_cocci_menhir.mly"
                                  ( _1 )
-# 23973 "parser_cocci_menhir.ml"
+# 27977 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -23995,13 +27999,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_p_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 166 "parser_cocci_menhir.mly"
+# 212 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 24001 "parser_cocci_menhir.ml"
+# 28005 "parser_cocci_menhir.ml"
         ) = 
-# 202 "parser_cocci_menhir.mly"
+# 248 "parser_cocci_menhir.mly"
                                                                     ( p )
-# 24005 "parser_cocci_menhir.ml"
+# 28009 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24027,13 +28031,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_p_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 166 "parser_cocci_menhir.mly"
+# 212 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 24033 "parser_cocci_menhir.ml"
+# 28037 "parser_cocci_menhir.ml"
         ) = 
-# 203 "parser_cocci_menhir.mly"
+# 249 "parser_cocci_menhir.mly"
                         ( p )
-# 24037 "parser_cocci_menhir.ml"
+# 28041 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24059,13 +28063,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 163 "parser_cocci_menhir.mly"
+# 209 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 24065 "parser_cocci_menhir.ml"
+# 28069 "parser_cocci_menhir.ml"
         ) = 
-# 198 "parser_cocci_menhir.mly"
+# 244 "parser_cocci_menhir.mly"
                          ( _1 )
-# 24069 "parser_cocci_menhir.ml"
+# 28073 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24091,13 +28095,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_p_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 163 "parser_cocci_menhir.mly"
+# 209 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 24097 "parser_cocci_menhir.ml"
+# 28101 "parser_cocci_menhir.ml"
         ) = 
-# 198 "parser_cocci_menhir.mly"
+# 244 "parser_cocci_menhir.mly"
                                                         ( p )
-# 24101 "parser_cocci_menhir.ml"
+# 28105 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24123,13 +28127,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_p_ in
         let _endpos = _endpos__2_ in
         let _v : (
-# 163 "parser_cocci_menhir.mly"
+# 209 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 24129 "parser_cocci_menhir.ml"
+# 28133 "parser_cocci_menhir.ml"
         ) = 
-# 199 "parser_cocci_menhir.mly"
+# 245 "parser_cocci_menhir.mly"
                     ( p )
-# 24133 "parser_cocci_menhir.ml"
+# 28137 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24151,9 +28155,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_plus_start = 
-# 1844 "parser_cocci_menhir.mly"
+# 2068 "parser_cocci_menhir.mly"
                           ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] )
-# 24157 "parser_cocci_menhir.ml"
+# 28161 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24175,9 +28179,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_plus_start = 
-# 1845 "parser_cocci_menhir.mly"
+# 2069 "parser_cocci_menhir.mly"
                      ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] )
-# 24181 "parser_cocci_menhir.ml"
+# 28185 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24205,9 +28209,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1847 "parser_cocci_menhir.mly"
+# 2071 "parser_cocci_menhir.mly"
                                           ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 )
-# 24211 "parser_cocci_menhir.ml"
+# 28215 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24235,9 +28239,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1849 "parser_cocci_menhir.mly"
+# 2073 "parser_cocci_menhir.mly"
                      ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 )
-# 24241 "parser_cocci_menhir.ml"
+# 28245 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24265,9 +28269,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1850 "parser_cocci_menhir.mly"
+# 2074 "parser_cocci_menhir.mly"
                                              ( Ast0.wrap(Ast0.DECL(_1))::_2 )
-# 24271 "parser_cocci_menhir.ml"
+# 28275 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24295,9 +28299,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_plus_start = 
-# 1852 "parser_cocci_menhir.mly"
+# 2076 "parser_cocci_menhir.mly"
                 ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 )
-# 24301 "parser_cocci_menhir.ml"
+# 28305 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24316,16 +28320,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 24322 "parser_cocci_menhir.ml"
+# 28326 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pnrule = 
-# 253 "parser_cocci_menhir.mly"
+# 299 "parser_cocci_menhir.mly"
                    ( Ast.Dep      _1 )
-# 24329 "parser_cocci_menhir.ml"
+# 28333 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24348,16 +28352,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 24354 "parser_cocci_menhir.ml"
+# 28358 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_pnrule = 
-# 254 "parser_cocci_menhir.mly"
+# 300 "parser_cocci_menhir.mly"
                    ( Ast.AntiDep  _2 )
-# 24361 "parser_cocci_menhir.ml"
+# 28365 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24380,16 +28384,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 24386 "parser_cocci_menhir.ml"
+# 28390 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_pnrule = 
-# 255 "parser_cocci_menhir.mly"
+# 301 "parser_cocci_menhir.mly"
                    ( Ast.EverDep  _2 )
-# 24393 "parser_cocci_menhir.ml"
+# 28397 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24412,16 +28416,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 24418 "parser_cocci_menhir.ml"
+# 28422 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_pnrule = 
-# 256 "parser_cocci_menhir.mly"
+# 302 "parser_cocci_menhir.mly"
                    ( Ast.NeverDep _2 )
-# 24425 "parser_cocci_menhir.ml"
+# 28429 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24451,9 +28455,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_pnrule = 
-# 257 "parser_cocci_menhir.mly"
+# 303 "parser_cocci_menhir.mly"
                    ( _2 )
-# 24457 "parser_cocci_menhir.ml"
+# 28461 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24475,9 +28479,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_ = 
-# 1372 "parser_cocci_menhir.mly"
+# 1539 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 24481 "parser_cocci_menhir.ml"
+# 28485 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24511,24 +28515,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 125 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24517 "parser_cocci_menhir.ml"
+# 28521 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 125 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24523 "parser_cocci_menhir.ml"
+# 28527 "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_ = 
-# 1374 "parser_cocci_menhir.mly"
+# 1541 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 24532 "parser_cocci_menhir.ml"
+# 28536 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24556,19 +28560,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_mident = Obj.magic _3 in
         let _2 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24564 "parser_cocci_menhir.ml"
+# 28568 "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_ = 
-# 1377 "parser_cocci_menhir.mly"
+# 1544 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 24572 "parser_cocci_menhir.ml"
+# 28576 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24596,20 +28600,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_mident = Obj.magic _3 in
         let _2 : (
-# 127 "parser_cocci_menhir.mly"
+# 171 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24604 "parser_cocci_menhir.ml"
+# 28608 "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_ = 
-# 1379 "parser_cocci_menhir.mly"
+# 1546 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 24613 "parser_cocci_menhir.ml"
+# 28617 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24633,17 +28637,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24639 "parser_cocci_menhir.ml"
+# 28643 "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_ = 
-# 1382 "parser_cocci_menhir.mly"
+# 1549 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 24647 "parser_cocci_menhir.ml"
+# 28651 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24667,17 +28671,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24673 "parser_cocci_menhir.ml"
+# 28677 "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_ = 
-# 1384 "parser_cocci_menhir.mly"
+# 1551 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 24681 "parser_cocci_menhir.ml"
+# 28685 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24711,25 +28715,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24717 "parser_cocci_menhir.ml"
+# 28721 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24723 "parser_cocci_menhir.ml"
+# 28727 "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_ = 
-# 1386 "parser_cocci_menhir.mly"
+# 1553 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 24733 "parser_cocci_menhir.ml"
+# 28737 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24751,9 +28755,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_postfix_expr_eexpr_invalid_ = 
-# 1372 "parser_cocci_menhir.mly"
+# 1539 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 24757 "parser_cocci_menhir.ml"
+# 28761 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24787,24 +28791,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 125 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24793 "parser_cocci_menhir.ml"
+# 28797 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 125 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24799 "parser_cocci_menhir.ml"
+# 28803 "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_ = 
-# 1374 "parser_cocci_menhir.mly"
+# 1541 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 24808 "parser_cocci_menhir.ml"
+# 28812 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24832,19 +28836,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_mident = Obj.magic _3 in
         let _2 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24840 "parser_cocci_menhir.ml"
+# 28844 "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_ = 
-# 1377 "parser_cocci_menhir.mly"
+# 1544 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 24848 "parser_cocci_menhir.ml"
+# 28852 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24872,20 +28876,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_mident = Obj.magic _3 in
         let _2 : (
-# 127 "parser_cocci_menhir.mly"
+# 171 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24880 "parser_cocci_menhir.ml"
+# 28884 "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_ = 
-# 1379 "parser_cocci_menhir.mly"
+# 1546 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 24889 "parser_cocci_menhir.ml"
+# 28893 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24909,17 +28913,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24915 "parser_cocci_menhir.ml"
+# 28919 "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_ = 
-# 1382 "parser_cocci_menhir.mly"
+# 1549 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 24923 "parser_cocci_menhir.ml"
+# 28927 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24943,17 +28947,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24949 "parser_cocci_menhir.ml"
+# 28953 "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_ = 
-# 1384 "parser_cocci_menhir.mly"
+# 1551 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 24957 "parser_cocci_menhir.ml"
+# 28961 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -24987,25 +28991,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24993 "parser_cocci_menhir.ml"
+# 28997 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 24999 "parser_cocci_menhir.ml"
+# 29003 "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_ = 
-# 1386 "parser_cocci_menhir.mly"
+# 1553 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 25009 "parser_cocci_menhir.ml"
+# 29013 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25027,9 +29031,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_ = 
-# 1372 "parser_cocci_menhir.mly"
+# 1539 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 25033 "parser_cocci_menhir.ml"
+# 29037 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25063,24 +29067,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 125 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25069 "parser_cocci_menhir.ml"
+# 29073 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 125 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25075 "parser_cocci_menhir.ml"
+# 29079 "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_ = 
-# 1374 "parser_cocci_menhir.mly"
+# 1541 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 25084 "parser_cocci_menhir.ml"
+# 29088 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25108,19 +29112,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_mident = Obj.magic _3 in
         let _2 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25116 "parser_cocci_menhir.ml"
+# 29120 "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_ = 
-# 1377 "parser_cocci_menhir.mly"
+# 1544 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 25124 "parser_cocci_menhir.ml"
+# 29128 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25148,20 +29152,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_mident = Obj.magic _3 in
         let _2 : (
-# 127 "parser_cocci_menhir.mly"
+# 171 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25156 "parser_cocci_menhir.ml"
+# 29160 "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_ = 
-# 1379 "parser_cocci_menhir.mly"
+# 1546 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 25165 "parser_cocci_menhir.ml"
+# 29169 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25185,17 +29189,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25191 "parser_cocci_menhir.ml"
+# 29195 "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_ = 
-# 1382 "parser_cocci_menhir.mly"
+# 1549 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 25199 "parser_cocci_menhir.ml"
+# 29203 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25219,17 +29223,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25225 "parser_cocci_menhir.ml"
+# 29229 "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_ = 
-# 1384 "parser_cocci_menhir.mly"
+# 1551 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 25233 "parser_cocci_menhir.ml"
+# 29237 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25263,25 +29267,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25269 "parser_cocci_menhir.ml"
+# 29273 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25275 "parser_cocci_menhir.ml"
+# 29279 "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_ = 
-# 1386 "parser_cocci_menhir.mly"
+# 1553 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 25285 "parser_cocci_menhir.ml"
+# 29289 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25303,9 +29307,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_postfix_expr_expr_invalid_ = 
-# 1372 "parser_cocci_menhir.mly"
+# 1539 "parser_cocci_menhir.mly"
                                                  ( _1 )
-# 25309 "parser_cocci_menhir.ml"
+# 29313 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25339,24 +29343,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 125 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25345 "parser_cocci_menhir.ml"
+# 29349 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 125 "parser_cocci_menhir.mly"
+# 169 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25351 "parser_cocci_menhir.ml"
+# 29355 "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_ = 
-# 1374 "parser_cocci_menhir.mly"
+# 1541 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3,
                                       P.clt2mcode "]" _4)) )
-# 25360 "parser_cocci_menhir.ml"
+# 29364 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25384,19 +29388,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_mident = Obj.magic _3 in
         let _2 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25392 "parser_cocci_menhir.ml"
+# 29396 "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_ = 
-# 1377 "parser_cocci_menhir.mly"
+# 1544 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) )
-# 25400 "parser_cocci_menhir.ml"
+# 29404 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25424,20 +29428,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               };
             };
           } = _menhir_stack in
-        let _3 : 'tv_ident = Obj.magic _3 in
+        let _3 : 'tv_mident = Obj.magic _3 in
         let _2 : (
-# 127 "parser_cocci_menhir.mly"
+# 171 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25432 "parser_cocci_menhir.ml"
+# 29436 "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_ = 
-# 1379 "parser_cocci_menhir.mly"
+# 1546 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2,
                                     _3)) )
-# 25441 "parser_cocci_menhir.ml"
+# 29445 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25461,17 +29465,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25467 "parser_cocci_menhir.ml"
+# 29471 "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_ = 
-# 1382 "parser_cocci_menhir.mly"
+# 1549 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) )
-# 25475 "parser_cocci_menhir.ml"
+# 29479 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25495,17 +29499,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25501 "parser_cocci_menhir.ml"
+# 29505 "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_ = 
-# 1384 "parser_cocci_menhir.mly"
+# 1551 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) )
-# 25509 "parser_cocci_menhir.ml"
+# 29513 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25539,25 +29543,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _4 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25545 "parser_cocci_menhir.ml"
+# 29549 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25551 "parser_cocci_menhir.ml"
+# 29555 "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_ = 
-# 1386 "parser_cocci_menhir.mly"
+# 1553 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2,
                              _3,
                              P.clt2mcode ")" _4)) )
-# 25561 "parser_cocci_menhir.ml"
+# 29565 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25579,9 +29583,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_ = 
-# 1391 "parser_cocci_menhir.mly"
+# 1558 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 25585 "parser_cocci_menhir.ml"
+# 29589 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25600,17 +29604,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25606 "parser_cocci_menhir.ml"
+# 29610 "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_ = 
-# 1393 "parser_cocci_menhir.mly"
+# 1560 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 25614 "parser_cocci_menhir.ml"
+# 29618 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25629,17 +29633,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25635 "parser_cocci_menhir.ml"
+# 29639 "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_ = 
-# 1396 "parser_cocci_menhir.mly"
+# 1563 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 25643 "parser_cocci_menhir.ml"
+# 29647 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25658,17 +29662,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25664 "parser_cocci_menhir.ml"
+# 29668 "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"
+# 1566 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 25672 "parser_cocci_menhir.ml"
+# 29676 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25687,17 +29691,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 25693 "parser_cocci_menhir.ml"
+# 29697 "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"
+# 1569 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 25701 "parser_cocci_menhir.ml"
+# 29705 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25716,18 +29720,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25722 "parser_cocci_menhir.ml"
+# 29726 "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_ = 
-# 1405 "parser_cocci_menhir.mly"
+# 1572 "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)) )
-# 25731 "parser_cocci_menhir.ml"
+# 29735 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25746,17 +29750,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 86 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 25752 "parser_cocci_menhir.ml"
+# 29756 "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_ = 
-# 1409 "parser_cocci_menhir.mly"
+# 1576 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 25760 "parser_cocci_menhir.ml"
+# 29764 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25775,18 +29779,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25781 "parser_cocci_menhir.ml"
+# 29785 "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_ = 
-# 1412 "parser_cocci_menhir.mly"
+# 1579 "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)) )
-# 25790 "parser_cocci_menhir.ml"
+# 29794 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25805,18 +29809,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25811 "parser_cocci_menhir.ml"
+# 29815 "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_ = 
-# 1416 "parser_cocci_menhir.mly"
+# 1583 "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)) )
-# 25820 "parser_cocci_menhir.ml"
+# 29824 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25835,18 +29839,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 25841 "parser_cocci_menhir.ml"
+# 29845 "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_ = 
-# 1420 "parser_cocci_menhir.mly"
+# 1587 "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)) )
-# 25850 "parser_cocci_menhir.ml"
+# 29854 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25875,23 +29879,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25881 "parser_cocci_menhir.ml"
+# 29885 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25887 "parser_cocci_menhir.ml"
+# 29891 "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_ = 
-# 1424 "parser_cocci_menhir.mly"
+# 1591 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 25895 "parser_cocci_menhir.ml"
+# 29899 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25920,25 +29924,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25926 "parser_cocci_menhir.ml"
+# 29930 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
         let _1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 25932 "parser_cocci_menhir.ml"
+# 29936 "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_ = 
-# 1427 "parser_cocci_menhir.mly"
+# 1594 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 25942 "parser_cocci_menhir.ml"
+# 29946 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25960,9 +29964,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_ = 
-# 1431 "parser_cocci_menhir.mly"
+# 1598 "parser_cocci_menhir.mly"
                  ( _1 )
-# 25966 "parser_cocci_menhir.ml"
+# 29970 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -25984,9 +29988,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1391 "parser_cocci_menhir.mly"
+# 1558 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 25990 "parser_cocci_menhir.ml"
+# 29994 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26005,17 +30009,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26011 "parser_cocci_menhir.ml"
+# 30015 "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_ = 
-# 1393 "parser_cocci_menhir.mly"
+# 1560 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 26019 "parser_cocci_menhir.ml"
+# 30023 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26034,17 +30038,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26040 "parser_cocci_menhir.ml"
+# 30044 "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_ = 
-# 1396 "parser_cocci_menhir.mly"
+# 1563 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 26048 "parser_cocci_menhir.ml"
+# 30052 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26063,17 +30067,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26069 "parser_cocci_menhir.ml"
+# 30073 "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"
+# 1566 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 26077 "parser_cocci_menhir.ml"
+# 30081 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26092,17 +30096,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26098 "parser_cocci_menhir.ml"
+# 30102 "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"
+# 1569 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 26106 "parser_cocci_menhir.ml"
+# 30110 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26121,18 +30125,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26127 "parser_cocci_menhir.ml"
+# 30131 "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_ = 
-# 1405 "parser_cocci_menhir.mly"
+# 1572 "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)) )
-# 26136 "parser_cocci_menhir.ml"
+# 30140 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26151,17 +30155,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 86 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 26157 "parser_cocci_menhir.ml"
+# 30161 "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_ = 
-# 1409 "parser_cocci_menhir.mly"
+# 1576 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 26165 "parser_cocci_menhir.ml"
+# 30169 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26180,18 +30184,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26186 "parser_cocci_menhir.ml"
+# 30190 "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_ = 
-# 1412 "parser_cocci_menhir.mly"
+# 1579 "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)) )
-# 26195 "parser_cocci_menhir.ml"
+# 30199 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26210,18 +30214,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26216 "parser_cocci_menhir.ml"
+# 30220 "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_ = 
-# 1416 "parser_cocci_menhir.mly"
+# 1583 "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)) )
-# 26225 "parser_cocci_menhir.ml"
+# 30229 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26240,18 +30244,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26246 "parser_cocci_menhir.ml"
+# 30250 "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_ = 
-# 1420 "parser_cocci_menhir.mly"
+# 1587 "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)) )
-# 26255 "parser_cocci_menhir.ml"
+# 30259 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26280,23 +30284,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26286 "parser_cocci_menhir.ml"
+# 30290 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26292 "parser_cocci_menhir.ml"
+# 30296 "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_ = 
-# 1424 "parser_cocci_menhir.mly"
+# 1591 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 26300 "parser_cocci_menhir.ml"
+# 30304 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26325,25 +30329,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26331 "parser_cocci_menhir.ml"
+# 30335 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
         let _1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26337 "parser_cocci_menhir.ml"
+# 30341 "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_ = 
-# 1427 "parser_cocci_menhir.mly"
+# 1594 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 26347 "parser_cocci_menhir.ml"
+# 30351 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26365,9 +30369,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_eexpr_invalid_ = 
-# 1431 "parser_cocci_menhir.mly"
+# 1598 "parser_cocci_menhir.mly"
                  ( _1 )
-# 26371 "parser_cocci_menhir.ml"
+# 30375 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26389,9 +30393,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_ = 
-# 1391 "parser_cocci_menhir.mly"
+# 1558 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 26395 "parser_cocci_menhir.ml"
+# 30399 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26410,17 +30414,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26416 "parser_cocci_menhir.ml"
+# 30420 "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_ = 
-# 1393 "parser_cocci_menhir.mly"
+# 1560 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 26424 "parser_cocci_menhir.ml"
+# 30428 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26439,17 +30443,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26445 "parser_cocci_menhir.ml"
+# 30449 "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_ = 
-# 1396 "parser_cocci_menhir.mly"
+# 1563 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 26453 "parser_cocci_menhir.ml"
+# 30457 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26468,17 +30472,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26474 "parser_cocci_menhir.ml"
+# 30478 "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"
+# 1566 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 26482 "parser_cocci_menhir.ml"
+# 30486 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26497,17 +30501,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26503 "parser_cocci_menhir.ml"
+# 30507 "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"
+# 1569 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 26511 "parser_cocci_menhir.ml"
+# 30515 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26526,18 +30530,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26532 "parser_cocci_menhir.ml"
+# 30536 "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_ = 
-# 1405 "parser_cocci_menhir.mly"
+# 1572 "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)) )
-# 26541 "parser_cocci_menhir.ml"
+# 30545 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26556,17 +30560,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 86 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 26562 "parser_cocci_menhir.ml"
+# 30566 "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_ = 
-# 1409 "parser_cocci_menhir.mly"
+# 1576 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 26570 "parser_cocci_menhir.ml"
+# 30574 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26585,18 +30589,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26591 "parser_cocci_menhir.ml"
+# 30595 "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_ = 
-# 1412 "parser_cocci_menhir.mly"
+# 1579 "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)) )
-# 26600 "parser_cocci_menhir.ml"
+# 30604 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26615,18 +30619,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26621 "parser_cocci_menhir.ml"
+# 30625 "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_ = 
-# 1416 "parser_cocci_menhir.mly"
+# 1583 "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)) )
-# 26630 "parser_cocci_menhir.ml"
+# 30634 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26645,18 +30649,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26651 "parser_cocci_menhir.ml"
+# 30655 "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_ = 
-# 1420 "parser_cocci_menhir.mly"
+# 1587 "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)) )
-# 26660 "parser_cocci_menhir.ml"
+# 30664 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26685,23 +30689,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26691 "parser_cocci_menhir.ml"
+# 30695 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26697 "parser_cocci_menhir.ml"
+# 30701 "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_ = 
-# 1424 "parser_cocci_menhir.mly"
+# 1591 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 26705 "parser_cocci_menhir.ml"
+# 30709 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26730,25 +30734,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26736 "parser_cocci_menhir.ml"
+# 30740 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in
         let _1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 26742 "parser_cocci_menhir.ml"
+# 30746 "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_ = 
-# 1427 "parser_cocci_menhir.mly"
+# 1594 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 26752 "parser_cocci_menhir.ml"
+# 30756 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26770,9 +30774,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_ = 
-# 1431 "parser_cocci_menhir.mly"
+# 1598 "parser_cocci_menhir.mly"
                  ( _1 )
-# 26776 "parser_cocci_menhir.ml"
+# 30780 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26794,9 +30798,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1391 "parser_cocci_menhir.mly"
+# 1558 "parser_cocci_menhir.mly"
                 ( Ast0.wrap(Ast0.Ident(_1)) )
-# 26800 "parser_cocci_menhir.ml"
+# 30804 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26815,17 +30819,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26821 "parser_cocci_menhir.ml"
+# 30825 "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_ = 
-# 1393 "parser_cocci_menhir.mly"
+# 1560 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) )
-# 26829 "parser_cocci_menhir.ml"
+# 30833 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26844,17 +30848,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26850 "parser_cocci_menhir.ml"
+# 30854 "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_ = 
-# 1396 "parser_cocci_menhir.mly"
+# 1563 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) )
-# 26858 "parser_cocci_menhir.ml"
+# 30862 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26873,17 +30877,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26879 "parser_cocci_menhir.ml"
+# 30883 "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"
+# 1566 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) )
-# 26887 "parser_cocci_menhir.ml"
+# 30891 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26902,17 +30906,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 26908 "parser_cocci_menhir.ml"
+# 30912 "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"
+# 1569 "parser_cocci_menhir.mly"
      ( let (x,clt) = _1 in
      Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) )
-# 26916 "parser_cocci_menhir.ml"
+# 30920 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26931,18 +30935,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26937 "parser_cocci_menhir.ml"
+# 30941 "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_ = 
-# 1405 "parser_cocci_menhir.mly"
+# 1572 "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)) )
-# 26946 "parser_cocci_menhir.ml"
+# 30950 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26961,17 +30965,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 86 "parser_cocci_menhir.mly"
+# 130 "parser_cocci_menhir.mly"
        (Parse_aux.expinfo)
-# 26967 "parser_cocci_menhir.ml"
+# 30971 "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_ = 
-# 1409 "parser_cocci_menhir.mly"
+# 1576 "parser_cocci_menhir.mly"
      ( let (nm,constraints,pure,clt) = _1 in
      Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) )
-# 26975 "parser_cocci_menhir.ml"
+# 30979 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -26990,18 +30994,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 26996 "parser_cocci_menhir.ml"
+# 31000 "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_ = 
-# 1412 "parser_cocci_menhir.mly"
+# 1579 "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)) )
-# 27005 "parser_cocci_menhir.ml"
+# 31009 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27020,18 +31024,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 27026 "parser_cocci_menhir.ml"
+# 31030 "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_ = 
-# 1416 "parser_cocci_menhir.mly"
+# 1583 "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)) )
-# 27035 "parser_cocci_menhir.ml"
+# 31039 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27050,18 +31054,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 90 "parser_cocci_menhir.mly"
+# 134 "parser_cocci_menhir.mly"
        (Parse_aux.typed_expinfo)
-# 27056 "parser_cocci_menhir.ml"
+# 31060 "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_ = 
-# 1420 "parser_cocci_menhir.mly"
+# 1587 "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)) )
-# 27065 "parser_cocci_menhir.ml"
+# 31069 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27090,23 +31094,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 27096 "parser_cocci_menhir.ml"
+# 31100 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 27102 "parser_cocci_menhir.ml"
+# 31106 "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_ = 
-# 1424 "parser_cocci_menhir.mly"
+# 1591 "parser_cocci_menhir.mly"
      ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2,
                            P.clt2mcode ")" _3)) )
-# 27110 "parser_cocci_menhir.ml"
+# 31114 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27135,25 +31139,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 27141 "parser_cocci_menhir.ml"
+# 31145 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in
         let _1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 27147 "parser_cocci_menhir.ml"
+# 31151 "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_ = 
-# 1427 "parser_cocci_menhir.mly"
+# 1594 "parser_cocci_menhir.mly"
      ( let (mids,code) = _2 in
        Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1,
                               code, mids,
                               P.clt2mcode ")" _3)) )
-# 27157 "parser_cocci_menhir.ml"
+# 31161 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27175,9 +31179,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_primary_expr_expr_invalid_ = 
-# 1431 "parser_cocci_menhir.mly"
+# 1598 "parser_cocci_menhir.mly"
                  ( _1 )
-# 27181 "parser_cocci_menhir.ml"
+# 31185 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27197,9 +31201,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure = 
-# 213 "parser_cocci_menhir.mly"
+# 259 "parser_cocci_menhir.mly"
                  ( Ast0.Pure )
-# 27203 "parser_cocci_menhir.ml"
+# 31207 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27219,9 +31223,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure = 
-# 214 "parser_cocci_menhir.mly"
+# 260 "parser_cocci_menhir.mly"
                  ( Ast0.Context )
-# 27225 "parser_cocci_menhir.ml"
+# 31229 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27245,9 +31249,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_pure = 
-# 215 "parser_cocci_menhir.mly"
+# 261 "parser_cocci_menhir.mly"
                  ( Ast0.PureContext )
-# 27251 "parser_cocci_menhir.ml"
+# 31255 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27271,9 +31275,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_pure = 
-# 216 "parser_cocci_menhir.mly"
+# 262 "parser_cocci_menhir.mly"
                  ( Ast0.PureContext )
-# 27277 "parser_cocci_menhir.ml"
+# 31281 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27288,9 +31292,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 = 
-# 217 "parser_cocci_menhir.mly"
+# 263 "parser_cocci_menhir.mly"
                  ( Ast0.Impure )
-# 27294 "parser_cocci_menhir.ml"
+# 31298 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27309,16 +31313,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 81 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 27315 "parser_cocci_menhir.ml"
+# 31319 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident = 
-# 1445 "parser_cocci_menhir.mly"
+# 1612 "parser_cocci_menhir.mly"
             ( _1 )
-# 27322 "parser_cocci_menhir.ml"
+# 31326 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27338,9 +31342,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"
+# 1615 "parser_cocci_menhir.mly"
                  ( "identifier" )
-# 27344 "parser_cocci_menhir.ml"
+# 31348 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27360,9 +31364,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"
+# 1616 "parser_cocci_menhir.mly"
                  ( "expression" )
-# 27366 "parser_cocci_menhir.ml"
+# 31370 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27382,9 +31386,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"
+# 1617 "parser_cocci_menhir.mly"
                 ( "statement" )
-# 27388 "parser_cocci_menhir.ml"
+# 31392 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27404,9 +31408,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"
+# 1618 "parser_cocci_menhir.mly"
                ( "function" )
-# 27410 "parser_cocci_menhir.ml"
+# 31414 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27426,9 +31430,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"
+# 1619 "parser_cocci_menhir.mly"
             ( "local" )
-# 27432 "parser_cocci_menhir.ml"
+# 31436 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27448,9 +31452,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"
+# 1620 "parser_cocci_menhir.mly"
            ( "type" )
-# 27454 "parser_cocci_menhir.ml"
+# 31458 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27470,9 +31474,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"
+# 1621 "parser_cocci_menhir.mly"
                 ( "parameter" )
-# 27476 "parser_cocci_menhir.ml"
+# 31480 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27492,9 +31496,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"
+# 1622 "parser_cocci_menhir.mly"
                    ( "idexpression" )
-# 27498 "parser_cocci_menhir.ml"
+# 31502 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27514,9 +31518,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"
+# 1623 "parser_cocci_menhir.mly"
                   ( "initialiser" )
-# 27520 "parser_cocci_menhir.ml"
+# 31524 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27536,9 +31540,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"
+# 1624 "parser_cocci_menhir.mly"
            ( "list" )
-# 27542 "parser_cocci_menhir.ml"
+# 31546 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27558,9 +31562,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"
+# 1625 "parser_cocci_menhir.mly"
             ( "fresh" )
-# 27564 "parser_cocci_menhir.ml"
+# 31568 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27580,9 +31584,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"
+# 1626 "parser_cocci_menhir.mly"
                ( "constant" )
-# 27586 "parser_cocci_menhir.ml"
+# 31590 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27602,9 +31606,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1460 "parser_cocci_menhir.mly"
+# 1627 "parser_cocci_menhir.mly"
             ( "error" )
-# 27608 "parser_cocci_menhir.ml"
+# 31612 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27624,9 +31628,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1461 "parser_cocci_menhir.mly"
+# 1628 "parser_cocci_menhir.mly"
             ( "words" )
-# 27630 "parser_cocci_menhir.ml"
+# 31634 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27646,9 +31650,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1462 "parser_cocci_menhir.mly"
+# 1629 "parser_cocci_menhir.mly"
            ( "pure" )
-# 27652 "parser_cocci_menhir.ml"
+# 31656 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27668,9 +31672,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1463 "parser_cocci_menhir.mly"
+# 1630 "parser_cocci_menhir.mly"
               ( "context" )
-# 27674 "parser_cocci_menhir.ml"
+# 31678 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27690,9 +31694,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1464 "parser_cocci_menhir.mly"
+# 1631 "parser_cocci_menhir.mly"
                 ( "generated" )
-# 27696 "parser_cocci_menhir.ml"
+# 31700 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27712,9 +31716,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1465 "parser_cocci_menhir.mly"
+# 1632 "parser_cocci_menhir.mly"
               ( "typedef" )
-# 27718 "parser_cocci_menhir.ml"
+# 31722 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27734,9 +31738,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1466 "parser_cocci_menhir.mly"
+# 1633 "parser_cocci_menhir.mly"
                ( "declarer" )
-# 27740 "parser_cocci_menhir.ml"
+# 31744 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27756,9 +31760,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1467 "parser_cocci_menhir.mly"
+# 1634 "parser_cocci_menhir.mly"
                ( "iterator" )
-# 27762 "parser_cocci_menhir.ml"
+# 31766 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27778,9 +31782,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1468 "parser_cocci_menhir.mly"
+# 1635 "parser_cocci_menhir.mly"
            ( "name" )
-# 27784 "parser_cocci_menhir.ml"
+# 31788 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27800,9 +31804,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_pure_ident_kwd = 
-# 1469 "parser_cocci_menhir.mly"
+# 1636 "parser_cocci_menhir.mly"
                ( "position" )
-# 27806 "parser_cocci_menhir.ml"
+# 31810 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27824,9 +31828,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 = 
-# 1476 "parser_cocci_menhir.mly"
+# 1643 "parser_cocci_menhir.mly"
                                  ( (None,P.id2name _1) )
-# 27830 "parser_cocci_menhir.ml"
+# 31834 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27848,9 +31852,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 = 
-# 1477 "parser_cocci_menhir.mly"
+# 1644 "parser_cocci_menhir.mly"
                                  ( (None,_1) )
-# 27854 "parser_cocci_menhir.ml"
+# 31858 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27872,9 +31876,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 = 
-# 1478 "parser_cocci_menhir.mly"
+# 1645 "parser_cocci_menhir.mly"
                                  ( _1 )
-# 27878 "parser_cocci_menhir.ml"
+# 31882 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27902,13 +31906,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_ = 
-# 1504 "parser_cocci_menhir.mly"
+# 1672 "parser_cocci_menhir.mly"
     (
       match optc with
          None   -> (i, Ast0.NoConstraint)
        | Some c -> (i, c)
     )
-# 27912 "parser_cocci_menhir.ml"
+# 31916 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27936,13 +31940,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_ = 
-# 1504 "parser_cocci_menhir.mly"
+# 1672 "parser_cocci_menhir.mly"
     (
       match optc with
          None   -> (i, Ast0.NoConstraint)
        | Some c -> (i, c)
     )
-# 27946 "parser_cocci_menhir.ml"
+# 31950 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -27970,13 +31974,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_ = 
-# 1522 "parser_cocci_menhir.mly"
+# 1697 "parser_cocci_menhir.mly"
     (
       match c with
          None -> (i, Ast.IdNoConstraint)
        | Some constraint_ -> (i,constraint_)
     )
-# 27980 "parser_cocci_menhir.ml"
+# 31984 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28004,14 +32008,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_ = 
-# 1512 "parser_cocci_menhir.mly"
+# 1680 "parser_cocci_menhir.mly"
     (
       Common.Left
         (match c with
          None -> (i, Ast.IdNoConstraint)
        | Some constraint_ -> (i,constraint_))
     )
-# 28015 "parser_cocci_menhir.ml"
+# 32019 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28041,9 +32045,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_ = 
-# 1518 "parser_cocci_menhir.mly"
-                           ( Common.Right (P.id2name _3) )
-# 28047 "parser_cocci_menhir.ml"
+# 1687 "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
+    )
+# 32057 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28065,9 +32075,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 = 
-# 1481 "parser_cocci_menhir.mly"
+# 1648 "parser_cocci_menhir.mly"
                                 ( (_1,Ast.NoVal) )
-# 28071 "parser_cocci_menhir.ml"
+# 32081 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28099,11 +32109,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 = 
-# 1484 "parser_cocci_menhir.mly"
+# 1651 "parser_cocci_menhir.mly"
   ( match _3 with
           [Ast.SeedString s] -> (_1,Ast.StringSeed s)
         | _ -> (_1,Ast.ListSeed _3) )
-# 28107 "parser_cocci_menhir.ml"
+# 32117 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28131,11 +32141,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_ = 
-# 1498 "parser_cocci_menhir.mly"
+# 1666 "parser_cocci_menhir.mly"
     (
       (i, l)
     )
-# 28139 "parser_cocci_menhir.ml"
+# 32149 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28157,9 +32167,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 = 
-# 1583 "parser_cocci_menhir.mly"
+# 1758 "parser_cocci_menhir.mly"
                   (Ast0.NotIdCstrt  re)
-# 28163 "parser_cocci_menhir.ml"
+# 32173 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28181,9 +32191,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 = 
-# 1584 "parser_cocci_menhir.mly"
+# 1759 "parser_cocci_menhir.mly"
                   (Ast0.NotExpCstrt ne)
-# 28187 "parser_cocci_menhir.ml"
+# 32197 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28205,9 +32215,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 = 
-# 1585 "parser_cocci_menhir.mly"
+# 1760 "parser_cocci_menhir.mly"
                   (Ast0.SubExpCstrt s)
-# 28211 "parser_cocci_menhir.ml"
+# 32221 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28229,9 +32239,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_re_ in
         let _endpos = _endpos_re_ in
         let _v : 'tv_re_or_not_eqid = 
-# 1529 "parser_cocci_menhir.mly"
+# 1704 "parser_cocci_menhir.mly"
                   (Ast.IdRegExpConstraint re)
-# 28235 "parser_cocci_menhir.ml"
+# 32245 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28253,9 +32263,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_ne_ in
         let _endpos = _endpos_ne_ in
         let _v : 'tv_re_or_not_eqid = 
-# 1530 "parser_cocci_menhir.mly"
+# 1705 "parser_cocci_menhir.mly"
                   (ne)
-# 28259 "parser_cocci_menhir.ml"
+# 32269 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28278,21 +32288,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let re : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 28284 "parser_cocci_menhir.ml"
+# 32294 "parser_cocci_menhir.ml"
         ) = Obj.magic re in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_re_ in
         let _v : 'tv_regexp_eqid = 
-# 1534 "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");
           let (s,_) = re in Ast.IdRegExp (s,Str.regexp s)
         )
-# 28296 "parser_cocci_menhir.ml"
+# 32306 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28315,21 +32325,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let re : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 28321 "parser_cocci_menhir.ml"
+# 32331 "parser_cocci_menhir.ml"
         ) = Obj.magic re in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_re_ in
         let _v : 'tv_regexp_eqid = 
-# 1541 "parser_cocci_menhir.mly"
+# 1716 "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)
         )
-# 28333 "parser_cocci_menhir.ml"
+# 32343 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28344,13 +32354,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 : (
-# 154 "parser_cocci_menhir.mly"
+# 200 "parser_cocci_menhir.mly"
       (unit)
-# 28350 "parser_cocci_menhir.ml"
+# 32360 "parser_cocci_menhir.ml"
         ) = 
-# 195 "parser_cocci_menhir.mly"
+# 241 "parser_cocci_menhir.mly"
         ( )
-# 28354 "parser_cocci_menhir.ml"
+# 32364 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28372,9 +32382,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_rule_elem_statement = 
-# 957 "parser_cocci_menhir.mly"
+# 1085 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) )
-# 28378 "parser_cocci_menhir.ml"
+# 32388 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28398,17 +32408,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28404 "parser_cocci_menhir.ml"
+# 32414 "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 = 
-# 958 "parser_cocci_menhir.mly"
+# 1086 "parser_cocci_menhir.mly"
                ( P.exp_stm _1 _2 )
-# 28412 "parser_cocci_menhir.ml"
+# 32422 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28437,22 +32447,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28443 "parser_cocci_menhir.ml"
+# 32453 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28449 "parser_cocci_menhir.ml"
+# 32459 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_rule_elem_statement = 
-# 959 "parser_cocci_menhir.mly"
+# 1087 "parser_cocci_menhir.mly"
                         ( P.ret_exp _1 _2 _3 )
-# 28456 "parser_cocci_menhir.ml"
+# 32466 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28476,21 +32486,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28482 "parser_cocci_menhir.ml"
+# 32492 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28487 "parser_cocci_menhir.ml"
+# 32497 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_rule_elem_statement = 
-# 960 "parser_cocci_menhir.mly"
+# 1088 "parser_cocci_menhir.mly"
                   ( P.ret _1 _2 )
-# 28494 "parser_cocci_menhir.ml"
+# 32504 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28514,21 +32524,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28520 "parser_cocci_menhir.ml"
+# 32530 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28525 "parser_cocci_menhir.ml"
+# 32535 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_rule_elem_statement = 
-# 961 "parser_cocci_menhir.mly"
+# 1089 "parser_cocci_menhir.mly"
                  ( P.break _1 _2 )
-# 28532 "parser_cocci_menhir.ml"
+# 32542 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28552,21 +32562,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28558 "parser_cocci_menhir.ml"
+# 32568 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28563 "parser_cocci_menhir.ml"
+# 32573 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_rule_elem_statement = 
-# 962 "parser_cocci_menhir.mly"
+# 1090 "parser_cocci_menhir.mly"
                     ( P.cont _1 _2 )
-# 28570 "parser_cocci_menhir.ml"
+# 32580 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28595,26 +32605,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28601 "parser_cocci_menhir.ml"
+# 32611 "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 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 28607 "parser_cocci_menhir.ml"
+# 32617 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_rule_elem_statement = 
-# 964 "parser_cocci_menhir.mly"
+# 1092 "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)) )
-# 28618 "parser_cocci_menhir.ml"
+# 32628 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28668,20 +32678,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__7_ in
         let _v : (
-# 176 "parser_cocci_menhir.mly"
+# 222 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 28674 "parser_cocci_menhir.ml"
+# 32684 "parser_cocci_menhir.ml"
         ) = let nm =
           
 # 39 "standard.mly"
     ( None )
-# 28679 "parser_cocci_menhir.ml"
+# 32689 "parser_cocci_menhir.ml"
           
         in
         
-# 225 "parser_cocci_menhir.mly"
+# 271 "parser_cocci_menhir.mly"
       ( P.make_cocci_rule_name_result nm d i a e ee )
-# 28685 "parser_cocci_menhir.ml"
+# 32695 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28741,21 +32751,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_x0_ in
         let _endpos = _endpos__8_ in
         let _v : (
-# 176 "parser_cocci_menhir.mly"
+# 222 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 28747 "parser_cocci_menhir.ml"
+# 32757 "parser_cocci_menhir.ml"
         ) = let nm =
           let x = x0 in
           
 # 41 "standard.mly"
     ( Some x )
-# 28753 "parser_cocci_menhir.ml"
+# 32763 "parser_cocci_menhir.ml"
           
         in
         
-# 225 "parser_cocci_menhir.mly"
+# 271 "parser_cocci_menhir.mly"
       ( P.make_cocci_rule_name_result nm d i a e ee )
-# 28759 "parser_cocci_menhir.ml"
+# 32769 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28813,13 +32823,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__8_ in
         let _v : (
-# 176 "parser_cocci_menhir.mly"
+# 222 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 28819 "parser_cocci_menhir.ml"
+# 32829 "parser_cocci_menhir.ml"
         ) = 
-# 230 "parser_cocci_menhir.mly"
+# 276 "parser_cocci_menhir.mly"
       ( P.make_generated_rule_name_result None d i a e ee )
-# 28823 "parser_cocci_menhir.ml"
+# 32833 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28859,13 +32869,126 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : (
-# 176 "parser_cocci_menhir.mly"
+# 222 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 28865 "parser_cocci_menhir.ml"
+# 32875 "parser_cocci_menhir.ml"
+        ) = let nm =
+          
+# 39 "standard.mly"
+    ( None )
+# 32880 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 278 "parser_cocci_menhir.mly"
+      ( P.make_script_rule_name_result lang nm d )
+# 32886 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 222 "parser_cocci_menhir.mly"
+      (Ast_cocci.rulename)
+# 32934 "parser_cocci_menhir.ml"
+        ) = let nm =
+          let x = x0 in
+          
+# 41 "standard.mly"
+    ( Some x )
+# 32940 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 278 "parser_cocci_menhir.mly"
+      ( P.make_script_rule_name_result lang nm d )
+# 32946 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__5_;
+          MenhirLib.EngineTypes.endp = _endpos__5_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = d;
+            MenhirLib.EngineTypes.startp = _startpos_d_;
+            MenhirLib.EngineTypes.endp = _endpos_d_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = lang;
+              MenhirLib.EngineTypes.startp = _startpos_lang_;
+              MenhirLib.EngineTypes.endp = _endpos_lang_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.startp = _startpos__2_;
+                MenhirLib.EngineTypes.endp = _endpos__2_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.state = _menhir_s;
+                  MenhirLib.EngineTypes.startp = _startpos__1_;
+                  MenhirLib.EngineTypes.endp = _endpos__1_;
+                  MenhirLib.EngineTypes.next = _menhir_stack;
+                  };
+                };
+              };
+            };
+          } = _menhir_stack in
+        let d : 'tv_depends = Obj.magic d in
+        let lang : 'tv_pure_ident = Obj.magic lang in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__5_ in
+        let _v : (
+# 222 "parser_cocci_menhir.mly"
+      (Ast_cocci.rulename)
+# 32988 "parser_cocci_menhir.ml"
         ) = 
-# 232 "parser_cocci_menhir.mly"
-      ( P.make_script_rule_name_result lang d )
-# 28869 "parser_cocci_menhir.ml"
+# 280 "parser_cocci_menhir.mly"
+      ( P.make_initial_script_rule_name_result lang d )
+# 32992 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28905,13 +33028,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : (
-# 176 "parser_cocci_menhir.mly"
+# 222 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 28911 "parser_cocci_menhir.ml"
+# 33034 "parser_cocci_menhir.ml"
         ) = 
-# 234 "parser_cocci_menhir.mly"
-      ( P.make_initial_script_rule_name_result lang d )
-# 28915 "parser_cocci_menhir.ml"
+# 282 "parser_cocci_menhir.mly"
+      ( P.make_final_script_rule_name_result lang d )
+# 33038 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28923,41 +33046,119 @@ 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 = d;
-            MenhirLib.EngineTypes.startp = _startpos_d_;
-            MenhirLib.EngineTypes.endp = _endpos_d_;
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = py;
+            MenhirLib.EngineTypes.startp = _startpos_py_;
+            MenhirLib.EngineTypes.endp = _endpos_py_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let py : 'tv_pure_ident = Obj.magic py in
+        let _startpos = _startpos_py_ in
+        let _endpos = _endpos__2_ in
+        let _v : (
+# 228 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33066 "parser_cocci_menhir.ml"
+        ) = 
+# 2267 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name py), None), None) )
+# 33070 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.startp = _startpos__3_;
+          MenhirLib.EngineTypes.endp = _endpos__3_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = _2;
+            MenhirLib.EngineTypes.startp = _startpos__2_;
+            MenhirLib.EngineTypes.endp = _endpos__2_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = lang;
-              MenhirLib.EngineTypes.startp = _startpos_lang_;
-              MenhirLib.EngineTypes.endp = _endpos_lang_;
+              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 : (
+# 228 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33104 "parser_cocci_menhir.ml"
+        ) = 
+# 2269 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name py), None), Some _2) )
+# 33108 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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__2_;
-                MenhirLib.EngineTypes.endp = _endpos__2_;
+                MenhirLib.EngineTypes.semv = ast;
+                MenhirLib.EngineTypes.startp = _startpos_ast_;
+                MenhirLib.EngineTypes.endp = _endpos_ast_;
                 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__3_;
+                  MenhirLib.EngineTypes.endp = _endpos__3_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.startp = _startpos__2_;
+                    MenhirLib.EngineTypes.endp = _endpos__2_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.startp = _startpos__1_;
+                      MenhirLib.EngineTypes.endp = _endpos__1_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
+                    };
                   };
                 };
               };
             };
           } = _menhir_stack in
-        let d : 'tv_depends = Obj.magic d in
-        let lang : 'tv_pure_ident = Obj.magic lang in
+        let _6 : 'tv_script_name_decl = Obj.magic _6 in
+        let ast : 'tv_pure_ident = Obj.magic ast in
         let _startpos = _startpos__1_ in
-        let _endpos = _endpos__5_ in
+        let _endpos = _endpos__7_ in
         let _v : (
-# 176 "parser_cocci_menhir.mly"
-      (Ast_cocci.rulename)
-# 28957 "parser_cocci_menhir.ml"
+# 228 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33158 "parser_cocci_menhir.ml"
         ) = 
-# 236 "parser_cocci_menhir.mly"
-      ( P.make_final_script_rule_name_result lang d )
-# 28961 "parser_cocci_menhir.ml"
+# 2271 "parser_cocci_menhir.mly"
+  ( ((None, Some (P.id2name ast)), Some _6) )
+# 33162 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -28969,51 +33170,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__6_;
-          MenhirLib.EngineTypes.endp = _endpos__6_;
+          MenhirLib.EngineTypes.startp = _startpos__7_;
+          MenhirLib.EngineTypes.endp = _endpos__7_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = cocci;
-            MenhirLib.EngineTypes.startp = _startpos_cocci_;
-            MenhirLib.EngineTypes.endp = _endpos_cocci_;
+            MenhirLib.EngineTypes.semv = _6;
+            MenhirLib.EngineTypes.startp = _startpos__6_;
+            MenhirLib.EngineTypes.endp = _endpos__6_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
+              MenhirLib.EngineTypes.startp = _startpos__5_;
+              MenhirLib.EngineTypes.endp = _endpos__5_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = _3;
-                MenhirLib.EngineTypes.startp = _startpos__3_;
-                MenhirLib.EngineTypes.endp = _endpos__3_;
+                MenhirLib.EngineTypes.startp = _startpos__4_;
+                MenhirLib.EngineTypes.endp = _endpos__4_;
                 MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.startp = _startpos__2_;
-                  MenhirLib.EngineTypes.endp = _endpos__2_;
+                  MenhirLib.EngineTypes.startp = _startpos__3_;
+                  MenhirLib.EngineTypes.endp = _endpos__3_;
                   MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = py;
-                    MenhirLib.EngineTypes.startp = _startpos_py_;
-                    MenhirLib.EngineTypes.endp = _endpos_py_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    MenhirLib.EngineTypes.semv = str;
+                    MenhirLib.EngineTypes.startp = _startpos_str_;
+                    MenhirLib.EngineTypes.endp = _endpos_str_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.startp = _startpos__1_;
+                      MenhirLib.EngineTypes.endp = _endpos__1_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
                     };
                   };
                 };
               };
             };
           } = _menhir_stack in
-        let cocci : 'tv_pure_ident = Obj.magic cocci in
-        let _3 : (
-# 69 "parser_cocci_menhir.mly"
-      (string)
-# 29005 "parser_cocci_menhir.ml"
-        ) = Obj.magic _3 in
-        let py : 'tv_pure_ident = Obj.magic py in
-        let _startpos = _startpos_py_ in
-        let _endpos = _endpos__6_ in
+        let _6 : 'tv_script_name_decl = Obj.magic _6 in
+        let str : 'tv_pure_ident = Obj.magic str in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__7_ in
         let _v : (
-# 182 "parser_cocci_menhir.mly"
-       (string * Ast_cocci.meta_name)
-# 29013 "parser_cocci_menhir.ml"
+# 228 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33212 "parser_cocci_menhir.ml"
         ) = 
-# 2064 "parser_cocci_menhir.mly"
-  ( (P.id2name py, (_3, P.id2name cocci)) )
-# 29017 "parser_cocci_menhir.ml"
+# 2273 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name str), None), Some _6) )
+# 33216 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29025,45 +33224,137 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.startp = _startpos__6_;
-          MenhirLib.EngineTypes.endp = _endpos__6_;
+          MenhirLib.EngineTypes.startp = _startpos__7_;
+          MenhirLib.EngineTypes.endp = _endpos__7_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = cocci;
-            MenhirLib.EngineTypes.startp = _startpos_cocci_;
-            MenhirLib.EngineTypes.endp = _endpos_cocci_;
+            MenhirLib.EngineTypes.semv = _6;
+            MenhirLib.EngineTypes.startp = _startpos__6_;
+            MenhirLib.EngineTypes.endp = _endpos__6_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__4_;
-              MenhirLib.EngineTypes.endp = _endpos__4_;
+              MenhirLib.EngineTypes.startp = _startpos__5_;
+              MenhirLib.EngineTypes.endp = _endpos__5_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.startp = _startpos__3_;
-                MenhirLib.EngineTypes.endp = _endpos__3_;
+                MenhirLib.EngineTypes.semv = ast;
+                MenhirLib.EngineTypes.startp = _startpos_ast_;
+                MenhirLib.EngineTypes.endp = _endpos_ast_;
                 MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.startp = _startpos__2_;
-                  MenhirLib.EngineTypes.endp = _endpos__2_;
+                  MenhirLib.EngineTypes.startp = _startpos__3_;
+                  MenhirLib.EngineTypes.endp = _endpos__3_;
                   MenhirLib.EngineTypes.next = {
-                    MenhirLib.EngineTypes.state = _menhir_s;
-                    MenhirLib.EngineTypes.semv = py;
-                    MenhirLib.EngineTypes.startp = _startpos_py_;
-                    MenhirLib.EngineTypes.endp = _endpos_py_;
-                    MenhirLib.EngineTypes.next = _menhir_stack;
+                    MenhirLib.EngineTypes.semv = str;
+                    MenhirLib.EngineTypes.startp = _startpos_str_;
+                    MenhirLib.EngineTypes.endp = _endpos_str_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.startp = _startpos__1_;
+                      MenhirLib.EngineTypes.endp = _endpos__1_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
                     };
                   };
                 };
               };
             };
           } = _menhir_stack in
-        let cocci : 'tv_pure_ident = Obj.magic cocci in
-        let py : 'tv_pure_ident = Obj.magic py in
-        let _startpos = _startpos_py_ in
-        let _endpos = _endpos__6_ in
+        let _6 : 'tv_script_name_decl = Obj.magic _6 in
+        let ast : 'tv_pure_ident = Obj.magic ast in
+        let str : 'tv_pure_ident = Obj.magic str in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__7_ in
         let _v : (
-# 182 "parser_cocci_menhir.mly"
-       (string * Ast_cocci.meta_name)
-# 29063 "parser_cocci_menhir.ml"
+# 228 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 33268 "parser_cocci_menhir.ml"
         ) = 
-# 2066 "parser_cocci_menhir.mly"
-  ( (P.id2name py, ("virtual", P.id2name cocci)) )
-# 29067 "parser_cocci_menhir.ml"
+# 2275 "parser_cocci_menhir.mly"
+  ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) )
+# 33272 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = cocci;
+          MenhirLib.EngineTypes.startp = _startpos_cocci_;
+          MenhirLib.EngineTypes.endp = _endpos_cocci_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.startp = _startpos__3_;
+            MenhirLib.EngineTypes.endp = _endpos__3_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = _2;
+              MenhirLib.EngineTypes.startp = _startpos__2_;
+              MenhirLib.EngineTypes.endp = _endpos__2_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let cocci : 'tv_pure_ident = Obj.magic cocci in
+        let _2 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 33307 "parser_cocci_menhir.ml"
+        ) = Obj.magic _2 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_cocci_ in
+        let _v : 'tv_script_name_decl = 
+# 2279 "parser_cocci_menhir.mly"
+      ( let nm = P.id2name cocci in
+        let mv = Parse_aux.lookup _2 nm in
+        ((_2, nm), mv) )
+# 33316 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = cocci;
+          MenhirLib.EngineTypes.startp = _startpos_cocci_;
+          MenhirLib.EngineTypes.endp = _endpos_cocci_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.startp = _startpos__3_;
+            MenhirLib.EngineTypes.endp = _endpos__3_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.startp = _startpos__2_;
+              MenhirLib.EngineTypes.endp = _endpos__2_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.startp = _startpos__1_;
+                MenhirLib.EngineTypes.endp = _endpos__1_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
+                };
+              };
+            };
+          } = _menhir_stack in
+        let cocci : 'tv_pure_ident = Obj.magic cocci in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos_cocci_ in
+        let _v : 'tv_script_name_decl = 
+# 2283 "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) )
+# 33358 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29082,16 +33373,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 29088 "parser_cocci_menhir.ml"
+# 33379 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_seed_elem = 
-# 1489 "parser_cocci_menhir.mly"
+# 1656 "parser_cocci_menhir.mly"
           ( let (x,_) = _1 in Ast.SeedString x )
-# 29095 "parser_cocci_menhir.ml"
+# 33386 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29110,16 +33401,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 84 "parser_cocci_menhir.mly"
+# 128 "parser_cocci_menhir.mly"
        (Parse_aux.idinfo)
-# 29116 "parser_cocci_menhir.ml"
+# 33407 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_seed_elem = 
-# 1490 "parser_cocci_menhir.mly"
+# 1657 "parser_cocci_menhir.mly"
           ( let (x,_,_,_) = _1 in Ast.SeedId x )
-# 29123 "parser_cocci_menhir.ml"
+# 33414 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_seed_elem = 
+# 1658 "parser_cocci_menhir.mly"
+        (failwith "tmeta")
+# 33436 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29148,18 +33461,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _3 : 'tv_pure_ident = Obj.magic _3 in
         let _1 : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 29154 "parser_cocci_menhir.ml"
+# 33467 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_seed_elem = 
-# 1492 "parser_cocci_menhir.mly"
+# 1660 "parser_cocci_menhir.mly"
     ( let nm = (_1,P.id2name _3) in
       P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm));
       Ast.SeedId nm )
-# 29163 "parser_cocci_menhir.ml"
+# 33476 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29178,16 +33491,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let x : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 29184 "parser_cocci_menhir.ml"
+# 33497 "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 ] )
-# 29191 "parser_cocci_menhir.ml"
+# 33504 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29216,16 +33529,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let xs : 'tv_separated_nonempty_list_TComma_TString_ = Obj.magic xs in
         let x : (
-# 110 "parser_cocci_menhir.mly"
+# 154 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 29222 "parser_cocci_menhir.ml"
+# 33535 "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 )
-# 29229 "parser_cocci_menhir.ml"
+# 33542 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29249,7 +33562,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29253 "parser_cocci_menhir.ml"
+# 33566 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29283,7 +33596,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29287 "parser_cocci_menhir.ml"
+# 33600 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29307,7 +33620,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ctype_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29311 "parser_cocci_menhir.ml"
+# 33624 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29341,7 +33654,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ctype_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29345 "parser_cocci_menhir.ml"
+# 33658 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29365,7 +33678,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29369 "parser_cocci_menhir.ml"
+# 33682 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29399,7 +33712,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29403 "parser_cocci_menhir.ml"
+# 33716 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29423,7 +33736,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29427 "parser_cocci_menhir.ml"
+# 33740 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29457,7 +33770,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29461 "parser_cocci_menhir.ml"
+# 33774 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29481,7 +33794,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29485 "parser_cocci_menhir.ml"
+# 33798 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29515,7 +33828,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29519 "parser_cocci_menhir.ml"
+# 33832 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29539,7 +33852,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29543 "parser_cocci_menhir.ml"
+# 33856 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29573,7 +33886,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29577 "parser_cocci_menhir.ml"
+# 33890 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29597,7 +33910,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 29601 "parser_cocci_menhir.ml"
+# 33914 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29631,7 +33944,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 29635 "parser_cocci_menhir.ml"
+# 33948 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29655,7 +33968,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 ] )
-# 29659 "parser_cocci_menhir.ml"
+# 33972 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29689,7 +34002,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 )
-# 29693 "parser_cocci_menhir.ml"
+# 34006 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29713,7 +34026,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 ] )
-# 29717 "parser_cocci_menhir.ml"
+# 34030 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29747,7 +34060,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 )
-# 29751 "parser_cocci_menhir.ml"
+# 34064 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29771,7 +34084,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 ] )
-# 29775 "parser_cocci_menhir.ml"
+# 34088 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29805,7 +34118,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 )
-# 29809 "parser_cocci_menhir.ml"
+# 34122 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29829,7 +34142,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 ] )
-# 29833 "parser_cocci_menhir.ml"
+# 34146 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29863,7 +34176,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 )
-# 29867 "parser_cocci_menhir.ml"
+# 34180 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29887,7 +34200,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 ] )
-# 29891 "parser_cocci_menhir.ml"
+# 34204 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29921,7 +34234,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 )
-# 29925 "parser_cocci_menhir.ml"
+# 34238 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29945,7 +34258,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 ] )
-# 29949 "parser_cocci_menhir.ml"
+# 34262 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -29979,7 +34292,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 )
-# 29983 "parser_cocci_menhir.ml"
+# 34296 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30003,7 +34316,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 30007 "parser_cocci_menhir.ml"
+# 34320 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30037,7 +34350,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 30041 "parser_cocci_menhir.ml"
+# 34354 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30061,7 +34374,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = 
 # 144 "standard.mly"
     ( [ x ] )
-# 30065 "parser_cocci_menhir.ml"
+# 34378 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30095,7 +34408,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = 
 # 146 "standard.mly"
     ( x :: xs )
-# 30099 "parser_cocci_menhir.ml"
+# 34412 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30117,9 +34430,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_single_statement = 
-# 972 "parser_cocci_menhir.mly"
+# 1100 "parser_cocci_menhir.mly"
                                       ( _1 )
-# 30123 "parser_cocci_menhir.ml"
+# 34436 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30148,26 +34461,26 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30154 "parser_cocci_menhir.ml"
+# 34467 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in
         let _1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30160 "parser_cocci_menhir.ml"
+# 34473 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_single_statement = 
-# 976 "parser_cocci_menhir.mly"
+# 1104 "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)) )
-# 30171 "parser_cocci_menhir.ml"
+# 34484 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30189,9 +34502,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_statement = 
-# 899 "parser_cocci_menhir.mly"
+# 1026 "parser_cocci_menhir.mly"
            ( _1 )
-# 30195 "parser_cocci_menhir.ml"
+# 34508 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30210,16 +34523,44 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 30216 "parser_cocci_menhir.ml"
+# 34529 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_statement = 
-# 901 "parser_cocci_menhir.mly"
+# 1027 "parser_cocci_menhir.mly"
+        ( tmeta_to_statement _1)
+# 34536 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 34557 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_statement = 
+# 1029 "parser_cocci_menhir.mly"
     ( P.meta_stm _1 )
-# 30223 "parser_cocci_menhir.ml"
+# 34564 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30243,17 +34584,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30249 "parser_cocci_menhir.ml"
+# 34590 "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 = 
-# 903 "parser_cocci_menhir.mly"
+# 1031 "parser_cocci_menhir.mly"
     ( P.exp_stm _1 _2 )
-# 30257 "parser_cocci_menhir.ml"
+# 34598 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30293,27 +34634,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _5 : 'tv_single_statement = Obj.magic _5 in
         let _4 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30299 "parser_cocci_menhir.ml"
+# 34640 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30305 "parser_cocci_menhir.ml"
+# 34646 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30310 "parser_cocci_menhir.ml"
+# 34651 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : 'tv_statement = 
-# 905 "parser_cocci_menhir.mly"
+# 1033 "parser_cocci_menhir.mly"
     ( P.ifthen _1 _2 _3 _4 _5 )
-# 30317 "parser_cocci_menhir.ml"
+# 34658 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30363,33 +34704,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _7 : 'tv_single_statement = Obj.magic _7 in
         let _6 : (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30369 "parser_cocci_menhir.ml"
+# 34710 "parser_cocci_menhir.ml"
         ) = Obj.magic _6 in
         let _5 : 'tv_single_statement = Obj.magic _5 in
         let _4 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30375 "parser_cocci_menhir.ml"
+# 34716 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30381 "parser_cocci_menhir.ml"
+# 34722 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30386 "parser_cocci_menhir.ml"
+# 34727 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__7_ in
         let _v : 'tv_statement = 
-# 907 "parser_cocci_menhir.mly"
+# 1035 "parser_cocci_menhir.mly"
     ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 )
-# 30393 "parser_cocci_menhir.ml"
+# 34734 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30449,39 +34790,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _9 : 'tv_single_statement = Obj.magic _9 in
         let _8 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30455 "parser_cocci_menhir.ml"
+# 34796 "parser_cocci_menhir.ml"
         ) = Obj.magic _8 in
         let _7 : 'tv_option_eexpr_ = Obj.magic _7 in
         let _6 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30461 "parser_cocci_menhir.ml"
+# 34802 "parser_cocci_menhir.ml"
         ) = Obj.magic _6 in
         let _5 : 'tv_option_eexpr_ = Obj.magic _5 in
         let _4 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30467 "parser_cocci_menhir.ml"
+# 34808 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_option_eexpr_ = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30473 "parser_cocci_menhir.ml"
+# 34814 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30478 "parser_cocci_menhir.ml"
+# 34819 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__9_ in
         let _v : 'tv_statement = 
-# 910 "parser_cocci_menhir.mly"
+# 1038 "parser_cocci_menhir.mly"
     ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 )
-# 30485 "parser_cocci_menhir.ml"
+# 34826 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30521,27 +34862,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _5 : 'tv_single_statement = Obj.magic _5 in
         let _4 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30527 "parser_cocci_menhir.ml"
+# 34868 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30533 "parser_cocci_menhir.ml"
+# 34874 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30538 "parser_cocci_menhir.ml"
+# 34879 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__5_ in
         let _v : 'tv_statement = 
-# 912 "parser_cocci_menhir.mly"
+# 1040 "parser_cocci_menhir.mly"
     ( P.whileloop _1 _2 _3 _4 _5 )
-# 30545 "parser_cocci_menhir.ml"
+# 34886 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30590,38 +34931,38 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _7 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30596 "parser_cocci_menhir.ml"
+# 34937 "parser_cocci_menhir.ml"
         ) = Obj.magic _7 in
         let _6 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30601 "parser_cocci_menhir.ml"
+# 34942 "parser_cocci_menhir.ml"
         ) = Obj.magic _6 in
         let _5 : 'tv_eexpr = Obj.magic _5 in
         let _4 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30607 "parser_cocci_menhir.ml"
+# 34948 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30612 "parser_cocci_menhir.ml"
+# 34953 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_single_statement = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30618 "parser_cocci_menhir.ml"
+# 34959 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__7_ in
         let _v : 'tv_statement = 
-# 914 "parser_cocci_menhir.mly"
+# 1042 "parser_cocci_menhir.mly"
     ( P.doloop _1 _2 _3 _4 _5 _6 _7 )
-# 30625 "parser_cocci_menhir.ml"
+# 34966 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30661,23 +35002,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let _5 : 'tv_single_statement = Obj.magic _5 in
         let _4 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30667 "parser_cocci_menhir.ml"
+# 35008 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr_list_option = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30673 "parser_cocci_menhir.ml"
+# 35014 "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 = 
-# 916 "parser_cocci_menhir.mly"
+# 1044 "parser_cocci_menhir.mly"
     ( P.iterator _1 _2 _3 _4 _5 )
-# 30681 "parser_cocci_menhir.ml"
+# 35022 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30731,39 +35072,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _8 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30737 "parser_cocci_menhir.ml"
+# 35078 "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 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30744 "parser_cocci_menhir.ml"
+# 35085 "parser_cocci_menhir.ml"
         ) = Obj.magic _5 in
         let _4 : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30749 "parser_cocci_menhir.ml"
+# 35090 "parser_cocci_menhir.ml"
         ) = Obj.magic _4 in
         let _3 : 'tv_eexpr = Obj.magic _3 in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30755 "parser_cocci_menhir.ml"
+# 35096 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30760 "parser_cocci_menhir.ml"
+# 35101 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__8_ in
         let _v : 'tv_statement = 
-# 918 "parser_cocci_menhir.mly"
+# 1046 "parser_cocci_menhir.mly"
     ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 )
-# 30767 "parser_cocci_menhir.ml"
+# 35108 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30792,22 +35133,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30798 "parser_cocci_menhir.ml"
+# 35139 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_eexpr = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30804 "parser_cocci_menhir.ml"
+# 35145 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_statement = 
-# 919 "parser_cocci_menhir.mly"
+# 1047 "parser_cocci_menhir.mly"
                         ( P.ret_exp _1 _2 _3 )
-# 30811 "parser_cocci_menhir.ml"
+# 35152 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30831,21 +35172,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30837 "parser_cocci_menhir.ml"
+# 35178 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 79 "parser_cocci_menhir.mly"
+# 123 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30842 "parser_cocci_menhir.ml"
+# 35183 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_statement = 
-# 920 "parser_cocci_menhir.mly"
+# 1048 "parser_cocci_menhir.mly"
                   ( P.ret _1 _2 )
-# 30849 "parser_cocci_menhir.ml"
+# 35190 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30869,21 +35210,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30875 "parser_cocci_menhir.ml"
+# 35216 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30880 "parser_cocci_menhir.ml"
+# 35221 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_statement = 
-# 921 "parser_cocci_menhir.mly"
+# 1049 "parser_cocci_menhir.mly"
                  ( P.break _1 _2 )
-# 30887 "parser_cocci_menhir.ml"
+# 35228 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30907,21 +35248,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30913 "parser_cocci_menhir.ml"
+# 35254 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
         let _1 : (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30918 "parser_cocci_menhir.ml"
+# 35259 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_statement = 
-# 922 "parser_cocci_menhir.mly"
+# 1050 "parser_cocci_menhir.mly"
                     ( P.cont _1 _2 )
-# 30925 "parser_cocci_menhir.ml"
+# 35266 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30945,17 +35286,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _2 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30951 "parser_cocci_menhir.ml"
+# 35292 "parser_cocci_menhir.ml"
         ) = Obj.magic _2 in
-        let _1 : 'tv_ident = Obj.magic _1 in
+        let _1 : 'tv_mident = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_statement = 
-# 923 "parser_cocci_menhir.mly"
-                ( P.label _1 _2 )
-# 30959 "parser_cocci_menhir.ml"
+# 1051 "parser_cocci_menhir.mly"
+                 ( P.label _1 _2 )
+# 35300 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -30984,22 +35325,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 130 "parser_cocci_menhir.mly"
+# 174 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30990 "parser_cocci_menhir.ml"
+# 35331 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
-        let _2 : 'tv_ident = Obj.magic _2 in
+        let _2 : 'tv_mident = Obj.magic _2 in
         let _1 : (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 30996 "parser_cocci_menhir.ml"
+# 35337 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_statement = 
-# 924 "parser_cocci_menhir.mly"
-                      ( P.goto _1 _2 _3 )
-# 31003 "parser_cocci_menhir.ml"
+# 1052 "parser_cocci_menhir.mly"
+                       ( P.goto _1 _2 _3 )
+# 35344 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31028,22 +35369,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31034 "parser_cocci_menhir.ml"
+# 35375 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_fun_start = Obj.magic _2 in
         let _1 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31040 "parser_cocci_menhir.ml"
+# 35381 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_statement = 
-# 926 "parser_cocci_menhir.mly"
+# 1054 "parser_cocci_menhir.mly"
     ( P.seq _1 _2 _3 )
-# 31047 "parser_cocci_menhir.ml"
+# 35388 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31068,16 +35409,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let w : 'tv_list_whenppdecs_ = Obj.magic w in
         let _1 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31074 "parser_cocci_menhir.ml"
+# 35415 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_w_ in
         let _v : 'tv_stm_dots = 
-# 930 "parser_cocci_menhir.mly"
+# 1058 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) )
-# 31081 "parser_cocci_menhir.ml"
+# 35422 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31111,24 +35452,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let c : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31117 "parser_cocci_menhir.ml"
+# 35458 "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 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31124 "parser_cocci_menhir.ml"
+# 35465 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_c_ in
         let _v : 'tv_stm_dots = 
-# 932 "parser_cocci_menhir.mly"
+# 1060 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b,
                          P.clt2mcode "...>" c, List.concat w, false)) )
-# 31132 "parser_cocci_menhir.ml"
+# 35473 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31162,24 +35503,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let c : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31168 "parser_cocci_menhir.ml"
+# 35509 "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 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31175 "parser_cocci_menhir.ml"
+# 35516 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_c_ in
         let _v : 'tv_stm_dots = 
-# 935 "parser_cocci_menhir.mly"
+# 1063 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b,
                          P.clt2mcode "...+>" c, List.concat w, true)) )
-# 31183 "parser_cocci_menhir.ml"
+# 35524 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31198,16 +35539,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let s : (
-# 75 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 31204 "parser_cocci_menhir.ml"
+# 35545 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_storage = 
-# 861 "parser_cocci_menhir.mly"
+# 987 "parser_cocci_menhir.mly"
                         ( P.clt2mcode Ast.Static s )
-# 31211 "parser_cocci_menhir.ml"
+# 35552 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31226,16 +35567,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let s : (
-# 75 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 31232 "parser_cocci_menhir.ml"
+# 35573 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_storage = 
-# 862 "parser_cocci_menhir.mly"
+# 988 "parser_cocci_menhir.mly"
                         ( P.clt2mcode Ast.Auto s )
-# 31239 "parser_cocci_menhir.ml"
+# 35580 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31254,16 +35595,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let s : (
-# 75 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 31260 "parser_cocci_menhir.ml"
+# 35601 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_storage = 
-# 863 "parser_cocci_menhir.mly"
+# 989 "parser_cocci_menhir.mly"
                         ( P.clt2mcode Ast.Register s )
-# 31267 "parser_cocci_menhir.ml"
+# 35608 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31282,16 +35623,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let s : (
-# 75 "parser_cocci_menhir.mly"
+# 119 "parser_cocci_menhir.mly"
       (Data.clt)
-# 31288 "parser_cocci_menhir.ml"
+# 35629 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_storage = 
-# 864 "parser_cocci_menhir.mly"
+# 990 "parser_cocci_menhir.mly"
                         ( P.clt2mcode Ast.Extern s )
-# 31295 "parser_cocci_menhir.ml"
+# 35636 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31311,9 +35652,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_struct_decl = 
-# 615 "parser_cocci_menhir.mly"
-               ( [] )
-# 31317 "parser_cocci_menhir.ml"
+# 705 "parser_cocci_menhir.mly"
+                      ( [] )
+# 35658 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31325,243 +35666,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
       (fun _menhir_env ->
         let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
         let {
-          MenhirLib.EngineTypes.semv = pv;
-          MenhirLib.EngineTypes.startp = _startpos_pv_;
-          MenhirLib.EngineTypes.endp = _endpos_pv_;
-          MenhirLib.EngineTypes.next = {
-            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 = t;
-              MenhirLib.EngineTypes.startp = _startpos_t_;
-              MenhirLib.EngineTypes.endp = _endpos_t_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
-          } = _menhir_stack in
-        let pv : (
-# 130 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31348 "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 = 
-# 617 "parser_cocci_menhir.mly"
-  ( let (id,fn) = d in
-        [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] )
-# 31358 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = pv;
-          MenhirLib.EngineTypes.startp = _startpos_pv_;
-          MenhirLib.EngineTypes.endp = _endpos_pv_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = rp2;
-            MenhirLib.EngineTypes.startp = _startpos_rp2_;
-            MenhirLib.EngineTypes.endp = _endpos_rp2_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = p;
-              MenhirLib.EngineTypes.startp = _startpos_p_;
-              MenhirLib.EngineTypes.endp = _endpos_p_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = lp2;
-                MenhirLib.EngineTypes.startp = _startpos_lp2_;
-                MenhirLib.EngineTypes.endp = _endpos_lp2_;
-                MenhirLib.EngineTypes.next = {
-                  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 = st;
-                      MenhirLib.EngineTypes.startp = _startpos_st_;
-                      MenhirLib.EngineTypes.endp = _endpos_st_;
-                      MenhirLib.EngineTypes.next = {
-                        MenhirLib.EngineTypes.semv = lp1;
-                        MenhirLib.EngineTypes.startp = _startpos_lp1_;
-                        MenhirLib.EngineTypes.endp = _endpos_lp1_;
-                        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 pv : (
-# 130 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31419 "parser_cocci_menhir.ml"
-        ) = Obj.magic pv in
-        let rp2 : (
-# 100 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31424 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp2 in
-        let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
-        let lp2 : (
-# 99 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31430 "parser_cocci_menhir.ml"
-        ) = Obj.magic lp2 in
-        let rp1 : (
-# 100 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31435 "parser_cocci_menhir.ml"
-        ) = Obj.magic rp1 in
-        let d : 'tv_d_ident = Obj.magic d in
-        let st : (
-# 122 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31441 "parser_cocci_menhir.ml"
-        ) = Obj.magic st in
-        let lp1 : (
-# 99 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31446 "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 _1 : 'tv_struct_decl_one = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
         let _v : 'tv_struct_decl = 
-# 621 "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))] )
-# 31460 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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.state = _menhir_s;
-              MenhirLib.EngineTypes.semv = i;
-              MenhirLib.EngineTypes.startp = _startpos_i_;
-              MenhirLib.EngineTypes.endp = _endpos_i_;
-              MenhirLib.EngineTypes.next = _menhir_stack;
-              };
-            };
-          } = _menhir_stack in
-        let pv : (
-# 130 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31491 "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 )
-# 31501 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 629 "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))] )
-# 31509 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          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 : (
-# 130 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 31545 "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 )
-# 31557 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 629 "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))] )
-# 31565 "parser_cocci_menhir.ml"
+# 706 "parser_cocci_menhir.mly"
+                      ( [_1] )
+# 35682 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31583,9 +35700,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_struct_decl_list = 
-# 634 "parser_cocci_menhir.mly"
+# 729 "parser_cocci_menhir.mly"
                           ( Ast0.wrap(Ast0.DOTS(_1)) )
-# 31589 "parser_cocci_menhir.ml"
+# 35706 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31607,9 +35724,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_struct_decl_list_start = 
-# 637 "parser_cocci_menhir.mly"
+# 732 "parser_cocci_menhir.mly"
                                      ( _1 )
-# 31613 "parser_cocci_menhir.ml"
+# 35730 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31637,9 +35754,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_struct_decl_list_start = 
-# 638 "parser_cocci_menhir.mly"
+# 733 "parser_cocci_menhir.mly"
                                      ( _1@_2 )
-# 31643 "parser_cocci_menhir.ml"
+# 35760 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31663,13 +35780,317 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _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 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 = 
-# 640 "parser_cocci_menhir.mly"
-    ( (P.mkddots "..." d)::r )
-# 31673 "parser_cocci_menhir.ml"
+# 735 "parser_cocci_menhir.mly"
+    ( (P.mkddots_one "..." d)::r )
+# 35790 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 35811 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_struct_decl_one = 
+# 709 "parser_cocci_menhir.mly"
+                 ( P.meta_field _1 )
+# 35818 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 35839 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_struct_decl_one = 
+# 710 "parser_cocci_menhir.mly"
+            ( tmeta_to_field _1 )
+# 35846 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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.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 pv : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 35877 "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_one = 
+# 712 "parser_cocci_menhir.mly"
+  ( let (id,fn) = d in
+        Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv)) )
+# 35887 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 = rp2;
+            MenhirLib.EngineTypes.startp = _startpos_rp2_;
+            MenhirLib.EngineTypes.endp = _endpos_rp2_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.semv = p;
+              MenhirLib.EngineTypes.startp = _startpos_p_;
+              MenhirLib.EngineTypes.endp = _endpos_p_;
+              MenhirLib.EngineTypes.next = {
+                MenhirLib.EngineTypes.semv = lp2;
+                MenhirLib.EngineTypes.startp = _startpos_lp2_;
+                MenhirLib.EngineTypes.endp = _endpos_lp2_;
+                MenhirLib.EngineTypes.next = {
+                  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 = st;
+                      MenhirLib.EngineTypes.startp = _startpos_st_;
+                      MenhirLib.EngineTypes.endp = _endpos_st_;
+                      MenhirLib.EngineTypes.next = {
+                        MenhirLib.EngineTypes.semv = lp1;
+                        MenhirLib.EngineTypes.startp = _startpos_lp1_;
+                        MenhirLib.EngineTypes.endp = _endpos_lp1_;
+                        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 pv : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 35948 "parser_cocci_menhir.ml"
+        ) = Obj.magic pv in
+        let rp2 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 35953 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp2 in
+        let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in
+        let lp2 : (
+# 143 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 35959 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp2 in
+        let rp1 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 35964 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp1 in
+        let d : 'tv_d_ident = Obj.magic d in
+        let st : (
+# 166 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 35970 "parser_cocci_menhir.ml"
+        ) = Obj.magic st in
+        let lp1 : (
+# 143 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 35975 "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_one = 
+# 716 "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)) )
+# 35989 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = i;
+              MenhirLib.EngineTypes.startp = _startpos_i_;
+              MenhirLib.EngineTypes.endp = _endpos_i_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let pv : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 36020 "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 )
+# 36030 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 724 "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)) )
+# 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 = 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 : (
+# 174 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 36074 "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 )
+# 36086 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 724 "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)) )
+# 36094 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31688,16 +36109,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let s : (
-# 72 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 31694 "parser_cocci_menhir.ml"
+# 36115 "parser_cocci_menhir.ml"
         ) = Obj.magic s in
         let _startpos = _startpos_s_ in
         let _endpos = _endpos_s_ in
         let _v : 'tv_struct_or_union = 
-# 611 "parser_cocci_menhir.mly"
+# 701 "parser_cocci_menhir.mly"
                  ( P.clt2mcode Ast.Struct s )
-# 31701 "parser_cocci_menhir.ml"
+# 36122 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31716,16 +36137,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let u : (
-# 72 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 31722 "parser_cocci_menhir.ml"
+# 36143 "parser_cocci_menhir.ml"
         ) = Obj.magic u in
         let _startpos = _startpos_u_ in
         let _endpos = _endpos_u_ in
         let _v : 'tv_struct_or_union = 
-# 612 "parser_cocci_menhir.mly"
+# 702 "parser_cocci_menhir.mly"
                  ( P.clt2mcode Ast.Union u )
-# 31729 "parser_cocci_menhir.ml"
+# 36150 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31751,7 +36172,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos_i_ in
         let _v : 'tv_sub = 
-# 1629 "parser_cocci_menhir.mly"
+# 1804 "parser_cocci_menhir.mly"
          ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -31760,7 +36181,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             P.check_inherited_constraint i
               (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in
           [i] )
-# 31764 "parser_cocci_menhir.ml"
+# 36185 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31794,7 +36215,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__4_ in
         let _v : 'tv_sub = 
-# 1638 "parser_cocci_menhir.mly"
+# 1813 "parser_cocci_menhir.mly"
   ( (if !Data.in_iso
           then failwith "constraints not allowed in iso file");
           (if !Data.in_generating
@@ -31804,7 +36225,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               P.check_inherited_constraint i
                 (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)))
             l)
-# 31808 "parser_cocci_menhir.ml"
+# 36229 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31826,9 +36247,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_top_eexpr = 
-# 1259 "parser_cocci_menhir.mly"
+# 1371 "parser_cocci_menhir.mly"
         ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) )
-# 31832 "parser_cocci_menhir.ml"
+# 36253 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31857,22 +36278,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let _3 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31863 "parser_cocci_menhir.ml"
+# 36284 "parser_cocci_menhir.ml"
         ) = Obj.magic _3 in
         let _2 : 'tv_initialize_list = Obj.magic _2 in
         let _1 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 31869 "parser_cocci_menhir.ml"
+# 36290 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__3_ in
         let _v : 'tv_top_init = 
-# 1837 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) )
-# 31876 "parser_cocci_menhir.ml"
+# 2056 "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)) )
+# 36302 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31887,9 +36313,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 = 
-# 1825 "parser_cocci_menhir.mly"
+# 2044 "parser_cocci_menhir.mly"
                                      ([])
-# 31893 "parser_cocci_menhir.ml"
+# 36319 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31915,9 +36341,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots = 
-# 1826 "parser_cocci_menhir.mly"
+# 2045 "parser_cocci_menhir.mly"
                                      (_2)
-# 31921 "parser_cocci_menhir.ml"
+# 36347 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31945,9 +36371,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots = 
-# 1827 "parser_cocci_menhir.mly"
+# 2046 "parser_cocci_menhir.mly"
                                      ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 31951 "parser_cocci_menhir.ml"
+# 36377 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -31975,9 +36401,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots = 
-# 1828 "parser_cocci_menhir.mly"
+# 2047 "parser_cocci_menhir.mly"
                                           (_1@_2)
-# 31981 "parser_cocci_menhir.ml"
+# 36407 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32003,9 +36429,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots_init = 
-# 1816 "parser_cocci_menhir.mly"
+# 2035 "parser_cocci_menhir.mly"
                                      (_2)
-# 32009 "parser_cocci_menhir.ml"
+# 36435 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32033,9 +36459,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots_init = 
-# 1817 "parser_cocci_menhir.mly"
+# 2036 "parser_cocci_menhir.mly"
                                      ((Ast0.wrap(Ast0.Exp(_1)))::_2)
-# 32039 "parser_cocci_menhir.ml"
+# 36465 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32063,9 +36489,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_dots_init = 
-# 1818 "parser_cocci_menhir.mly"
+# 2037 "parser_cocci_menhir.mly"
                                           (_1@_2)
-# 32069 "parser_cocci_menhir.ml"
+# 36495 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32080,9 +36506,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 = 
-# 1821 "parser_cocci_menhir.mly"
+# 2040 "parser_cocci_menhir.mly"
                                      ([])
-# 32086 "parser_cocci_menhir.ml"
+# 36512 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32110,9 +36536,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_exp = 
-# 1822 "parser_cocci_menhir.mly"
+# 2041 "parser_cocci_menhir.mly"
                                      (_1::_2)
-# 32116 "parser_cocci_menhir.ml"
+# 36542 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32127,9 +36553,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 = 
-# 1831 "parser_cocci_menhir.mly"
+# 2050 "parser_cocci_menhir.mly"
                                      ([])
-# 32133 "parser_cocci_menhir.ml"
+# 36559 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32157,9 +36583,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_stm = 
-# 1832 "parser_cocci_menhir.mly"
+# 2051 "parser_cocci_menhir.mly"
                                      (_1::_2)
-# 32163 "parser_cocci_menhir.ml"
+# 36589 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32187,9 +36613,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_toplevel_after_stm = 
-# 1833 "parser_cocci_menhir.mly"
+# 2052 "parser_cocci_menhir.mly"
                                      (_1@_2)
-# 32193 "parser_cocci_menhir.ml"
+# 36619 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32217,9 +36643,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_ = 
-# 1811 "parser_cocci_menhir.mly"
+# 2030 "parser_cocci_menhir.mly"
                                      ( _1::_2 )
-# 32223 "parser_cocci_menhir.ml"
+# 36649 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32247,9 +36673,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_ = 
-# 1812 "parser_cocci_menhir.mly"
+# 2031 "parser_cocci_menhir.mly"
                                      ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 32253 "parser_cocci_menhir.ml"
+# 36679 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32277,9 +36703,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_ = 
-# 1813 "parser_cocci_menhir.mly"
+# 2032 "parser_cocci_menhir.mly"
                                           ( _1@_2 )
-# 32283 "parser_cocci_menhir.ml"
+# 36709 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32310,9 +36736,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 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32316 "parser_cocci_menhir.ml"
+# 36742 "parser_cocci_menhir.ml"
         ) = Obj.magic a0 in
         let _startpos = _startpos_a0_ in
         let _endpos = _endpos_b_ in
@@ -32320,15 +36746,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let w = w0 in
           let a = a0 in
           
-# 940 "parser_cocci_menhir.mly"
+# 1068 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) )
-# 32326 "parser_cocci_menhir.ml"
+# 36752 "parser_cocci_menhir.ml"
           
         in
         
-# 1804 "parser_cocci_menhir.mly"
+# 2023 "parser_cocci_menhir.mly"
                                              ( a::b )
-# 32332 "parser_cocci_menhir.ml"
+# 36758 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32368,16 +36794,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let b : 'tv_toplevel_after_dots_init = Obj.magic b in
         let c0 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32374 "parser_cocci_menhir.ml"
+# 36800 "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 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32381 "parser_cocci_menhir.ml"
+# 36807 "parser_cocci_menhir.ml"
         ) = Obj.magic a0 in
         let _startpos = _startpos_a0_ in
         let _endpos = _endpos_b_ in
@@ -32387,16 +36813,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let w = w0 in
           let a = a0 in
           
-# 944 "parser_cocci_menhir.mly"
+# 1072 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
                          P.clt2mcode "...>" c, List.concat w, false)) )
-# 32394 "parser_cocci_menhir.ml"
+# 36820 "parser_cocci_menhir.ml"
           
         in
         
-# 1805 "parser_cocci_menhir.mly"
+# 2024 "parser_cocci_menhir.mly"
                                               ( a::b )
-# 32400 "parser_cocci_menhir.ml"
+# 36826 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32436,16 +36862,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let b : 'tv_toplevel_after_dots_init = Obj.magic b in
         let c0 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32442 "parser_cocci_menhir.ml"
+# 36868 "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 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32449 "parser_cocci_menhir.ml"
+# 36875 "parser_cocci_menhir.ml"
         ) = Obj.magic a0 in
         let _startpos = _startpos_a0_ in
         let _endpos = _endpos_b_ in
@@ -32455,16 +36881,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let w = w0 in
           let a = a0 in
           
-# 947 "parser_cocci_menhir.mly"
+# 1075 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
                          P.clt2mcode "...+>" c, List.concat w, true)) )
-# 32462 "parser_cocci_menhir.ml"
+# 36888 "parser_cocci_menhir.ml"
           
         in
         
-# 1805 "parser_cocci_menhir.mly"
+# 2024 "parser_cocci_menhir.mly"
                                               ( a::b )
-# 32468 "parser_cocci_menhir.ml"
+# 36894 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32498,16 +36924,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let c0 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32504 "parser_cocci_menhir.ml"
+# 36930 "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 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32511 "parser_cocci_menhir.ml"
+# 36937 "parser_cocci_menhir.ml"
         ) = Obj.magic a0 in
         let _startpos = _startpos_a0_ in
         let _endpos = _endpos_c0_ in
@@ -32517,16 +36943,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let w = w0 in
           let a = a0 in
           
-# 944 "parser_cocci_menhir.mly"
+# 1072 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b,
                          P.clt2mcode "...>" c, List.concat w, false)) )
-# 32524 "parser_cocci_menhir.ml"
+# 36950 "parser_cocci_menhir.ml"
           
         in
         
-# 1806 "parser_cocci_menhir.mly"
+# 2025 "parser_cocci_menhir.mly"
                                        ( [a] )
-# 32530 "parser_cocci_menhir.ml"
+# 36956 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32560,16 +36986,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let c0 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32566 "parser_cocci_menhir.ml"
+# 36992 "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 : (
-# 96 "parser_cocci_menhir.mly"
+# 140 "parser_cocci_menhir.mly"
        (Data.clt)
-# 32573 "parser_cocci_menhir.ml"
+# 36999 "parser_cocci_menhir.ml"
         ) = Obj.magic a0 in
         let _startpos = _startpos_a0_ in
         let _endpos = _endpos_c0_ in
@@ -32579,16 +37005,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let w = w0 in
           let a = a0 in
           
-# 947 "parser_cocci_menhir.mly"
+# 1075 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b,
                          P.clt2mcode "...+>" c, List.concat w, true)) )
-# 32586 "parser_cocci_menhir.ml"
+# 37012 "parser_cocci_menhir.ml"
           
         in
         
-# 1806 "parser_cocci_menhir.mly"
+# 2025 "parser_cocci_menhir.mly"
                                        ( [a] )
-# 32592 "parser_cocci_menhir.ml"
+# 37018 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32616,9 +37042,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_ = 
-# 1807 "parser_cocci_menhir.mly"
+# 2026 "parser_cocci_menhir.mly"
                                      ( (Ast0.wrap(Ast0.Exp(_1)))::_2 )
-# 32622 "parser_cocci_menhir.ml"
+# 37048 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32646,9 +37072,61 @@ 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_ = 
-# 1808 "parser_cocci_menhir.mly"
+# 2027 "parser_cocci_menhir.mly"
                                           ( _1@_2 )
-# 32652 "parser_cocci_menhir.ml"
+# 37078 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : 'tv_mident = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_type_ident = 
+# 1881 "parser_cocci_menhir.mly"
+                   ( _1 )
+# 37102 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 37123 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_type_ident = 
+# 1883 "parser_cocci_menhir.mly"
+         ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) )
+# 37130 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32678,14 +37156,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32684 "parser_cocci_menhir.ml"
+# 37162 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32689 "parser_cocci_menhir.ml"
+# 37167 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32695,28 +37173,541 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 529 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 32701 "parser_cocci_menhir.ml"
+# 37179 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37185 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37192 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 691 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37198 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37230 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37235 "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
+            
+# 605 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 37247 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37253 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37260 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 691 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37266 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37298 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37303 "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
+            
+# 607 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 37315 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37321 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37328 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 691 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37334 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 37366 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37371 "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
+            
+# 609 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 37384 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37390 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37397 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 691 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37403 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 37444 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r00 : (
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 37449 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let r1 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37454 "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
+            
+# 612 "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*))) )
+# 37473 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37479 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37486 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 691 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37492 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37524 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37529 "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
+            
+# 619 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 37541 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 37547 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37554 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 691 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37560 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37597 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37602 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty100 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37607 "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
+            
+# 621 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 37624 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
+# 666 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32707 "parser_cocci_menhir.ml"
+# 37630 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 37637 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 691 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 37643 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = m;
+          MenhirLib.EngineTypes.startp = _startpos_m_;
+          MenhirLib.EngineTypes.endp = _endpos_m_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.semv = ty00;
+            MenhirLib.EngineTypes.startp = _startpos_ty00_;
+            MenhirLib.EngineTypes.endp = _endpos_ty00_;
+            MenhirLib.EngineTypes.next = {
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = r0;
+              MenhirLib.EngineTypes.startp = _startpos_r0_;
+              MenhirLib.EngineTypes.endp = _endpos_r0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
+              };
+            };
+          } = _menhir_stack in
+        let m : 'tv_list_TMul_ = Obj.magic m in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37675 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 37680 "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
+            
+# 603 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 37692 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 37698 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32714 "parser_cocci_menhir.ml"
+# 37705 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32720 "parser_cocci_menhir.ml"
+# 37711 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32746,14 +37737,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32752 "parser_cocci_menhir.ml"
+# 37743 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32757 "parser_cocci_menhir.ml"
+# 37748 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32763,28 +37754,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 531 "parser_cocci_menhir.mly"
+# 605 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 32769 "parser_cocci_menhir.ml"
+# 37760 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32775 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 37766 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32782 "parser_cocci_menhir.ml"
+# 37773 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32788 "parser_cocci_menhir.ml"
+# 37779 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32814,14 +37805,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32820 "parser_cocci_menhir.ml"
+# 37811 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32825 "parser_cocci_menhir.ml"
+# 37816 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32831,28 +37822,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 533 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 32837 "parser_cocci_menhir.ml"
+# 37828 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32843 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 37834 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32850 "parser_cocci_menhir.ml"
+# 37841 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32856 "parser_cocci_menhir.ml"
+# 37847 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32882,14 +37873,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 87 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 32888 "parser_cocci_menhir.ml"
+# 37879 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32893 "parser_cocci_menhir.ml"
+# 37884 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -32899,29 +37890,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 535 "parser_cocci_menhir.mly"
+# 609 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 32906 "parser_cocci_menhir.ml"
+# 37897 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 32912 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 37903 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 32919 "parser_cocci_menhir.ml"
+# 37910 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 32925 "parser_cocci_menhir.ml"
+# 37916 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -32960,19 +37951,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 81 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 32966 "parser_cocci_menhir.ml"
+# 37957 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 32971 "parser_cocci_menhir.ml"
+# 37962 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let r1 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 32976 "parser_cocci_menhir.ml"
+# 37967 "parser_cocci_menhir.ml"
         ) = Obj.magic r1 in
         let _startpos = _startpos_r1_ in
         let _endpos = _endpos_m_ in
@@ -32984,33 +37975,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 538 "parser_cocci_menhir.mly"
+# 612 "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*))) )
-# 32995 "parser_cocci_menhir.ml"
+# 37986 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33001 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 37992 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33008 "parser_cocci_menhir.ml"
+# 37999 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33014 "parser_cocci_menhir.ml"
+# 38005 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33040,14 +38031,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33046 "parser_cocci_menhir.ml"
+# 38037 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33051 "parser_cocci_menhir.ml"
+# 38042 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -33057,28 +38048,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 545 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 33063 "parser_cocci_menhir.ml"
+# 38054 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33069 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38060 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33076 "parser_cocci_menhir.ml"
+# 38067 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33082 "parser_cocci_menhir.ml"
+# 38073 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33113,19 +38104,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33119 "parser_cocci_menhir.ml"
+# 38110 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33124 "parser_cocci_menhir.ml"
+# 38115 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33129 "parser_cocci_menhir.ml"
+# 38120 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let _startpos = _startpos_r0_ in
         let _endpos = _endpos_m_ in
@@ -33137,31 +38128,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 547 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 33146 "parser_cocci_menhir.ml"
+# 38137 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 33152 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 38143 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33159 "parser_cocci_menhir.ml"
+# 38150 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33165 "parser_cocci_menhir.ml"
+# 38156 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33177,59 +38168,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 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33197 "parser_cocci_menhir.ml"
+# 38183 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33202 "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
             
-# 529 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 33214 "parser_cocci_menhir.ml"
+# 38194 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33220 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 38200 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33227 "parser_cocci_menhir.ml"
+# 38207 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33233 "parser_cocci_menhir.ml"
+# 38213 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33245,59 +38225,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 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33265 "parser_cocci_menhir.ml"
+# 38240 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33270 "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"
+# 605 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 33282 "parser_cocci_menhir.ml"
+# 38251 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33288 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 38257 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33295 "parser_cocci_menhir.ml"
+# 38264 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33301 "parser_cocci_menhir.ml"
+# 38270 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33313,59 +38282,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 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33333 "parser_cocci_menhir.ml"
+# 38297 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33338 "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
             
-# 533 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 33350 "parser_cocci_menhir.ml"
+# 38308 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33356 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 38314 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33363 "parser_cocci_menhir.ml"
+# 38321 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33369 "parser_cocci_menhir.ml"
+# 38327 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33381,60 +38339,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 : (
-# 87 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 33401 "parser_cocci_menhir.ml"
+# 38354 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33406 "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
             
-# 535 "parser_cocci_menhir.mly"
+# 609 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 33419 "parser_cocci_menhir.ml"
+# 38366 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33425 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 38372 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33432 "parser_cocci_menhir.ml"
+# 38379 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33438 "parser_cocci_menhir.ml"
+# 38385 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33454,76 +38401,308 @@ 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 : (
-# 81 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 33479 "parser_cocci_menhir.ml"
+# 38421 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 33484 "parser_cocci_menhir.ml"
+# 38426 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let r1 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33489 "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
             
-# 538 "parser_cocci_menhir.mly"
+# 612 "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*))) )
-# 33508 "parser_cocci_menhir.ml"
+# 38444 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 38450 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 38457 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 691 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 38463 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 38490 "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
+            
+# 619 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 38501 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 38507 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 38514 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 691 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 38520 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 38552 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 38557 "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
+            
+# 621 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 38573 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 38579 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 38586 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 691 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 38592 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 38619 "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
+            
+# 629 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 38630 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38636 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 38643 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 691 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 38649 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 38676 "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
+            
+# 631 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 38687 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33514 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38693 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33521 "parser_cocci_menhir.ml"
+# 38700 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33527 "parser_cocci_menhir.ml"
+# 38706 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33539,59 +38718,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 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33559 "parser_cocci_menhir.ml"
+# 38733 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33564 "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
             
-# 545 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 33576 "parser_cocci_menhir.ml"
+# 633 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 38744 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33582 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38750 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33589 "parser_cocci_menhir.ml"
+# 38757 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33595 "parser_cocci_menhir.ml"
+# 38763 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33607,74 +38775,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 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33632 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 33637 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33642 "parser_cocci_menhir.ml"
-        ) = Obj.magic r0 in
-        let _startpos = _startpos_r0_ in
+# 38790 "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
             
-# 547 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 33659 "parser_cocci_menhir.ml"
+# 635 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 38801 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 33665 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38807 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33672 "parser_cocci_menhir.ml"
+# 38814 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33678 "parser_cocci_menhir.ml"
+# 38820 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33699,9 +38841,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33705 "parser_cocci_menhir.ml"
+# 38847 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -33710,28 +38852,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 529 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 33716 "parser_cocci_menhir.ml"
+# 637 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 38858 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 33722 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38864 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33729 "parser_cocci_menhir.ml"
+# 38871 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33735 "parser_cocci_menhir.ml"
+# 38877 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33756,9 +38898,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33762 "parser_cocci_menhir.ml"
+# 38904 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let _startpos = _startpos_ty00_ in
         let _endpos = _endpos_m_ in
@@ -33767,28 +38909,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 531 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 33773 "parser_cocci_menhir.ml"
+# 639 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 38915 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 33779 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38921 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33786 "parser_cocci_menhir.ml"
+# 38928 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33792 "parser_cocci_menhir.ml"
+# 38934 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33804,48 +38946,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 : (
-# 71 "parser_cocci_menhir.mly"
+        let i00 : 'tv_ident = Obj.magic i00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 33819 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+# 38967 "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
             
-# 533 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 33830 "parser_cocci_menhir.ml"
+# 641 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 38980 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 33836 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 38986 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33843 "parser_cocci_menhir.ml"
+# 38993 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33849 "parser_cocci_menhir.ml"
+# 38999 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33861,49 +39011,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 = p00;
-            MenhirLib.EngineTypes.startp = _startpos_p00_;
-            MenhirLib.EngineTypes.endp = _endpos_p00_;
-            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 p00 : (
-# 87 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 33876 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let _startpos = _startpos_p00_ in
+        let r00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39041 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39047 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39052 "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 p0 = p00 in
+          let r0 = r00 in
+          let ids0 = ids00 in
+          let l0 = l00 in
+          let s0 = s00 in
           let ty =
-            let p = p0 in
+            let r = r0 in
+            let ids = ids0 in
+            let l = l0 in
+            let s = s0 in
+            let i =
+              
+# 39 "standard.mly"
+    ( None )
+# 39070 "parser_cocci_menhir.ml"
+              
+            in
             
-# 535 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 33888 "parser_cocci_menhir.ml"
+# 643 "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)) )
+# 39079 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 33894 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39085 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33901 "parser_cocci_menhir.ml"
+# 39092 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33907 "parser_cocci_menhir.ml"
+# 39098 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33919,69 +39110,99 @@ 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 = ids00;
+              MenhirLib.EngineTypes.startp = _startpos_ids00_;
+              MenhirLib.EngineTypes.endp = _endpos_ids00_;
               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.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 p00 : (
-# 81 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 33943 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
         let r00 : (
-# 69 "parser_cocci_menhir.mly"
-      (string)
-# 33948 "parser_cocci_menhir.ml"
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39145 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let _startpos = _startpos_r00_ in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39151 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_ident = Obj.magic x000 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39157 "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 p0 = p00 in
           let r0 = r00 in
+          let ids0 = ids00 in
+          let l0 = l00 in
+          let x00 = x000 in
+          let s0 = s00 in
           let ty =
-            let p = p0 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 )
+# 39178 "parser_cocci_menhir.ml"
+              
+            in
             
-# 538 "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*))) )
-# 33966 "parser_cocci_menhir.ml"
+# 643 "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)) )
+# 39187 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 33972 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39193 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 33979 "parser_cocci_menhir.ml"
+# 39200 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 33985 "parser_cocci_menhir.ml"
+# 39206 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -33997,48 +39218,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 = 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 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 34012 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let i00 : 'tv_type_ident = Obj.magic i00 in
+        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let _startpos = _startpos_s00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_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
             
-# 545 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 34023 "parser_cocci_menhir.ml"
+# 648 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
+# 39248 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 34029 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39254 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 34036 "parser_cocci_menhir.ml"
+# 39261 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34042 "parser_cocci_menhir.ml"
+# 39267 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34054,63 +39279,87 @@ 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 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 34074 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 34079 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let _startpos = _startpos_ty100_ in
+        let r00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39309 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39315 "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 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
+            let i =
+              
+# 39 "standard.mly"
+    ( None )
+# 39334 "parser_cocci_menhir.ml"
+              
+            in
             
-# 547 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 34095 "parser_cocci_menhir.ml"
+# 651 "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)) )
+# 39344 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 34101 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39350 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 34108 "parser_cocci_menhir.ml"
+# 39357 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34114 "parser_cocci_menhir.ml"
+# 39363 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34126,48 +39375,187 @@ 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 : (
-# 72 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 34141 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39410 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39416 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_type_ident = Obj.magic x000 in
+        let s00 : 'tv_struct_or_union = Obj.magic s00 in
+        let _startpos = _startpos_s00_ in
         let _endpos = _endpos_m_ in
         let _v : 'tv_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 )
+# 39439 "parser_cocci_menhir.ml"
+              
+            in
             
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 34152 "parser_cocci_menhir.ml"
+# 651 "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)) )
+# 39449 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 39455 "parser_cocci_menhir.ml"
+          
+        in
+        let cv =
+          
+# 39 "standard.mly"
+    ( None )
+# 39462 "parser_cocci_menhir.ml"
+          
+        in
+        
+# 691 "parser_cocci_menhir.mly"
+    ( P.pointerify (P.make_cv cv ty) m )
+# 39468 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39510 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 39516 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 39521 "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
+            
+# 657 "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)) )
+# 39540 "parser_cocci_menhir.ml"
+            
+          in
+          
+# 670 "parser_cocci_menhir.mly"
                         ( ty )
-# 34158 "parser_cocci_menhir.ml"
+# 39546 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 34165 "parser_cocci_menhir.ml"
+# 39553 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34171 "parser_cocci_menhir.ml"
+# 39559 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34184,47 +39572,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 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 34198 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 39586 "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
             
-# 557 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 34209 "parser_cocci_menhir.ml"
+# 661 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
+# 39597 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
+# 670 "parser_cocci_menhir.mly"
                         ( ty )
-# 34215 "parser_cocci_menhir.ml"
+# 39603 "parser_cocci_menhir.ml"
           
         in
         let cv =
           
 # 39 "standard.mly"
     ( None )
-# 34222 "parser_cocci_menhir.ml"
+# 39610 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34228 "parser_cocci_menhir.ml"
+# 39616 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34240,48 +39628,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 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34255 "parser_cocci_menhir.ml"
+# 39653 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let _startpos = _startpos_ty00_ in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39658 "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
             
-# 559 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 34266 "parser_cocci_menhir.ml"
+# 603 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
+# 39671 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34272 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 39677 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34279 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 39685 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34285 "parser_cocci_menhir.ml"
+# 39691 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34297,56 +39703,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 : (
-# 72 "parser_cocci_menhir.mly"
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34318 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+# 39728 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39733 "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
             
-# 561 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 34331 "parser_cocci_menhir.ml"
+# 605 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
+# 39746 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34337 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 39752 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34344 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 39760 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34350 "parser_cocci_menhir.ml"
+# 39766 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34362,52 +39778,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 : 'tv_struct_or_union = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39803 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39808 "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
             
-# 563 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 34392 "parser_cocci_menhir.ml"
+# 607 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
+# 39821 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34398 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 39827 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34405 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 39835 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34411 "parser_cocci_menhir.ml"
+# 39841 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34423,87 +39853,67 @@ 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.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.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 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 34453 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 34459 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : 'tv_struct_or_union = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let p00 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 39878 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39883 "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 s0 = s00 in
+          let p0 = p00 in
+          let r = r0 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 )
-# 34478 "parser_cocci_menhir.ml"
-              
-            in
+            let p = p0 in
             
-# 566 "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)) )
-# 34488 "parser_cocci_menhir.ml"
+# 609 "parser_cocci_menhir.mly"
+    ( let (nm,pure,clt) = p in
+      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
+# 39897 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34494 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 39903 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34501 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 39911 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34507 "parser_cocci_menhir.ml"
+# 39917 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34519,26 +39929,25 @@ 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.semv = x000;
-                  MenhirLib.EngineTypes.startp = _startpos_x000_;
-                  MenhirLib.EngineTypes.endp = _endpos_x000_;
+                  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 = 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;
                     };
                   };
@@ -34547,68 +39956,60 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
+        let p00 : (
+# 125 "parser_cocci_menhir.mly"
+       (string * Data.clt)
+# 39963 "parser_cocci_menhir.ml"
+        ) = Obj.magic p00 in
         let r00 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 34554 "parser_cocci_menhir.ml"
+# 112 "parser_cocci_menhir.mly"
+      (string)
+# 39968 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 34560 "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 r1 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 39973 "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 x00 = x000 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 x0 = x00 in
-            let s = s0 in
-            let i =
-              let x = x0 in
-              
-# 41 "standard.mly"
-    ( Some x )
-# 34583 "parser_cocci_menhir.ml"
-              
-            in
             
-# 566 "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)) )
-# 34593 "parser_cocci_menhir.ml"
+# 612 "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*))) )
+# 39993 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34599 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 39999 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34606 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 40007 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34612 "parser_cocci_menhir.ml"
+# 40013 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34624,82 +40025,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.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 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 34654 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
-        let d00 : 'tv_struct_decl_list = Obj.magic d00 in
-        let l00 : (
-# 124 "parser_cocci_menhir.mly"
-       (Data.clt)
-# 34660 "parser_cocci_menhir.ml"
-        ) = Obj.magic l00 in
-        let s00 : (
-# 87 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 34665 "parser_cocci_menhir.ml"
-        ) = Obj.magic s00 in
-        let _startpos = _startpos_s00_ in
+        let ty00 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40050 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty00 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40055 "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 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 s = s0 in
+            let ty = ty0 in
             
-# 572 "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)) )
-# 34684 "parser_cocci_menhir.ml"
+# 619 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
+# 40068 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34690 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40074 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34697 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 40082 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34703 "parser_cocci_menhir.ml"
+# 40088 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34715,48 +40100,81 @@ 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 = 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 p00 : (
-# 81 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 34730 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let _startpos = _startpos_p00_ in
+        let ty200 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40130 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty200 in
+        let ty100 : (
+# 114 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40135 "parser_cocci_menhir.ml"
+        ) = Obj.magic ty100 in
+        let r0 : (
+# 117 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 40140 "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
             
-# 576 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 34741 "parser_cocci_menhir.ml"
+# 621 "parser_cocci_menhir.mly"
+    ( Ast0.wrap
+       (Ast0.BaseType
+          (Ast.LongLongType,
+           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
+# 40158 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
-                        ( ty )
-# 34747 "parser_cocci_menhir.ml"
+# 666 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
+# 40164 "parser_cocci_menhir.ml"
           
         in
         let cv =
+          let x = x0 in
           
-# 39 "standard.mly"
-    ( None )
-# 34754 "parser_cocci_menhir.ml"
+# 41 "standard.mly"
+    ( Some x )
+# 40172 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34760 "parser_cocci_menhir.ml"
+# 40178 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34791,14 +40209,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34797 "parser_cocci_menhir.ml"
+# 40215 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34802 "parser_cocci_menhir.ml"
+# 40220 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34809,15 +40227,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 529 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 34815 "parser_cocci_menhir.ml"
+# 40233 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34821 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40239 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34825,13 +40243,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34829 "parser_cocci_menhir.ml"
+# 40247 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34835 "parser_cocci_menhir.ml"
+# 40253 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34866,14 +40284,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34872 "parser_cocci_menhir.ml"
+# 40290 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34877 "parser_cocci_menhir.ml"
+# 40295 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34884,15 +40302,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 531 "parser_cocci_menhir.mly"
+# 605 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 34890 "parser_cocci_menhir.ml"
+# 40308 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34896 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40314 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34900,13 +40318,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34904 "parser_cocci_menhir.ml"
+# 40322 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34910 "parser_cocci_menhir.ml"
+# 40328 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -34941,14 +40359,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34947 "parser_cocci_menhir.ml"
+# 40365 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 34952 "parser_cocci_menhir.ml"
+# 40370 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -34959,15 +40377,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 533 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 34965 "parser_cocci_menhir.ml"
+# 40383 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 34971 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40389 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -34975,13 +40393,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 34979 "parser_cocci_menhir.ml"
+# 40397 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 34985 "parser_cocci_menhir.ml"
+# 40403 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35016,14 +40434,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 87 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 35022 "parser_cocci_menhir.ml"
+# 40440 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35027 "parser_cocci_menhir.ml"
+# 40445 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35034,16 +40452,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 535 "parser_cocci_menhir.mly"
+# 609 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 35041 "parser_cocci_menhir.ml"
+# 40459 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35047 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40465 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35051,13 +40469,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35055 "parser_cocci_menhir.ml"
+# 40473 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35061 "parser_cocci_menhir.ml"
+# 40479 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35101,19 +40519,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 81 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 35107 "parser_cocci_menhir.ml"
+# 40525 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 35112 "parser_cocci_menhir.ml"
+# 40530 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let r1 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35117 "parser_cocci_menhir.ml"
+# 40535 "parser_cocci_menhir.ml"
         ) = Obj.magic r1 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35126,20 +40544,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let p = p0 in
             let r = r0 in
             
-# 538 "parser_cocci_menhir.mly"
+# 612 "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*))) )
-# 35137 "parser_cocci_menhir.ml"
+# 40555 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35143 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40561 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35147,13 +40565,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35151 "parser_cocci_menhir.ml"
+# 40569 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35157 "parser_cocci_menhir.ml"
+# 40575 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35188,14 +40606,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35194 "parser_cocci_menhir.ml"
+# 40612 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35199 "parser_cocci_menhir.ml"
+# 40617 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35206,15 +40624,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 545 "parser_cocci_menhir.mly"
+# 619 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 35212 "parser_cocci_menhir.ml"
+# 40630 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35218 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40636 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35222,13 +40640,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35226 "parser_cocci_menhir.ml"
+# 40644 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35232 "parser_cocci_menhir.ml"
+# 40650 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35268,19 +40686,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35274 "parser_cocci_menhir.ml"
+# 40692 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35279 "parser_cocci_menhir.ml"
+# 40697 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
         let r0 : (
-# 73 "parser_cocci_menhir.mly"
+# 117 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35284 "parser_cocci_menhir.ml"
+# 40702 "parser_cocci_menhir.ml"
         ) = Obj.magic r0 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35293,18 +40711,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let ty2 = ty20 in
             let ty1 = ty10 in
             
-# 547 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 35302 "parser_cocci_menhir.ml"
+# 40720 "parser_cocci_menhir.ml"
             
           in
           
-# 581 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) )
-# 35308 "parser_cocci_menhir.ml"
+# 668 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
+# 40726 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35312,13 +40730,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35316 "parser_cocci_menhir.ml"
+# 40734 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35322 "parser_cocci_menhir.ml"
+# 40740 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35338,48 +40756,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35359 "parser_cocci_menhir.ml"
+# 40772 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35364 "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
             
-# 529 "parser_cocci_menhir.mly"
+# 603 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 35377 "parser_cocci_menhir.ml"
+# 40784 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35383 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 40790 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35387,13 +40794,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35391 "parser_cocci_menhir.ml"
+# 40798 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35397 "parser_cocci_menhir.ml"
+# 40804 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35413,48 +40820,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35434 "parser_cocci_menhir.ml"
+# 40836 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35439 "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"
+# 605 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 35452 "parser_cocci_menhir.ml"
+# 40848 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35458 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 40854 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35462,13 +40858,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35466 "parser_cocci_menhir.ml"
+# 40862 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35472 "parser_cocci_menhir.ml"
+# 40868 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35488,48 +40884,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35509 "parser_cocci_menhir.ml"
+# 40900 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35514 "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
             
-# 533 "parser_cocci_menhir.mly"
+# 607 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 35527 "parser_cocci_menhir.ml"
+# 40912 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35533 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 40918 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35537,13 +40922,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35541 "parser_cocci_menhir.ml"
+# 40926 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35547 "parser_cocci_menhir.ml"
+# 40932 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35563,49 +40948,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 : (
-# 87 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 35584 "parser_cocci_menhir.ml"
+# 40964 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35589 "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
             
-# 535 "parser_cocci_menhir.mly"
+# 609 "parser_cocci_menhir.mly"
     ( let (nm,pure,clt) = p in
       Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 35603 "parser_cocci_menhir.ml"
+# 40977 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35609 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 40983 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35613,13 +40987,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35617 "parser_cocci_menhir.ml"
+# 40991 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35623 "parser_cocci_menhir.ml"
+# 40997 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35639,23 +41013,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;
                   };
                 };
               };
@@ -35663,45 +41032,39 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 81 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 35669 "parser_cocci_menhir.ml"
+# 41038 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let r00 : (
-# 69 "parser_cocci_menhir.mly"
+# 112 "parser_cocci_menhir.mly"
       (string)
-# 35674 "parser_cocci_menhir.ml"
+# 41043 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
-        let r1 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35679 "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
             
-# 538 "parser_cocci_menhir.mly"
+# 612 "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*))) )
-# 35699 "parser_cocci_menhir.ml"
+# 41062 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35705 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41068 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35709,13 +41072,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35713 "parser_cocci_menhir.ml"
+# 41076 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35719 "parser_cocci_menhir.ml"
+# 41082 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35735,48 +41098,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.startp = _startpos_ty00_;
             MenhirLib.EngineTypes.endp = _endpos_ty00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = r0;
-              MenhirLib.EngineTypes.startp = _startpos_r0_;
-              MenhirLib.EngineTypes.endp = _endpos_r0_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
+              MenhirLib.EngineTypes.state = _menhir_s;
+              MenhirLib.EngineTypes.semv = x0;
+              MenhirLib.EngineTypes.startp = _startpos_x0_;
+              MenhirLib.EngineTypes.endp = _endpos_x0_;
+              MenhirLib.EngineTypes.next = _menhir_stack;
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35756 "parser_cocci_menhir.ml"
+# 41114 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35761 "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"
+# 619 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 35774 "parser_cocci_menhir.ml"
+# 41126 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35780 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41132 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35784,13 +41136,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35788 "parser_cocci_menhir.ml"
+# 41140 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35794 "parser_cocci_menhir.ml"
+# 41146 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35814,59 +41166,48 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               MenhirLib.EngineTypes.startp = _startpos_ty100_;
               MenhirLib.EngineTypes.endp = _endpos_ty100_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = r0;
-                MenhirLib.EngineTypes.startp = _startpos_r0_;
-                MenhirLib.EngineTypes.endp = _endpos_r0_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = x0;
-                  MenhirLib.EngineTypes.startp = _startpos_x0_;
-                  MenhirLib.EngineTypes.endp = _endpos_x0_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
+                MenhirLib.EngineTypes.state = _menhir_s;
+                MenhirLib.EngineTypes.semv = x0;
+                MenhirLib.EngineTypes.startp = _startpos_x0_;
+                MenhirLib.EngineTypes.endp = _endpos_x0_;
+                MenhirLib.EngineTypes.next = _menhir_stack;
                 };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty200 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35836 "parser_cocci_menhir.ml"
+# 41183 "parser_cocci_menhir.ml"
         ) = Obj.magic ty200 in
         let ty100 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35841 "parser_cocci_menhir.ml"
+# 41188 "parser_cocci_menhir.ml"
         ) = Obj.magic ty100 in
-        let r0 : (
-# 73 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 35846 "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
             
-# 547 "parser_cocci_menhir.mly"
+# 621 "parser_cocci_menhir.mly"
     ( Ast0.wrap
        (Ast0.BaseType
           (Ast.LongLongType,
            [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 35864 "parser_cocci_menhir.ml"
+# 41205 "parser_cocci_menhir.ml"
             
           in
           
-# 583 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) )
-# 35870 "parser_cocci_menhir.ml"
+# 669 "parser_cocci_menhir.mly"
+                    ( ty )
+# 41211 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35874,13 +41215,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35878 "parser_cocci_menhir.ml"
+# 41219 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35884 "parser_cocci_menhir.ml"
+# 41225 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35910,9 +41251,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35916 "parser_cocci_menhir.ml"
+# 41257 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35922,15 +41263,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 529 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) )
-# 35928 "parser_cocci_menhir.ml"
+# 629 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
+# 41269 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 35934 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 41275 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -35938,13 +41279,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 35942 "parser_cocci_menhir.ml"
+# 41283 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 35948 "parser_cocci_menhir.ml"
+# 41289 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -35974,9 +41315,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 35980 "parser_cocci_menhir.ml"
+# 41321 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -35986,15 +41327,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 531 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) )
-# 35992 "parser_cocci_menhir.ml"
+# 631 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
+# 41333 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 35998 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 41339 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36002,13 +41343,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36006 "parser_cocci_menhir.ml"
+# 41347 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36012 "parser_cocci_menhir.ml"
+# 41353 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36038,9 +41379,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 114 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36044 "parser_cocci_menhir.ml"
+# 41385 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36050,15 +41391,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 533 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) )
-# 36056 "parser_cocci_menhir.ml"
+# 633 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
+# 41397 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 36062 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 41403 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36066,13 +41407,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36070 "parser_cocci_menhir.ml"
+# 41411 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36076 "parser_cocci_menhir.ml"
+# 41417 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36088,9 +41429,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;
@@ -36101,114 +41442,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 87 "parser_cocci_menhir.mly"
-       (Parse_aux.info)
-# 36108 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
-        let _endpos = _endpos_m_ in
-        let _v : 'tv_typedef_ctype = let ty =
-          let p0 = p00 in
-          let ty =
-            let p = p0 in
-            
-# 535 "parser_cocci_menhir.mly"
-    ( let (nm,pure,clt) = p in
-      Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 36121 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 36127 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          let x = x0 in
-          
-# 41 "standard.mly"
-    ( Some x )
-# 36135 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 602 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 36141 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = p00;
-            MenhirLib.EngineTypes.startp = _startpos_p00_;
-            MenhirLib.EngineTypes.endp = _endpos_p00_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.startp = _startpos__3_;
-              MenhirLib.EngineTypes.endp = _endpos__3_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.semv = r00;
-                MenhirLib.EngineTypes.startp = _startpos_r00_;
-                MenhirLib.EngineTypes.endp = _endpos_r00_;
-                MenhirLib.EngineTypes.next = {
-                  MenhirLib.EngineTypes.state = _menhir_s;
-                  MenhirLib.EngineTypes.semv = x0;
-                  MenhirLib.EngineTypes.startp = _startpos_x0_;
-                  MenhirLib.EngineTypes.endp = _endpos_x0_;
-                  MenhirLib.EngineTypes.next = _menhir_stack;
-                  };
-                };
-              };
-            };
-          } = _menhir_stack in
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let p00 : (
-# 81 "parser_cocci_menhir.mly"
-       (string * Data.clt)
-# 36182 "parser_cocci_menhir.ml"
-        ) = Obj.magic p00 in
-        let r00 : (
-# 69 "parser_cocci_menhir.mly"
-      (string)
-# 36187 "parser_cocci_menhir.ml"
-        ) = Obj.magic r00 in
+        let ty00 : (
+# 115 "parser_cocci_menhir.mly"
+      (Data.clt)
+# 41449 "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
             
-# 538 "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*))) )
-# 36206 "parser_cocci_menhir.ml"
+# 635 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SizeType,[P.clt2mcode "size_t" ty])) )
+# 41461 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 36212 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 41467 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36216,13 +41471,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36220 "parser_cocci_menhir.ml"
+# 41475 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36226 "parser_cocci_menhir.ml"
+# 41481 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36252,9 +41507,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 71 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36258 "parser_cocci_menhir.ml"
+# 41513 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36264,94 +41519,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 545 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) )
-# 36270 "parser_cocci_menhir.ml"
-            
-          in
-          
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 36276 "parser_cocci_menhir.ml"
-          
-        in
-        let cv =
-          let x = x0 in
-          
-# 41 "standard.mly"
-    ( Some x )
-# 36284 "parser_cocci_menhir.ml"
-          
-        in
-        
-# 602 "parser_cocci_menhir.mly"
-    ( P.pointerify (P.make_cv cv ty) m )
-# 36290 "parser_cocci_menhir.ml"
-         in
-        _menhir_env.MenhirLib.EngineTypes.stack <- {
-          MenhirLib.EngineTypes.state = _menhir_s;
-          MenhirLib.EngineTypes.semv = Obj.repr _v;
-          MenhirLib.EngineTypes.startp = _startpos;
-          MenhirLib.EngineTypes.endp = _endpos;
-          MenhirLib.EngineTypes.next = _menhir_stack;
-          });
-      (fun _menhir_env ->
-        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
-        let {
-          MenhirLib.EngineTypes.semv = m;
-          MenhirLib.EngineTypes.startp = _startpos_m_;
-          MenhirLib.EngineTypes.endp = _endpos_m_;
-          MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = ty200;
-            MenhirLib.EngineTypes.startp = _startpos_ty200_;
-            MenhirLib.EngineTypes.endp = _endpos_ty200_;
-            MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = ty100;
-              MenhirLib.EngineTypes.startp = _startpos_ty100_;
-              MenhirLib.EngineTypes.endp = _endpos_ty100_;
-              MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
-                };
-              };
-            };
-          } = _menhir_stack in
-        let m : 'tv_list_TMul_ = Obj.magic m in
-        let ty200 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 36327 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty200 in
-        let ty100 : (
-# 71 "parser_cocci_menhir.mly"
-      (Data.clt)
-# 36332 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty100 in
-        let x0 : 'tv_const_vol = Obj.magic x0 in
-        let _startpos = _startpos_x0_ in
-        let _endpos = _endpos_m_ in
-        let _v : 'tv_typedef_ctype = let ty =
-          let ty20 = ty200 in
-          let ty10 = ty100 in
-          let ty =
-            let ty2 = ty20 in
-            let ty1 = ty10 in
-            
-# 547 "parser_cocci_menhir.mly"
-    ( Ast0.wrap
-       (Ast0.BaseType
-          (Ast.LongLongType,
-           [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) )
-# 36349 "parser_cocci_menhir.ml"
+# 637 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.SSizeType,[P.clt2mcode "ssize_t" ty])) )
+# 41525 "parser_cocci_menhir.ml"
             
           in
           
-# 584 "parser_cocci_menhir.mly"
-                    ( ty )
-# 36355 "parser_cocci_menhir.ml"
+# 670 "parser_cocci_menhir.mly"
+                        ( ty )
+# 41531 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36359,13 +41535,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36363 "parser_cocci_menhir.ml"
+# 41539 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36369 "parser_cocci_menhir.ml"
+# 41545 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36395,9 +41571,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let ty00 : (
-# 72 "parser_cocci_menhir.mly"
+# 115 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36401 "parser_cocci_menhir.ml"
+# 41577 "parser_cocci_menhir.ml"
         ) = Obj.magic ty00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36407,15 +41583,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let ty = ty0 in
             
-# 555 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) )
-# 36413 "parser_cocci_menhir.ml"
+# 639 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.BaseType(Ast.PtrDiffType,[P.clt2mcode "ptrdiff_t" ty])) )
+# 41589 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
+# 670 "parser_cocci_menhir.mly"
                         ( ty )
-# 36419 "parser_cocci_menhir.ml"
+# 41595 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36423,13 +41599,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36427 "parser_cocci_menhir.ml"
+# 41603 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36433 "parser_cocci_menhir.ml"
+# 41609 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36445,41 +41621,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 : (
-# 71 "parser_cocci_menhir.mly"
+        let i00 : 'tv_ident = Obj.magic i00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36465 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
+# 41647 "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
             
-# 557 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) )
-# 36477 "parser_cocci_menhir.ml"
+# 641 "parser_cocci_menhir.mly"
+    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, Some i)) )
+# 41661 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
+# 670 "parser_cocci_menhir.mly"
                         ( ty )
-# 36483 "parser_cocci_menhir.ml"
+# 41667 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36487,13 +41671,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36491 "parser_cocci_menhir.ml"
+# 41675 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36497 "parser_cocci_menhir.ml"
+# 41681 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36509,41 +41693,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 : (
-# 71 "parser_cocci_menhir.mly"
+        let r00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 41728 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 41734 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let s00 : (
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36529 "parser_cocci_menhir.ml"
-        ) = Obj.magic ty00 in
+# 41739 "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 )
+# 41758 "parser_cocci_menhir.ml"
+              
+            in
             
-# 559 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) )
-# 36541 "parser_cocci_menhir.ml"
+# 643 "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)) )
+# 41767 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
+# 670 "parser_cocci_menhir.mly"
                         ( ty )
-# 36547 "parser_cocci_menhir.ml"
+# 41773 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36551,13 +41777,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36555 "parser_cocci_menhir.ml"
+# 41781 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36561 "parser_cocci_menhir.ml"
+# 41787 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36573,49 +41799,92 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.startp = _startpos_m_;
           MenhirLib.EngineTypes.endp = _endpos_m_;
           MenhirLib.EngineTypes.next = {
-            MenhirLib.EngineTypes.semv = i00;
-            MenhirLib.EngineTypes.startp = _startpos_i00_;
-            MenhirLib.EngineTypes.endp = _endpos_i00_;
+            MenhirLib.EngineTypes.semv = r00;
+            MenhirLib.EngineTypes.startp = _startpos_r00_;
+            MenhirLib.EngineTypes.endp = _endpos_r00_;
             MenhirLib.EngineTypes.next = {
-              MenhirLib.EngineTypes.semv = s00;
-              MenhirLib.EngineTypes.startp = _startpos_s00_;
-              MenhirLib.EngineTypes.endp = _endpos_s00_;
+              MenhirLib.EngineTypes.semv = ids00;
+              MenhirLib.EngineTypes.startp = _startpos_ids00_;
+              MenhirLib.EngineTypes.endp = _endpos_ids00_;
               MenhirLib.EngineTypes.next = {
-                MenhirLib.EngineTypes.state = _menhir_s;
-                MenhirLib.EngineTypes.semv = x0;
-                MenhirLib.EngineTypes.startp = _startpos_x0_;
-                MenhirLib.EngineTypes.endp = _endpos_x0_;
-                MenhirLib.EngineTypes.next = _menhir_stack;
+                MenhirLib.EngineTypes.semv = l00;
+                MenhirLib.EngineTypes.startp = _startpos_l00_;
+                MenhirLib.EngineTypes.endp = _endpos_l00_;
+                MenhirLib.EngineTypes.next = {
+                  MenhirLib.EngineTypes.semv = x000;
+                  MenhirLib.EngineTypes.startp = _startpos_x000_;
+                  MenhirLib.EngineTypes.endp = _endpos_x000_;
+                  MenhirLib.EngineTypes.next = {
+                    MenhirLib.EngineTypes.semv = s00;
+                    MenhirLib.EngineTypes.startp = _startpos_s00_;
+                    MenhirLib.EngineTypes.endp = _endpos_s00_;
+                    MenhirLib.EngineTypes.next = {
+                      MenhirLib.EngineTypes.state = _menhir_s;
+                      MenhirLib.EngineTypes.semv = x0;
+                      MenhirLib.EngineTypes.startp = _startpos_x0_;
+                      MenhirLib.EngineTypes.endp = _endpos_x0_;
+                      MenhirLib.EngineTypes.next = _menhir_stack;
+                      };
+                    };
+                  };
                 };
               };
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let i00 : 'tv_ident = Obj.magic i00 in
+        let r00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 41839 "parser_cocci_menhir.ml"
+        ) = Obj.magic r00 in
+        let ids00 : 'tv_enum_decl_list = Obj.magic ids00 in
+        let l00 : (
+# 168 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 41845 "parser_cocci_menhir.ml"
+        ) = Obj.magic l00 in
+        let x000 : 'tv_ident = Obj.magic x000 in
         let s00 : (
-# 72 "parser_cocci_menhir.mly"
+# 116 "parser_cocci_menhir.mly"
       (Data.clt)
-# 36599 "parser_cocci_menhir.ml"
+# 41851 "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 )
+# 41873 "parser_cocci_menhir.ml"
+              
+            in
             
-# 561 "parser_cocci_menhir.mly"
-    ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) )
-# 36613 "parser_cocci_menhir.ml"
+# 643 "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)) )
+# 41882 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
+# 670 "parser_cocci_menhir.mly"
                         ( ty )
-# 36619 "parser_cocci_menhir.ml"
+# 41888 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36623,13 +41892,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36627 "parser_cocci_menhir.ml"
+# 41896 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36633 "parser_cocci_menhir.ml"
+# 41902 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36663,7 +41932,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
-        let i00 : 'tv_ident = Obj.magic i00 in
+        let i00 : 'tv_type_ident = Obj.magic i00 in
         let s00 : 'tv_struct_or_union = Obj.magic s00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36675,15 +41944,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let i = i0 in
             let s = s0 in
             
-# 563 "parser_cocci_menhir.mly"
+# 648 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) )
-# 36681 "parser_cocci_menhir.ml"
+# 41950 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
+# 670 "parser_cocci_menhir.mly"
                         ( ty )
-# 36687 "parser_cocci_menhir.ml"
+# 41956 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36691,13 +41960,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36695 "parser_cocci_menhir.ml"
+# 41964 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36701 "parser_cocci_menhir.ml"
+# 41970 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36742,15 +42011,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let r00 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36748 "parser_cocci_menhir.ml"
+# 42017 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let d00 : 'tv_struct_decl_list = Obj.magic d00 in
         let l00 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36754 "parser_cocci_menhir.ml"
+# 42023 "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
@@ -36770,23 +42039,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               
 # 39 "standard.mly"
     ( None )
-# 36774 "parser_cocci_menhir.ml"
+# 42043 "parser_cocci_menhir.ml"
               
             in
             
-# 566 "parser_cocci_menhir.mly"
+# 651 "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)) )
-# 36784 "parser_cocci_menhir.ml"
+# 42053 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
+# 670 "parser_cocci_menhir.mly"
                         ( ty )
-# 36790 "parser_cocci_menhir.ml"
+# 42059 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36794,13 +42063,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36798 "parser_cocci_menhir.ml"
+# 42067 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36804 "parser_cocci_menhir.ml"
+# 42073 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36850,17 +42119,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let r00 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36856 "parser_cocci_menhir.ml"
+# 42125 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let d00 : 'tv_struct_decl_list = Obj.magic d00 in
         let l00 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36862 "parser_cocci_menhir.ml"
+# 42131 "parser_cocci_menhir.ml"
         ) = Obj.magic l00 in
-        let x000 : 'tv_ident = Obj.magic x000 in
+        let x000 : 'tv_type_ident = Obj.magic x000 in
         let s00 : 'tv_struct_or_union = Obj.magic s00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36882,23 +42151,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
               
 # 41 "standard.mly"
     ( Some x )
-# 36886 "parser_cocci_menhir.ml"
+# 42155 "parser_cocci_menhir.ml"
               
             in
             
-# 566 "parser_cocci_menhir.mly"
+# 651 "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)) )
-# 36896 "parser_cocci_menhir.ml"
+# 42165 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
+# 670 "parser_cocci_menhir.mly"
                         ( ty )
-# 36902 "parser_cocci_menhir.ml"
+# 42171 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -36906,13 +42175,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 36910 "parser_cocci_menhir.ml"
+# 42179 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 36916 "parser_cocci_menhir.ml"
+# 42185 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -36957,20 +42226,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let r00 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36963 "parser_cocci_menhir.ml"
+# 42232 "parser_cocci_menhir.ml"
         ) = Obj.magic r00 in
         let d00 : 'tv_struct_decl_list = Obj.magic d00 in
         let l00 : (
-# 124 "parser_cocci_menhir.mly"
+# 168 "parser_cocci_menhir.mly"
        (Data.clt)
-# 36969 "parser_cocci_menhir.ml"
+# 42238 "parser_cocci_menhir.ml"
         ) = Obj.magic l00 in
         let s00 : (
-# 87 "parser_cocci_menhir.mly"
+# 131 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 36974 "parser_cocci_menhir.ml"
+# 42243 "parser_cocci_menhir.ml"
         ) = Obj.magic s00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -36986,17 +42255,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             let l = l0 in
             let s = s0 in
             
-# 572 "parser_cocci_menhir.mly"
+# 657 "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)) )
-# 36994 "parser_cocci_menhir.ml"
+# 42263 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
+# 670 "parser_cocci_menhir.mly"
                         ( ty )
-# 37000 "parser_cocci_menhir.ml"
+# 42269 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -37004,13 +42273,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 37008 "parser_cocci_menhir.ml"
+# 42277 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 37014 "parser_cocci_menhir.ml"
+# 42283 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37040,9 +42309,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           } = _menhir_stack in
         let m : 'tv_list_TMul_ = Obj.magic m in
         let p00 : (
-# 81 "parser_cocci_menhir.mly"
+# 125 "parser_cocci_menhir.mly"
        (string * Data.clt)
-# 37046 "parser_cocci_menhir.ml"
+# 42315 "parser_cocci_menhir.ml"
         ) = Obj.magic p00 in
         let x0 : 'tv_const_vol = Obj.magic x0 in
         let _startpos = _startpos_x0_ in
@@ -37052,15 +42321,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           let ty =
             let p = p0 in
             
-# 576 "parser_cocci_menhir.mly"
+# 661 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) )
-# 37058 "parser_cocci_menhir.ml"
+# 42327 "parser_cocci_menhir.ml"
             
           in
           
-# 585 "parser_cocci_menhir.mly"
+# 670 "parser_cocci_menhir.mly"
                         ( ty )
-# 37064 "parser_cocci_menhir.ml"
+# 42333 "parser_cocci_menhir.ml"
           
         in
         let cv =
@@ -37068,13 +42337,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           
 # 41 "standard.mly"
     ( Some x )
-# 37072 "parser_cocci_menhir.ml"
+# 42341 "parser_cocci_menhir.ml"
           
         in
         
-# 602 "parser_cocci_menhir.mly"
+# 691 "parser_cocci_menhir.mly"
     ( P.pointerify (P.make_cv cv ty) m )
-# 37078 "parser_cocci_menhir.ml"
+# 42347 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37103,24 +42372,52 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37109 "parser_cocci_menhir.ml"
+# 42378 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
-        let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in
+        let t : 'tv_midzero_list_mctype_mctype_ = Obj.magic t in
         let lp : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37115 "parser_cocci_menhir.ml"
+# 42384 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let _startpos = _startpos_lp_ in
         let _endpos = _endpos_rp_ in
         let _v : 'tv_typedef_ctype = 
-# 604 "parser_cocci_menhir.mly"
+# 693 "parser_cocci_menhir.mly"
     ( let (mids,code) = t in
       Ast0.wrap
        (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) )
-# 37124 "parser_cocci_menhir.ml"
+# 42393 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 132 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 42414 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_typedef_ctype = 
+# 696 "parser_cocci_menhir.mly"
+        ( tmeta_to_type _1 )
+# 42421 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37142,9 +42439,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_typedef_ident = 
-# 1710 "parser_cocci_menhir.mly"
+# 1901 "parser_cocci_menhir.mly"
          ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) )
-# 37148 "parser_cocci_menhir.ml"
+# 42445 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37163,17 +42460,45 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 87 "parser_cocci_menhir.mly"
+# 132 "parser_cocci_menhir.mly"
        (Parse_aux.info)
-# 37169 "parser_cocci_menhir.ml"
+# 42466 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_typedef_ident = 
-# 1712 "parser_cocci_menhir.mly"
+# 1902 "parser_cocci_menhir.mly"
+             ( tmeta_to_type _1 )
+# 42473 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = _1;
+          MenhirLib.EngineTypes.startp = _startpos__1_;
+          MenhirLib.EngineTypes.endp = _endpos__1_;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          } = _menhir_stack in
+        let _1 : (
+# 131 "parser_cocci_menhir.mly"
+       (Parse_aux.info)
+# 42494 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_typedef_ident = 
+# 1904 "parser_cocci_menhir.mly"
          ( let (nm,pure,clt) = _1 in
         Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) )
-# 37177 "parser_cocci_menhir.ml"
+# 42502 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37195,9 +42520,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_ = 
-# 1348 "parser_cocci_menhir.mly"
+# 1496 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 37201 "parser_cocci_menhir.ml"
+# 42526 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37220,18 +42545,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 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37228 "parser_cocci_menhir.ml"
+# 42553 "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_ = 
-# 1350 "parser_cocci_menhir.mly"
+# 1498 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 37235 "parser_cocci_menhir.ml"
+# 42560 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37254,18 +42579,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 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37262 "parser_cocci_menhir.ml"
+# 42587 "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_ = 
-# 1352 "parser_cocci_menhir.mly"
+# 1500 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 37269 "parser_cocci_menhir.ml"
+# 42594 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37293,9 +42618,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_ = 
-# 1354 "parser_cocci_menhir.mly"
+# 1502 "parser_cocci_menhir.mly"
       ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37299 "parser_cocci_menhir.ml"
+# 42624 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37318,19 +42643,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 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37326 "parser_cocci_menhir.ml"
+# 42651 "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_ = 
-# 1356 "parser_cocci_menhir.mly"
+# 1504 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37334 "parser_cocci_menhir.ml"
+# 42659 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37353,18 +42678,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 : (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37361 "parser_cocci_menhir.ml"
+# 42686 "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_ = 
-# 1359 "parser_cocci_menhir.mly"
+# 1507 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 37368 "parser_cocci_menhir.ml"
+# 42693 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37398,29 +42723,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37404 "parser_cocci_menhir.ml"
+# 42729 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let t : 'tv_ctype = Obj.magic t in
         let lp : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37410 "parser_cocci_menhir.ml"
+# 42735 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let s : (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37415 "parser_cocci_menhir.ml"
+# 42740 "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_ = 
-# 1361 "parser_cocci_menhir.mly"
+# 1509 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                    P.clt2mcode "(" lp,t,
                                    P.clt2mcode ")" rp)) )
-# 37424 "parser_cocci_menhir.ml"
+# 42749 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37442,9 +42767,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_expr_eexpr_invalid_ = 
-# 1348 "parser_cocci_menhir.mly"
+# 1496 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 37448 "parser_cocci_menhir.ml"
+# 42773 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37467,18 +42792,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 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37475 "parser_cocci_menhir.ml"
+# 42800 "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_ = 
-# 1350 "parser_cocci_menhir.mly"
+# 1498 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 37482 "parser_cocci_menhir.ml"
+# 42807 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37501,18 +42826,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 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37509 "parser_cocci_menhir.ml"
+# 42834 "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_ = 
-# 1352 "parser_cocci_menhir.mly"
+# 1500 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 37516 "parser_cocci_menhir.ml"
+# 42841 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37540,9 +42865,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_invalid_ = 
-# 1354 "parser_cocci_menhir.mly"
+# 1502 "parser_cocci_menhir.mly"
       ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37546 "parser_cocci_menhir.ml"
+# 42871 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37565,19 +42890,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 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37573 "parser_cocci_menhir.ml"
+# 42898 "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_ = 
-# 1356 "parser_cocci_menhir.mly"
+# 1504 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37581 "parser_cocci_menhir.ml"
+# 42906 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37600,18 +42925,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 : (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37608 "parser_cocci_menhir.ml"
+# 42933 "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_ = 
-# 1359 "parser_cocci_menhir.mly"
+# 1507 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 37615 "parser_cocci_menhir.ml"
+# 42940 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37645,29 +42970,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37651 "parser_cocci_menhir.ml"
+# 42976 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let t : 'tv_ctype = Obj.magic t in
         let lp : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37657 "parser_cocci_menhir.ml"
+# 42982 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let s : (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37662 "parser_cocci_menhir.ml"
+# 42987 "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_ = 
-# 1361 "parser_cocci_menhir.mly"
+# 1509 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                    P.clt2mcode "(" lp,t,
                                    P.clt2mcode ")" rp)) )
-# 37671 "parser_cocci_menhir.ml"
+# 42996 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37689,9 +43014,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_expr_eexpr_nest_expressions_ = 
-# 1348 "parser_cocci_menhir.mly"
+# 1496 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 37695 "parser_cocci_menhir.ml"
+# 43020 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37714,18 +43039,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 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37722 "parser_cocci_menhir.ml"
+# 43047 "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_ = 
-# 1350 "parser_cocci_menhir.mly"
+# 1498 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 37729 "parser_cocci_menhir.ml"
+# 43054 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37748,18 +43073,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 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37756 "parser_cocci_menhir.ml"
+# 43081 "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_ = 
-# 1352 "parser_cocci_menhir.mly"
+# 1500 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 37763 "parser_cocci_menhir.ml"
+# 43088 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37787,9 +43112,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_eexpr_nest_expressions_ = 
-# 1354 "parser_cocci_menhir.mly"
+# 1502 "parser_cocci_menhir.mly"
       ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37793 "parser_cocci_menhir.ml"
+# 43118 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37812,19 +43137,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             MenhirLib.EngineTypes.next = _menhir_stack;
             };
           } = _menhir_stack in
-        let _2 : 'tv_unary_expr_eexpr_nest_expressions_ = Obj.magic _2 in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
         let _1 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37820 "parser_cocci_menhir.ml"
+# 43145 "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_ = 
-# 1356 "parser_cocci_menhir.mly"
+# 1504 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 37828 "parser_cocci_menhir.ml"
+# 43153 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37847,18 +43172,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 : (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37855 "parser_cocci_menhir.ml"
+# 43180 "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_ = 
-# 1359 "parser_cocci_menhir.mly"
+# 1507 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 37862 "parser_cocci_menhir.ml"
+# 43187 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37892,29 +43217,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37898 "parser_cocci_menhir.ml"
+# 43223 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let t : 'tv_ctype = Obj.magic t in
         let lp : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37904 "parser_cocci_menhir.ml"
+# 43229 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let s : (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37909 "parser_cocci_menhir.ml"
+# 43234 "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_ = 
-# 1361 "parser_cocci_menhir.mly"
+# 1509 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                    P.clt2mcode "(" lp,t,
                                    P.clt2mcode ")" rp)) )
-# 37918 "parser_cocci_menhir.ml"
+# 43243 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37936,9 +43261,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_expr_expr_invalid_ = 
-# 1348 "parser_cocci_menhir.mly"
+# 1496 "parser_cocci_menhir.mly"
                                          ( _1 )
-# 37942 "parser_cocci_menhir.ml"
+# 43267 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37961,18 +43286,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 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 37969 "parser_cocci_menhir.ml"
+# 43294 "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_ = 
-# 1350 "parser_cocci_menhir.mly"
+# 1498 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
-# 37976 "parser_cocci_menhir.ml"
+# 43301 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -37995,18 +43320,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 : (
-# 108 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38003 "parser_cocci_menhir.ml"
+# 43328 "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_ = 
-# 1352 "parser_cocci_menhir.mly"
+# 1500 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
-# 38010 "parser_cocci_menhir.ml"
+# 43335 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38034,9 +43359,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_unary_expr_expr_invalid_ = 
-# 1354 "parser_cocci_menhir.mly"
+# 1502 "parser_cocci_menhir.mly"
       ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 38040 "parser_cocci_menhir.ml"
+# 43365 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38059,19 +43384,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 : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38067 "parser_cocci_menhir.ml"
+# 43392 "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_ = 
-# 1356 "parser_cocci_menhir.mly"
+# 1504 "parser_cocci_menhir.mly"
       ( let mcode = P.clt2mcode Ast.Not _1 in
       Ast0.wrap(Ast0.Unary(_2, mcode)) )
-# 38075 "parser_cocci_menhir.ml"
+# 43400 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38094,18 +43419,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 : (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38102 "parser_cocci_menhir.ml"
+# 43427 "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_ = 
-# 1359 "parser_cocci_menhir.mly"
+# 1507 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
-# 38109 "parser_cocci_menhir.ml"
+# 43434 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38139,29 +43464,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
             };
           } = _menhir_stack in
         let rp : (
-# 100 "parser_cocci_menhir.mly"
+# 144 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38145 "parser_cocci_menhir.ml"
+# 43470 "parser_cocci_menhir.ml"
         ) = Obj.magic rp in
         let t : 'tv_ctype = Obj.magic t in
         let lp : (
-# 99 "parser_cocci_menhir.mly"
+# 143 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38151 "parser_cocci_menhir.ml"
+# 43476 "parser_cocci_menhir.ml"
         ) = Obj.magic lp in
         let s : (
-# 80 "parser_cocci_menhir.mly"
+# 124 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38156 "parser_cocci_menhir.ml"
+# 43481 "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_ = 
-# 1361 "parser_cocci_menhir.mly"
+# 1509 "parser_cocci_menhir.mly"
       ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
                                    P.clt2mcode "(" lp,t,
                                    P.clt2mcode ")" rp)) )
-# 38165 "parser_cocci_menhir.ml"
+# 43490 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38179,17 +43504,264 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.endp = _endpos__1_;
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
+        let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__1_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1515 "parser_cocci_menhir.mly"
+                                                          ( _1 )
+# 43514 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 152 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 43541 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1517 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) )
+# 43548 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
-# 116 "parser_cocci_menhir.mly"
+# 152 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38186 "parser_cocci_menhir.ml"
+# 43575 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1519 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) )
+# 43582 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_cast_expr_eexpr_dot_expressions_ = Obj.magic _2 in
+        let _1 : 'tv_unary_op = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1521 "parser_cocci_menhir.mly"
+      ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) )
+# 43612 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 143 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 43639 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1523 "parser_cocci_menhir.mly"
+      ( let mcode = P.clt2mcode Ast.Not _1 in
+      Ast0.wrap(Ast0.Unary(_2, mcode)) )
+# 43647 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          MenhirLib.EngineTypes.endp = _endpos;
+          MenhirLib.EngineTypes.next = _menhir_stack;
+          });
+      (fun _menhir_env ->
+        let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in
+        let {
+          MenhirLib.EngineTypes.semv = _2;
+          MenhirLib.EngineTypes.startp = _startpos__2_;
+          MenhirLib.EngineTypes.endp = _endpos__2_;
+          MenhirLib.EngineTypes.next = {
+            MenhirLib.EngineTypes.state = _menhir_s;
+            MenhirLib.EngineTypes.semv = _1;
+            MenhirLib.EngineTypes.startp = _startpos__1_;
+            MenhirLib.EngineTypes.endp = _endpos__1_;
+            MenhirLib.EngineTypes.next = _menhir_stack;
+            };
+          } = _menhir_stack in
+        let _2 : 'tv_unary_expr_bis = Obj.magic _2 in
+        let _1 : (
+# 124 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 43674 "parser_cocci_menhir.ml"
+        ) = Obj.magic _1 in
+        let _startpos = _startpos__1_ in
+        let _endpos = _endpos__2_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1526 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) )
+# 43681 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 144 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 43717 "parser_cocci_menhir.ml"
+        ) = Obj.magic rp in
+        let t : 'tv_ctype = Obj.magic t in
+        let lp : (
+# 143 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 43723 "parser_cocci_menhir.ml"
+        ) = Obj.magic lp in
+        let s : (
+# 124 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 43728 "parser_cocci_menhir.ml"
+        ) = Obj.magic s in
+        let _startpos = _startpos_s_ in
+        let _endpos = _endpos_rp_ in
+        let _v : 'tv_unary_expr_bis = 
+# 1528 "parser_cocci_menhir.mly"
+      ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s,
+                                   P.clt2mcode "(" lp,t,
+                                   P.clt2mcode ")" rp)) )
+# 43737 "parser_cocci_menhir.ml"
+         in
+        _menhir_env.MenhirLib.EngineTypes.stack <- {
+          MenhirLib.EngineTypes.state = _menhir_s;
+          MenhirLib.EngineTypes.semv = Obj.repr _v;
+          MenhirLib.EngineTypes.startp = _startpos;
+          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 : (
+# 160 "parser_cocci_menhir.mly"
+       (Data.clt)
+# 43758 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1365 "parser_cocci_menhir.mly"
+# 1532 "parser_cocci_menhir.mly"
                   ( P.clt2mcode Ast.GetRef _1 )
-# 38193 "parser_cocci_menhir.ml"
+# 43765 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38208,16 +43780,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38214 "parser_cocci_menhir.ml"
+# 43786 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1366 "parser_cocci_menhir.mly"
+# 1533 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.DeRef _1 )
-# 38221 "parser_cocci_menhir.ml"
+# 43793 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38236,16 +43808,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 121 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38242 "parser_cocci_menhir.ml"
+# 43814 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1367 "parser_cocci_menhir.mly"
+# 1534 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.UnPlus _1 )
-# 38249 "parser_cocci_menhir.ml"
+# 43821 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38264,16 +43836,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 121 "parser_cocci_menhir.mly"
+# 165 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38270 "parser_cocci_menhir.ml"
+# 43842 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1368 "parser_cocci_menhir.mly"
+# 1535 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.UnMinus _1 )
-# 38277 "parser_cocci_menhir.ml"
+# 43849 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38292,16 +43864,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
           MenhirLib.EngineTypes.next = _menhir_stack;
           } = _menhir_stack in
         let _1 : (
-# 122 "parser_cocci_menhir.mly"
+# 166 "parser_cocci_menhir.mly"
        (Data.clt)
-# 38298 "parser_cocci_menhir.ml"
+# 43870 "parser_cocci_menhir.ml"
         ) = Obj.magic _1 in
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__1_ in
         let _v : 'tv_unary_op = 
-# 1369 "parser_cocci_menhir.mly"
+# 1536 "parser_cocci_menhir.mly"
            ( P.clt2mcode Ast.Tilde _1 )
-# 38305 "parser_cocci_menhir.ml"
+# 43877 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38329,9 +43901,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_when_start = 
-# 1930 "parser_cocci_menhir.mly"
+# 2154 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) )
-# 38335 "parser_cocci_menhir.ml"
+# 43907 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38359,9 +43931,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos__1_ in
         let _endpos = _endpos__2_ in
         let _v : 'tv_when_start = 
-# 1932 "parser_cocci_menhir.mly"
+# 2156 "parser_cocci_menhir.mly"
     ( Ast0.wrap(Ast0.DOTS(_1@_2)) )
-# 38365 "parser_cocci_menhir.ml"
+# 43937 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38383,9 +43955,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
         let _startpos = _startpos_w_ in
         let _endpos = _endpos_w_ in
         let _v : 'tv_whenppdecs = 
-# 951 "parser_cocci_menhir.mly"
+# 1079 "parser_cocci_menhir.mly"
     ( w )
-# 38389 "parser_cocci_menhir.ml"
+# 43961 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38419,9 +43991,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_ = 
-# 1998 "parser_cocci_menhir.mly"
+# 2201 "parser_cocci_menhir.mly"
                                          ( [Ast0.WhenNot w] )
-# 38425 "parser_cocci_menhir.ml"
+# 43997 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38455,9 +44027,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_ = 
-# 1999 "parser_cocci_menhir.mly"
+# 2202 "parser_cocci_menhir.mly"
                                              ( [Ast0.WhenAlways w] )
-# 38461 "parser_cocci_menhir.ml"
+# 44033 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38487,9 +44059,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_ = 
-# 2001 "parser_cocci_menhir.mly"
+# 2204 "parser_cocci_menhir.mly"
       ( List.map (function x -> Ast0.WhenModifier(x)) _2 )
-# 38493 "parser_cocci_menhir.ml"
+# 44065 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38523,9 +44095,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_ = 
-# 2002 "parser_cocci_menhir.mly"
+# 2205 "parser_cocci_menhir.mly"
                                         ( [Ast0.WhenNotTrue e] )
-# 38529 "parser_cocci_menhir.ml"
+# 44101 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38559,9 +44131,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_ = 
-# 2003 "parser_cocci_menhir.mly"
+# 2206 "parser_cocci_menhir.mly"
                                          ( [Ast0.WhenNotFalse e] )
-# 38565 "parser_cocci_menhir.ml"
+# 44137 "parser_cocci_menhir.ml"
          in
         _menhir_env.MenhirLib.EngineTypes.stack <- {
           MenhirLib.EngineTypes.state = _menhir_s;
@@ -38582,106 +44154,106 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct
 
 let rec script_meta_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1820 lexer lexbuf) : (
-# 182 "parser_cocci_menhir.mly"
-       (string * Ast_cocci.meta_name)
-# 38589 "parser_cocci_menhir.ml"
+    (Obj.magic (MenhirInterpreter.entry 2018 lexer lexbuf) : (
+# 228 "parser_cocci_menhir.mly"
+       ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option)
+# 44161 "parser_cocci_menhir.ml"
     ))
 
 and rule_name =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1748 lexer lexbuf) : (
-# 176 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1943 lexer lexbuf) : (
+# 222 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 38597 "parser_cocci_menhir.ml"
+# 44169 "parser_cocci_menhir.ml"
     ))
 
 and reinit =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1746 lexer lexbuf) : (
-# 154 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1941 lexer lexbuf) : (
+# 200 "parser_cocci_menhir.mly"
       (unit)
-# 38605 "parser_cocci_menhir.ml"
+# 44177 "parser_cocci_menhir.ml"
     ))
 
 and plus_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1710 lexer lexbuf) : (
-# 163 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1905 lexer lexbuf) : (
+# 209 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38613 "parser_cocci_menhir.ml"
+# 44185 "parser_cocci_menhir.ml"
     ))
 
 and plus_exp_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1702 lexer lexbuf) : (
-# 166 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1897 lexer lexbuf) : (
+# 212 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38621 "parser_cocci_menhir.ml"
+# 44193 "parser_cocci_menhir.ml"
     ))
 
 and never_used =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1696 lexer lexbuf) : (
-# 191 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1891 lexer lexbuf) : (
+# 237 "parser_cocci_menhir.mly"
       (unit)
-# 38629 "parser_cocci_menhir.ml"
+# 44201 "parser_cocci_menhir.ml"
     ))
 
 and minus_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1616 lexer lexbuf) : (
-# 157 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1806 lexer lexbuf) : (
+# 203 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38637 "parser_cocci_menhir.ml"
+# 44209 "parser_cocci_menhir.ml"
     ))
 
 and minus_exp_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1604 lexer lexbuf) : (
-# 160 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1794 lexer lexbuf) : (
+# 206 "parser_cocci_menhir.mly"
       (Ast0_cocci.rule)
-# 38645 "parser_cocci_menhir.ml"
+# 44217 "parser_cocci_menhir.ml"
     ))
 
 and meta_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1601 lexer lexbuf) : (
-# 180 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1791 lexer lexbuf) : (
+# 226 "parser_cocci_menhir.mly"
       ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 38653 "parser_cocci_menhir.ml"
+# 44225 "parser_cocci_menhir.ml"
     ))
 
 and iso_rule_name =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1597 lexer lexbuf) : (
-# 172 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1787 lexer lexbuf) : (
+# 218 "parser_cocci_menhir.mly"
       (Ast_cocci.rulename)
-# 38661 "parser_cocci_menhir.ml"
+# 44233 "parser_cocci_menhir.ml"
     ))
 
 and iso_meta_main =
   fun lexer lexbuf ->
-    (Obj.magic (MenhirInterpreter.entry 1343 lexer lexbuf) : (
-# 188 "parser_cocci_menhir.mly"
+    (Obj.magic (MenhirInterpreter.entry 1516 lexer lexbuf) : (
+# 234 "parser_cocci_menhir.mly"
       ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list)
-# 38669 "parser_cocci_menhir.ml"
+# 44241 "parser_cocci_menhir.ml"
     ))
 
 and iso_main =
   fun lexer lexbuf ->
     (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : (
-# 185 "parser_cocci_menhir.mly"
+# 231 "parser_cocci_menhir.mly"
       (Ast0_cocci.anything list list)
-# 38677 "parser_cocci_menhir.ml"
+# 44249 "parser_cocci_menhir.ml"
     ))
 
 and include_main =
   fun lexer lexbuf ->
     (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : (
-# 169 "parser_cocci_menhir.mly"
+# 215 "parser_cocci_menhir.mly"
       (Data.incl_iso list)
-# 38685 "parser_cocci_menhir.ml"
+# 44257 "parser_cocci_menhir.ml"
     ))