From 413ffc021412f98847aeb825928e9e0e79dd2648 Mon Sep 17 00:00:00 2001 From: Coccinelle Date: Sun, 3 Oct 2010 14:04:24 +0200 Subject: [PATCH] Release coccinelle-0.2.4rc1 Release Candidate 1 for coccinelle-0.2.4 --- Makefile | 6 + Makefile.dev | 9 +- changes.txt | 17 + cocci.ml | 279 +- commitmsg | 70 +- demos/camltococci.c | 4 + demos/camltococci.cocci | 23 + demos/camltococci.res | 4 + demos/pythontococci.c | 4 + demos/pythontococci.cocci | 25 + demos/pythontococci.res | 4 + docs/manual/cocci_syntax.tex | 49 +- docs/manual/main_grammar.pdf | Bin 326959 -> 329625 bytes docs/manual/manual.pdf | Bin 430366 -> 433542 bytes docs/manual/options.pdf | Bin 133686 -> 134618 bytes docs/manual/spatch_options.tex | 3 + engine/asttoctl2.ml | 7 +- engine/check_exhaustive_pattern.ml | 2 + engine/cocci_vs_c.ml | 59 +- engine/cocci_vs_c.mli | 4 + engine/pattern_c.ml | 28 +- engine/pretty_print_engine.ml | 4 + engine/transformation_c.ml | 8 + globals/config.ml.in | 2 +- main.ml | 36 +- ocaml/coccilib.ml | 4 +- ocaml/coccilib.mli | 4 +- ocaml/ocamlcocci_aux.ml | 10 +- ocaml/run_ocamlcocci.ml | 9 +- ocaml/yes_prepare_ocamlcocci.ml | 28 +- parsing_c/ast_c.ml | 2 + parsing_c/lib_parsing_c.ml | 7 + parsing_c/pretty_print_c.ml | 225 +- parsing_c/pretty_print_c.mli | 12 + parsing_c/sexp_ast_c.ml | 12 + parsing_c/test_parsing_c.ml | 4 +- parsing_c/unparse_c.ml | 1 - parsing_c/unparse_cocci.ml | 16 +- parsing_c/unparse_hrule.ml | 10 + parsing_c/visitor_c.ml | 41 +- parsing_c/visitor_c.mli | 2 + parsing_cocci/adjust_pragmas.ml | 16 +- parsing_cocci/arity.ml | 10 +- parsing_cocci/ast0_cocci.ml | 8 +- parsing_cocci/ast0_cocci.mli | 7 +- parsing_cocci/ast0toast.ml | 4 +- parsing_cocci/ast_cocci.ml | 8 +- parsing_cocci/ast_cocci.mli | 6 +- parsing_cocci/check_meta.ml | 4 +- parsing_cocci/compute_lines.ml | 4 +- parsing_cocci/context_neg.ml | 5 +- parsing_cocci/data.ml | 6 + parsing_cocci/data.mli | 4 + parsing_cocci/disjdistr.ml | 5 +- parsing_cocci/flag_parsing_cocci.ml | 1 + parsing_cocci/free_vars.ml | 43 +- parsing_cocci/get_constants.ml | 4 +- parsing_cocci/get_constants2.ml | 57 +- parsing_cocci/index.ml | 6 +- parsing_cocci/iso_pattern.ml | 161 +- parsing_cocci/lexer_cocci.mll | 16 +- parsing_cocci/parse_aux.ml | 47 +- parsing_cocci/parse_cocci.ml | 83 +- parsing_cocci/parser_cocci_menhir.ml | 7516 +++++++++++++------------ parsing_cocci/parser_cocci_menhir.mli | 9 +- parsing_cocci/parser_cocci_menhir.mly | 57 +- parsing_cocci/pretty_print_cocci.ml | 6 +- parsing_cocci/pretty_print_cocci.mli | 1 + parsing_cocci/single_statement.ml | 6 +- parsing_cocci/type_infer.ml | 3 +- parsing_cocci/unify_ast.ml | 4 +- parsing_cocci/unitary_ast0.ml | 5 +- parsing_cocci/unparse_ast0.ml | 38 +- parsing_cocci/visitor_ast.ml | 12 +- parsing_cocci/visitor_ast0.ml | 8 +- pycaml/pycaml.ml | 3 +- pycaml/pycaml_ml.c | 6 + python/Makefile | 14 +- python/Makefile.orig | 132 + python/coccilib/__init__.pyc | Bin 162 -> 0 bytes python/coccilib/elems.pyc | Bin 2274 -> 0 bytes python/coccilib/org.pyc | Bin 2500 -> 0 bytes python/coccilib/output.pyc | Bin 6779 -> 0 bytes python/coccilib/report.pyc | Bin 657 -> 0 bytes python/no_pycocci.ml | 3 + python/yes_pycocci.ml | 28 +- python/yes_pycocci_aux.ml | 10 +- test.ml | 120 + testing.ml | 4 +- tests/camltococci.c | 4 + tests/camltococci.cocci | 23 + tests/camltococci.res | 4 + tests/pythontococci.c | 4 + tests/pythontococci.cocci | 25 + tests/pythontococci.res | 4 + tools/Makefile | 2 +- tools/bridge.ml | 2 +- tools/dumper.ml | 109 + tools/dumper.mli | 30 + 99 files changed, 5616 insertions(+), 4115 deletions(-) rewrite commitmsg (99%) create mode 100644 demos/camltococci.c create mode 100644 demos/camltococci.cocci create mode 100644 demos/camltococci.res create mode 100644 demos/pythontococci.c create mode 100644 demos/pythontococci.cocci create mode 100644 demos/pythontococci.res create mode 100644 python/Makefile.orig delete mode 100644 python/coccilib/__init__.pyc delete mode 100644 python/coccilib/elems.pyc delete mode 100644 python/coccilib/org.pyc delete mode 100644 python/coccilib/output.pyc delete mode 100644 python/coccilib/report.pyc create mode 100644 tests/camltococci.c create mode 100644 tests/camltococci.cocci create mode 100644 tests/camltococci.res create mode 100644 tests/pythontococci.c create mode 100644 tests/pythontococci.cocci create mode 100644 tests/pythontococci.res create mode 100644 tools/dumper.ml create mode 100644 tools/dumper.mli diff --git a/Makefile b/Makefile index 0997e05..eae58c8 100644 --- a/Makefile +++ b/Makefile @@ -316,10 +316,14 @@ install-common: mkdir -p $(DESTDIR)$(BINDIR) mkdir -p $(DESTDIR)$(LIBDIR) mkdir -p $(DESTDIR)$(SHAREDIR)/ocaml + mkdir -p $(DESTDIR)$(SHAREDIR)/commons + mkdir -p $(DESTDIR)$(SHAREDIR)/parsing_c mkdir -p $(DESTDIR)$(MANDIR)/man1 $(INSTALL_DATA) standard.h $(DESTDIR)$(SHAREDIR) $(INSTALL_DATA) standard.iso $(DESTDIR)$(SHAREDIR) $(INSTALL_DATA) ocaml/coccilib.cmi $(DESTDIR)$(SHAREDIR)/ocaml/ + $(INSTALL_DATA) parsing_c/*.cmi $(DESTDIR)$(SHAREDIR)/parsing_c/ + $(INSTALL_DATA) commons/*.cmi $(DESTDIR)$(SHAREDIR)/commons/ $(INSTALL_DATA) docs/spatch.1 $(DESTDIR)$(MANDIR)/man1/ @if [ $(FEATURE_PYTHON) -eq 1 ]; then $(MAKE) install-python; fi @@ -380,6 +384,8 @@ uninstall: rm -f $(DESTDIR)$(SHAREDIR)/standard.h rm -f $(DESTDIR)$(SHAREDIR)/standard.iso rm -f $(DESTDIR)$(SHAREDIR)/ocaml/coccilib.cmi + rm -f $(DESTDIR)$(SHAREDIR)/parsing_c/*.cmi + rm -f $(DESTDIR)$(SHAREDIR)/commons*.cmi rm -f $(DESTDIR)$(SHAREDIR)/python/coccilib/coccigui/* rm -f $(DESTDIR)$(SHAREDIR)/python/coccilib/*.py rmdir --ignore-fail-on-non-empty -p \ diff --git a/Makefile.dev b/Makefile.dev index 7b24e2a..df9c4a4 100644 --- a/Makefile.dev +++ b/Makefile.dev @@ -67,18 +67,19 @@ ubuntu: #$(UBUNTURELEASE): # debchange -c debian/changelog.karmic -D karmic -v $(VERSION)~$(@:ubuntu-%=%)~npalix1 "New release $(VERSION)" +IDX?=1 ubuntu-karmic: - debchange -c debian/changelog.karmic -D karmic -v $(VERSION)~910npalix1 "New release $(VERSION)" + debchange -c debian/changelog.karmic -D karmic -v $(VERSION)~910npalix$(IDX) "New release $(VERSION)" ubuntu-lucid: - debchange -c debian/changelog.lucid -D lucid -v $(VERSION)~1004npalix1 "New release $(VERSION)" + debchange -c debian/changelog.lucid -D lucid -v $(VERSION)~1004npalix$(IDX) "New release $(VERSION)" ubuntu-maverik: if [ ! -f debian/changelog.$(@:ubuntu-%=%) ] ; then \ debchange --create -c debian/changelog.$(@:ubuntu-%=%) -D UNRELEASED \ - -v $(VERSION)~npalix1 "New release $(VERSION)" --package $(PRJNAME) ; \ + -v $(VERSION)~npalix$(IDX) "New release $(VERSION)" --package $(PRJNAME) ; \ else \ - debchange -c debian/changelog.$(@:ubuntu-%=%) -D UNRELEASED -v $(VERSION)~npalix1 "New release $(VERSION)" ; \ + debchange -c debian/changelog.$(@:ubuntu-%=%) -D UNRELEASED -v $(VERSION)~npalix$(IDX) "New release $(VERSION)" ; \ fi diff --git a/changes.txt b/changes.txt index b360c4d..8d3852e 100644 --- a/changes.txt +++ b/changes.txt @@ -13,6 +13,23 @@ - Add more information in documentation, man pages and wiki +* 0.2.4 +** Language: +- scripts now have names and can declare metavariables that are seen by + SmPL as identifier metavariables, see demos/{python,ocaml}tococci.cocci +- declaration (match variable declarations) and field (match structure + field declarations) metavariables + +** Features: +- compatability with Python 2.7. Thanks to Richard W.M. Jones for pointing + out the problem +- python and ocaml string representations of parameter lists and expression + lists +- try simpler patterns on glimpse failure + +** Bugfix: +- detect used after metavariables in simple statement metavariable match + * 0.2.3 ** Language: - <= constraints relating an expression metavariable to one or more diff --git a/cocci.ml b/cocci.ml index 2f505e4..8073594 100644 --- a/cocci.ml +++ b/cocci.ml @@ -764,17 +764,24 @@ type toplevel_c_info = { (* id: int *) } +type rule_info = { + rulename: string; + dependencies: Ast_cocci.dependency; + used_after: Ast_cocci.meta_name list; + ruleid: int; + was_matched: bool ref; +} + type toplevel_cocci_info_script_rule = { - scr_rulename: string; scr_ast_rule: string * (Ast_cocci.script_meta_name * Ast_cocci.meta_name * Ast_cocci.metavar) list * + Ast_cocci.meta_name list (*fresh vars*) * string; language: string; - scr_dependencies: Ast_cocci.dependency; - scr_ruleid: int; script_code: string; + scr_rule_info: rule_info; } type toplevel_cocci_info_cocci_rule = { @@ -783,21 +790,17 @@ type toplevel_cocci_info_cocci_rule = { ast_rule: Ast_cocci.rule; isexp: bool; (* true if + code is an exp, only for Flag.make_hrule *) - rulename: string; - dependencies: Ast_cocci.dependency; (* There are also some hardcoded rule names in parse_cocci.ml: * let reserved_names = ["all";"optional_storage";"optional_qualifier"] *) dropped_isos: string list; free_vars: Ast_cocci.meta_name list; negated_pos_vars: Ast_cocci.meta_name list; - used_after: Ast_cocci.meta_name list; positions: Ast_cocci.meta_name list; - ruleid: int; ruletype: Ast_cocci.ruletype; - was_matched: bool ref; + rule_info: rule_info; } type toplevel_cocci_info = @@ -865,15 +868,13 @@ let python_code = local_python_code ^ "cocci = Cocci()\n" -let make_init name rulenb lang deps code = +let make_init lang code rule_info = let mv = [] in { - scr_rulename = name; - scr_ast_rule = (lang, mv, code); + scr_ast_rule = (lang, mv, [], code); language = lang; - scr_dependencies = deps; - scr_ruleid = rulenb; - script_code = (if lang = "python" then python_code else "") ^code + script_code = (if lang = "python" then python_code else "") ^code; + scr_rule_info = rule_info; } (* --------------------------------------------------------------------- *) @@ -889,6 +890,13 @@ let prepare_cocci ctls free_var_lists negated_pos_lists (fun (((((((((ctl_toplevel_list,metavars),ast),free_var_list), negated_pos_list),ua),fua),fuas),positions_list),rulenb) -> + let build_rule_info rulename deps = + {rulename = rulename; + dependencies = deps; + used_after = (List.hd ua) @ (List.hd fua); + ruleid = rulenb; + was_matched = ref false;} in + let is_script_rule r = match r with Ast_cocci.ScriptRule _ @@ -899,54 +907,45 @@ let prepare_cocci ctls free_var_lists negated_pos_lists then failwith "not handling multiple minirules"; match ast with - Ast_cocci.ScriptRule (name,lang,deps,mv,code) -> + Ast_cocci.ScriptRule (name,lang,deps,mv,script_vars,code) -> let r = - { - scr_rulename = name; - scr_ast_rule = (lang, mv, code); - language = lang; - scr_dependencies = deps; - scr_ruleid = rulenb; - script_code = code; - } + { + scr_ast_rule = (lang, mv, script_vars, code); + language = lang; + script_code = code; + scr_rule_info = build_rule_info name deps; + } in ScriptRuleCocciInfo r | Ast_cocci.InitialScriptRule (name,lang,deps,code) -> - let r = make_init name rulenb lang deps code in + let r = make_init lang code (build_rule_info name deps) in InitialScriptRuleCocciInfo r | Ast_cocci.FinalScriptRule (name,lang,deps,code) -> let mv = [] in let r = - { - scr_rulename = name; - scr_ast_rule = (lang, mv, code); - language = lang; - scr_dependencies = deps; - scr_ruleid = rulenb; - script_code = code; - } + { + scr_ast_rule = (lang, mv, [], code); + language = lang; + script_code = code; + scr_rule_info = build_rule_info name deps; + } in FinalScriptRuleCocciInfo r | Ast_cocci.CocciRule (rulename,(dependencies,dropped_isos,z),restast,isexp,ruletype) -> - CocciRuleCocciInfo ( - { - ctl = List.hd ctl_toplevel_list; - metavars = metavars; - ast_rule = ast; - isexp = List.hd isexp; - rulename = rulename; - dependencies = dependencies; - dropped_isos = dropped_isos; - free_vars = List.hd free_var_list; - negated_pos_vars = List.hd negated_pos_list; - used_after = (List.hd ua) @ (List.hd fua); - positions = List.hd positions_list; - ruleid = rulenb; - ruletype = ruletype; - was_matched = ref false; - }) + CocciRuleCocciInfo ( + { + ctl = List.hd ctl_toplevel_list; + metavars = metavars; + ast_rule = ast; + isexp = List.hd isexp; + dropped_isos = dropped_isos; + free_vars = List.hd free_var_list; + negated_pos_vars = List.hd negated_pos_list; + positions = List.hd positions_list; + ruletype = ruletype; + rule_info = build_rule_info rulename dependencies; + }) ) - (* --------------------------------------------------------------------- *) let build_info_program cprogram env = @@ -1171,7 +1170,7 @@ let contains_binding e (_,(r,m),_) = true with Not_found -> false -let python_application mv ve r = +let python_application mv ve script_vars r = let mv = List.map (function @@ -1179,40 +1178,47 @@ let python_application mv ve r = | _ -> failwith (Printf.sprintf "unexpected ast metavar in rule %s" - r.scr_rulename)) + r.scr_rule_info.rulename)) mv in try Pycocci.build_classes (List.map (function (x,y) -> x) ve); Pycocci.construct_variables mv ve; + Pycocci.construct_script_variables script_vars; let _ = Pycocci.pyrun_simplestring (local_python_code ^r.script_code) in - !Pycocci.inc_match + if !Pycocci.inc_match + then Some (Pycocci.retrieve_script_variables script_vars) + else None with Pycocci.Pycocciexception -> - (pr2 ("Failure in " ^ r.scr_rulename); + (pr2 ("Failure in " ^ r.scr_rule_info.rulename); raise Pycocci.Pycocciexception) -let ocaml_application mv ve r = +let ocaml_application mv ve script_vars r = try - Run_ocamlcocci.run mv ve r.scr_rulename r.script_code; - !Coccilib.inc_match - with e -> (pr2 ("Failure in " ^ r.scr_rulename); raise e) + let script_vals = + Run_ocamlcocci.run mv ve script_vars + r.scr_rule_info.rulename r.script_code in + if !Coccilib.inc_match + then Some script_vals + else None + with e -> (pr2 ("Failure in " ^ r.scr_rule_info.rulename); raise e) let apply_script_rule r cache newes e rules_that_have_matched rules_that_have_ever_matched script_application = Common.profile_code r.language (fun () -> - show_or_not_scr_rule_name r.scr_ruleid; + show_or_not_scr_rule_name r.scr_rule_info.ruleid; if not(interpret_dependencies rules_that_have_matched - !rules_that_have_ever_matched r.scr_dependencies) + !rules_that_have_ever_matched r.scr_rule_info.dependencies) then begin print_dependencies "dependencies for script not satisfied:" rules_that_have_matched - !rules_that_have_ever_matched r.scr_dependencies; + !rules_that_have_ever_matched r.scr_rule_info.dependencies; show_or_not_binding "in environment" e; (cache, (e, rules_that_have_matched)::newes) end else begin - let (_, mv, _) = r.scr_ast_rule in + let (_, mv, script_vars, _) = r.scr_ast_rule in let ve = (List.map (function (n,v) -> (("virtual",n),Ast_c.MetaIdVal (v,[]))) !Flag.defined_virtual_env) @ e in @@ -1224,45 +1230,68 @@ let apply_script_rule r cache newes e rules_that_have_matched (function ((re,rm),_) -> List.exists (function (_,(r,m),_) -> r =*= re && m =$= rm) mv) e in - if List.mem relevant_bindings cache - then - begin - print_dependencies - "dependencies for script satisfied, but cached:" - rules_that_have_matched - !rules_that_have_ever_matched - r.scr_dependencies; - show_or_not_binding "in" e; + (try + let script_vals = List.assoc relevant_bindings cache in + print_dependencies + "dependencies for script satisfied, but cached:" + rules_that_have_matched + !rules_that_have_ever_matched + r.scr_rule_info.dependencies; + show_or_not_binding "in" e; (* env might be bigger than what was cached against, so have to merge with newes anyway *) - (cache,merge_env [(e, rules_that_have_matched)] newes) - end - else + let new_e = (List.combine script_vars script_vals) @ e in + let new_e = + new_e +> + List.filter + (fun (s,v) -> List.mem s r.scr_rule_info.used_after) in + (cache,merge_env [(new_e, rules_that_have_matched)] newes) + with Not_found -> begin print_dependencies "dependencies for script satisfied:" rules_that_have_matched !rules_that_have_ever_matched - r.scr_dependencies; + r.scr_rule_info.dependencies; show_or_not_binding "in" e; - let new_cache = relevant_bindings :: cache in - if script_application mv ve r - then (new_cache, merge_env [(e, rules_that_have_matched)] newes) - else (new_cache, newes) - end + match script_application mv ve script_vars r with + None -> + (* failure means we should drop e, no new bindings *) + (((relevant_bindings,[]) :: cache), newes) + | Some script_vals -> + let script_vals = + List.map (function x -> Ast_c.MetaIdVal(x,[])) + script_vals in + let new_e = + (List.combine script_vars script_vals) @ e in + let new_e = + new_e +> + List.filter + (fun (s,v) -> List.mem s r.scr_rule_info.used_after) in + r.scr_rule_info.was_matched := true; + (((relevant_bindings,script_vals) :: cache), + merge_env + [(new_e, + r.scr_rule_info.rulename :: rules_that_have_matched)] + newes) + end) | unbound -> (if !Flag_cocci.show_dependencies then let m2c (_,(r,x),_) = r^"."^x in pr2 (Printf.sprintf "script not applied: %s not bound" (String.concat ", " (List.map m2c unbound)))); + let e = + e +> + List.filter + (fun (s,v) -> List.mem s r.scr_rule_info.used_after) in (cache, merge_env [(e, rules_that_have_matched)] newes)) end) let rec apply_cocci_rule r rules_that_have_ever_matched es (ccs:file_info list ref) = - Common.profile_code r.rulename (fun () -> - show_or_not_rule_name r.ast_rule r.ruleid; - show_or_not_ctl_text r.ctl r.ast_rule r.ruleid; + Common.profile_code r.rule_info.rulename (fun () -> + show_or_not_rule_name r.ast_rule r.rule_info.ruleid; + show_or_not_ctl_text r.ctl r.ast_rule r.rule_info.ruleid; let reorganized_env = reassociate_positions r.free_vars r.negated_pos_vars !es in @@ -1274,17 +1303,20 @@ let rec apply_cocci_rule r rules_that_have_ever_matched es function ((e,rules_that_have_matched),relevant_bindings) -> if not(interpret_dependencies rules_that_have_matched !rules_that_have_ever_matched - r.dependencies) + r.rule_info.dependencies) then begin print_dependencies - ("dependencies for rule "^r.rulename^" not satisfied:") + ("dependencies for rule "^r.rule_info.rulename^ + " not satisfied:") rules_that_have_matched - !rules_that_have_ever_matched r.dependencies; + !rules_that_have_ever_matched r.rule_info.dependencies; show_or_not_binding "in environment" e; (cache, merge_env - [(e +> List.filter (fun (s,v) -> List.mem s r.used_after), + [(e +> + List.filter + (fun (s,v) -> List.mem s r.rule_info.used_after), rules_that_have_matched)] newes) end @@ -1294,10 +1326,11 @@ let rec apply_cocci_rule r rules_that_have_ever_matched es with Not_found -> print_dependencies - ("dependencies for rule "^r.rulename^" satisfied:") + ("dependencies for rule "^r.rule_info.rulename^ + " satisfied:") rules_that_have_matched !rules_that_have_ever_matched - r.dependencies; + r.rule_info.dependencies; show_or_not_binding "in" e; show_or_not_binding "relevant in" relevant_bindings; @@ -1334,7 +1367,9 @@ let rec apply_cocci_rule r rules_that_have_ever_matched es let old_bindings_to_keep = Common.nub - (e +> List.filter (fun (s,v) -> List.mem s r.used_after)) in + (e +> + List.filter + (fun (s,v) -> List.mem s r.rule_info.used_after)) in let new_e = if null new_bindings then @@ -1364,20 +1399,20 @@ let rec apply_cocci_rule r rules_that_have_ever_matched es (* see comment before combine_pos *) (s,Ast_c.MetaPosValList []) -> false | (s,v) -> - List.mem s r.used_after && + List.mem s r.rule_info.used_after && not (List.mem s old_variables)))) in List.map (function new_binding_to_add -> (List.sort compare (Common.union_set old_bindings_to_keep new_binding_to_add), - r.rulename::rules_that_have_matched)) + r.rule_info.rulename::rules_that_have_matched)) new_bindings_to_add in ((relevant_bindings,new_bindings)::cache, merge_env new_e newes)) ([],[]) reorganized_env in (* end iter es *) - if !(r.was_matched) - then Common.push2 r.rulename rules_that_have_ever_matched; + if !(r.rule_info.was_matched) + then Common.push2 r.rule_info.rulename rules_that_have_ever_matched; es := newes; @@ -1475,7 +1510,7 @@ and process_a_generated_a_env_a_toplevel2 r env = function let free_vars = List.filter (function - (rule,_) when rule =$= r.rulename -> false + (rule,_) when rule =$= r.rule_info.rulename -> false | (_,"ARGS") -> false | _ -> true) r.free_vars in @@ -1483,7 +1518,7 @@ and process_a_generated_a_env_a_toplevel2 r env = function let metavars = List.filter (function md -> - let (rl,_) = Ast_cocci.get_meta_name md in rl =$= r.rulename) + let (rl,_) = Ast_cocci.get_meta_name md in rl =$= r.rule_info.rulename) r.metavars in if Common.include_set free_vars env_domain then Unparse_hrule.pp_rule metavars r.ast_rule env cfile.full_fname @@ -1506,7 +1541,7 @@ and process_a_ctl_a_env_a_toplevel2 r e c f = (* !Main point! The call to the engine *) (***************************************) let model_ctl = CCI.model_for_ctl r.dropped_isos (Common.some c.flow) e - in CCI.mysat model_ctl r.ctl (r.used_after, e) + in CCI.mysat model_ctl r.ctl (r.rule_info.used_after, e) ) in if not returned_any_states @@ -1516,7 +1551,7 @@ and process_a_ctl_a_env_a_toplevel2 r e c f = show_or_not_trans_info trans_info; List.iter (show_or_not_binding "out") newbindings; - r.was_matched := true; + r.rule_info.was_matched := true; if not (null trans_info) then begin @@ -1528,7 +1563,7 @@ and process_a_ctl_a_env_a_toplevel2 r e c f = * trasformation au fichier concerne. *) (* modify ast via side effect *) - ignore(Transformation_c.transform r.rulename r.dropped_isos + ignore(Transformation_c.transform r.rule_info.rulename r.dropped_isos inherited_bindings trans_info (Common.some c.flow)); with Timeout -> raise Timeout | UnixExit i -> raise (UnixExit i) end; @@ -1560,10 +1595,11 @@ let rec bigloop2 rs (ccs: file_info list) = adjust_pp_with_indent (fun () -> Format.force_newline(); - let (l,mv,code) = r.scr_ast_rule in - let deps = r.scr_dependencies in + let (l,mv,script_vars,code) = r.scr_ast_rule in + let nm = r.scr_rule_info.rulename in + let deps = r.scr_rule_info.dependencies in Pretty_print_cocci.unparse - (Ast_cocci.ScriptRule ("",l,deps,mv,code))); + (Ast_cocci.ScriptRule (nm,l,deps,mv,script_vars,code))); end; if !Flag.show_misc then print_endline "RESULT ="; @@ -1590,6 +1626,10 @@ let rec bigloop2 rs (ccs: file_info list) = (cache, newes)) ([],[]) !es in + (if !(r.scr_rule_info.was_matched) + then + Common.push2 r.scr_rule_info.rulename rules_that_have_ever_matched); + es := (if newes = [] then init_es else newes); | CocciRuleCocciInfo r -> apply_cocci_rule r rules_that_have_ever_matched @@ -1625,7 +1665,7 @@ let initial_final_bigloop2 ty rebuild r = adjust_pp_with_indent (fun () -> Format.force_newline(); - Pretty_print_cocci.unparse(rebuild r.scr_ast_rule r.scr_dependencies)); + Pretty_print_cocci.unparse(rebuild r.scr_ast_rule r.scr_rule_info.dependencies)); end; match r.language with @@ -1702,12 +1742,12 @@ let pre_engine2 (coccifile, isofile) = then failwith ("double initializer found for "^r.language)); - if interpret_dependencies [] [] r.scr_dependencies + if interpret_dependencies [] [] r.scr_rule_info.dependencies then begin initial_final_bigloop Initial - (fun (x,_,y) -> fun deps -> - Ast_cocci.InitialScriptRule(r.scr_rulename,x,deps,y)) + (fun (x,_,_,y) -> fun deps -> + Ast_cocci.InitialScriptRule(r.scr_rule_info.rulename,x,deps,y)) r; r.language::languages end @@ -1718,15 +1758,20 @@ let pre_engine2 (coccifile, isofile) = let uninitialized_languages = List.filter (fun used -> not (List.mem used initialized_languages)) - used_languages - in - List.iter (fun lgg -> - initial_final_bigloop Initial - (fun (x,_,y) -> fun deps -> - Ast_cocci.InitialScriptRule("",x,deps,y)) - (make_init "" (-1) lgg Ast_cocci.NoDep ""); - ) - uninitialized_languages; + used_languages in + List.iter + (fun lgg -> + let rule_info = + {rulename = ""; + dependencies = Ast_cocci.NoDep; + used_after = []; + ruleid = (-1); + was_matched = ref false;} in + initial_final_bigloop Initial + (fun (x,_,_,y) -> fun deps -> + Ast_cocci.InitialScriptRule("",x,deps,y)) + (make_init lgg "" rule_info)) + uninitialized_languages; (cocci_infos,toks) @@ -1806,8 +1851,8 @@ let post_engine2 (cocci_infos,_) = (if List.mem r.language languages then failwith ("double finalizer found for "^r.language)); initial_final_bigloop Final - (fun (x,_,y) -> fun deps -> - Ast_cocci.FinalScriptRule(r.scr_rulename,x,deps,y)) + (fun (x,_,_,y) -> fun deps -> + Ast_cocci.FinalScriptRule(r.scr_rule_info.rulename,x,deps,y)) r; r.language::languages | _ -> languages) diff --git a/commitmsg b/commitmsg dissimilarity index 99% index bc950ae..1785155 100644 --- a/commitmsg +++ b/commitmsg @@ -1,67 +1,3 @@ -Release coccinelle-0.2.3 - -** Language: - - <= constraints relating an expression metavariable to one or more - inherited expression metavariables that it should be a subexpression of - - the -inplace and -outplace options have been renamed -in_place and - -out_place. -in_place no longer makes a backup. A backup can be - requested using the option -backup_suffix, eg -backup_suffix .bk - - identifiers can be constrained to be different from an inherited - identifier metavariable, or from a set containing both concrete - identifiers and inherited identifier metavariables. - - support for ocaml scripting - - ast available in ocaml scripts - -** Features: - - drop inconsistent paths check when only one node was matched - - allow #define id with no definition - - attempt to add newlines in the generated code when function calls in the - smpl cause passing column 80 - - allow - in front of statement level nests, if everything inside the nest - is also - - - 'configure' looks for some system libraries: menhirLib, sexplib, pycaml. - Not available libraries are replaced by a copy provided with the sources. - - added static for a function goes just before what is specified in the - semantic patch, not before any comments etc. - - Add a new option, -ignore_unknown_options, to ease the integration - of Coccinelle as a checker in a toolchain. - - error in python code causes immediate abort of spatch - - use the same algorithm for collecting grep tokens as for collecting - glimpse tokens - - Add scripts/spatch.bash_completion for automatic completion of common - options under the bash shell. - - Print rule name when a script rule crashes - - Allow the declaration of an expression list or parameter list - metavariable to specify the number of expressions or parameters, - respectively. - -** Bugfix: - - drop inconsistent paths check when only one node was matched - - better take into account virtual rules when selecting glimpse tokens - - print diff when only a comment is added - - the type of the C code !x should be int regardless of the type of x - - allow python code at the beginning of an included file - - better adjustment of whitespace when deleting adjacent lines. Thanks to - Wolfram Sang for pointing out the problem. - - allow metavariables to be inherited from included files - - allow ? on goto - - more graceful failure on finding a strange character in a macro parameter - list - - support Parameter metavariables - - add space after the last comma in an added portion of an argument list - - SmPL nameless struct should only match a nameless struct, not a nameless - union. Thanks to Peter Tummeltshammer for pointing out the problem. - - adjustments to storage don't modify inline as well - - matching and transformation allowed on inline - - allow removed field between two ... in structure initialization - - allow removing an entire structure initialization - - manage labels within do while 0 macros - - added space after : in printing a conditional expression. Thanks to Josh - Triplett for noticing the problem. - - dropped trailing whitespace when code at the end of a line is deleted. - Thanks to Josh Triplett for noticing the problem. - - Fixed environment management when script rule uses cache. Thanks to - Bissyande for finding the problem. - - when false matches if with no else - - ensure { ... } with whencode checks to the end of the function. Thanks to - Rene Rydhof Hansen for finding the problem. +Release coccinelle-0.2.4rc1 + +Release Candidate 1 for coccinelle-0.2.4 diff --git a/demos/camltococci.c b/demos/camltococci.c new file mode 100644 index 0000000..e67463a --- /dev/null +++ b/demos/camltococci.c @@ -0,0 +1,4 @@ +int main () { + foo(a0); + bar(); +} diff --git a/demos/camltococci.cocci b/demos/camltococci.cocci new file mode 100644 index 0000000..8cc110f --- /dev/null +++ b/demos/camltococci.cocci @@ -0,0 +1,23 @@ +@a@ +identifier x; +@@ + +foo(x); + +@script:ocaml b@ +x << a.x; +y; +z; +@@ + +y := x; +z := "something" + +@c@ +identifier b.y; +identifier b.z; +identifier a.x; +@@ + +- bar(); ++ matched_bar(y,z,x); diff --git a/demos/camltococci.res b/demos/camltococci.res new file mode 100644 index 0000000..d4eafc9 --- /dev/null +++ b/demos/camltococci.res @@ -0,0 +1,4 @@ +int main () { + foo(a0); + matched_bar(a0, something, a0); +} diff --git a/demos/pythontococci.c b/demos/pythontococci.c new file mode 100644 index 0000000..e67463a --- /dev/null +++ b/demos/pythontococci.c @@ -0,0 +1,4 @@ +int main () { + foo(a0); + bar(); +} diff --git a/demos/pythontococci.cocci b/demos/pythontococci.cocci new file mode 100644 index 0000000..e09e278 --- /dev/null +++ b/demos/pythontococci.cocci @@ -0,0 +1,25 @@ +@a@ +identifier x; +@@ + +foo(x); + +@script:python b@ +x << a.x; +y; +z; +@@ + +print y +coccinelle.y = x +coccinelle.z = "something" +print y + +@c@ +identifier b.y; +identifier b.z; +identifier a.x; +@@ + +- bar(); ++ matched_bar(y,z,x); diff --git a/demos/pythontococci.res b/demos/pythontococci.res new file mode 100644 index 0000000..d4eafc9 --- /dev/null +++ b/demos/pythontococci.res @@ -0,0 +1,4 @@ +int main () { + foo(a0); + matched_bar(a0, something, a0); +} diff --git a/docs/manual/cocci_syntax.tex b/docs/manual/cocci_syntax.tex index 5ad13a0..7109db9 100644 --- a/docs/manual/cocci_syntax.tex +++ b/docs/manual/cocci_syntax.tex @@ -112,7 +112,7 @@ The keyword \KW{disable} is normally used with the names of isomorphisms defined in standard.iso or whatever isomorphism file has been included. There are, however, some other isomorphisms that are built into the implementation of Coccinelle and that can be disabled as well. Their -names are given below. In each case, the text descibes the standard +names are given below. In each case, the text describes the standard behavior. Using \NT{disable-iso} with the given name disables this behavior. \begin{itemize} @@ -139,7 +139,10 @@ used in {\tt +} code. These properties are not expressed in the grammar, but are checked by a subsequent analysis. The metavariables are designated according to the kind of terms they can match, such as a statement, an identifier, or an expression. An expression metavariable can be further -constrained by its type. +constrained by its type. A declaration metavariable matches the +declaration of one or more variables, all sharing the same type +specification ({\em e.g.}, {\tt int a,b,c=3;}). A field metavariable does +the same, but for structure fields. \begin{grammar} \RULE{\rt{metadecl}} @@ -151,6 +154,8 @@ constrained by its type. \CASE{parameter list [ \NT{const} ] \NT{ids} ;} \CASE{type \NT{ids} ;} \CASE{statement \opt{list} \NT{ids} ;} + \CASE{declaration \opt{list} \NT{ids} ;} + \CASE{field \opt{list} \NT{ids} ;} \CASE{typedef \NT{ids} ;} \CASE{declarer name \NT{ids} ;} % \CASE{\opt{local} function \NT{pmid\_with\_not\_eq\_list} ;} @@ -247,14 +252,16 @@ typing, metavariables for scripts do not include type declarations. \begin{grammar} \RULE{\rt{script\_metavariables}} - \CASE{@ script:\NT{language} \OPT{depends on \NT{dep}} @ + \CASE{@ script:\NT{language} \OPT{\NT{rulename}} \OPT{depends on \NT{dep}} @ \any{\NT{script\_metadecl}} @@} \CASE{@ initialize:\NT{language} \OPT{depends on \NT{dep}} @} \CASE{@ finalize:\NT{language} \OPT{depends on \NT{dep}} @} - \RULE{\rt{language}} \CASE{python} + \RULE{\rt{language}} \CASE{python} \CASE{ocaml} - \RULE{\rt{script\_metadecl}} \CASE{\T{id} <{}< \T{rulename\_id}.\T{id} ;} + \RULE{\rt{script\_metadecl}} + \CASE{\T{id} <{}< \T{rulename\_id}.\T{id} ;} + \CASE{\T{id} ;} \end{grammar} Currently, the only scripting languages that are supported are Python and @@ -270,6 +277,34 @@ metavariables. Nevertheless, a finalize script rule can access any variables initialized by the other script rules, allowing information to be transmitted from the matching process to the finalize rule. +A script metavariable that does not specify an origin, using \texttt{<<}, +is newly declared by the script. This metavariable should be assigned to a +string and can be inherited by subsequent rules as an identifier. In +Python, the assignment of such a metavariable $x$ should refer to the +metavariable as {\tt coccinelle.\(x\)}. Examples are in the files +\texttt{demos/pythontococci.cocci} and \texttt{demos/camltococci.cocci}. + +In an ocaml script, the following extended form of \textit{script\_metadecl} +may be used: + +\begin{grammar} + \RULE{\rt{script\_metadecl}} + \CASE{(\T{id},\T{id}) <{}< \T{rulename\_id}.\T{id} ;} + \CASE{\T{id} <{}< \T{rulename\_id}.\T{id} ;} + \CASE{\T{id} ;} +\end{grammar} + +\noindent +In a declaration of the form \texttt{(\T{id},\T{id}) <{}< + \T{rulename\_id}.\T{id} ;}, the left component of \texttt{(\T{id},\T{id})} +receives a string representation of the value of the inherited metavariable +while the right component receives its abstract syntax tree. The file +\texttt{parsing\_c/ast\_c.ml} in the Coccinelle implementation gives some +information about the structure of the abstract syntax tree. Either the +left or right component may be replaced by \verb+_+, indicating that the +string representation or abstract syntax trees representation is not +wanted, respectively. + \section{Transformation} The transformation specification essentially has the form of C code, @@ -455,7 +490,7 @@ some constraints on the use of these annotations: Each element of a disjunction must be a proper term like an expression, a statement, an identifier or a declaration. Thus, the -rule on the left below is not a syntaxically correct SmPL rule. One may +rule on the left below is not a syntactically correct SmPL rule. One may use the rule on the right instead. \begin{center} @@ -656,7 +691,7 @@ T foo() { ... } \end{lstlisting} \noindent -It may be nencessary to consider several cases to ensure that the added ode +It may be necessary to consider several cases to ensure that the added ode is placed in the right position. For example, one may need one pattern that considers that the function is declared {\tt inline} and another that considers that it is not. diff --git a/docs/manual/main_grammar.pdf b/docs/manual/main_grammar.pdf index c6cc619a1ae81134d3d4e21b289f11bcf0113296..6cced42e67983e74b2b09a3b30df20811a125ae5 100644 GIT binary patch delta 122734 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�-gJ;~Vj6iks=} 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 delta 121091 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 Y!_Z#nun8Ea_0z|Q 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%0DYU}k|P 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 bFTDEN4`03W-K%VatmV~5AHDtjb65Wd$3j9! diff --git a/docs/manual/manual.pdf b/docs/manual/manual.pdf index 669781bdd75696d9cf30e084328825de391e5616..06bf752b010b0695344031e3eccf4dad35c86356 100644 GIT binary patch delta 96917 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 z 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 kkG|?v8~2~N|)m-(787d+kkcx_RUO0oqUgGXMYp delta 95022 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 B?Pvf1 diff --git a/docs/manual/options.pdf b/docs/manual/options.pdf index d7525cd52f1b56e026c0669d9e5de0343953f8d3..5b255a785549690a6f06549699ee67182bd92419 100644 GIT binary patch delta 29946 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 a4u2;<|6P7=?t(xyn1Ko|TxevzT=0J?K4yFX delta 29204 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 XwAJ5ztppH@KyeAJky@4uXG{Da@iGG* diff --git a/docs/manual/spatch_options.tex b/docs/manual/spatch_options.tex index 3d35786..b6228e2 100644 --- a/docs/manual/spatch_options.tex +++ b/docs/manual/spatch_options.tex @@ -80,6 +80,9 @@ isomorphisms to the specified integer. \rare{-no\_iso\_limit} Put no limit on the number of times that isomorphisms can be applied. This is the default. +\rare{-disable\_iso}{Disable a specific isomorphism from the command line. + This option can be specified multiple times.} + \developer{-track\_iso}{ Gather information about isomorphism usage.} \developer{-profile\_iso}{ Gather information about the time required for diff --git a/engine/asttoctl2.ml b/engine/asttoctl2.ml index 5b7cd6f..ee7ac66 100644 --- a/engine/asttoctl2.ml +++ b/engine/asttoctl2.ml @@ -498,7 +498,12 @@ let make_match label guard code = | _ -> CTL.Exists(true,v,predmaker guard (matcher,CTL.UnModif v) label)) let make_raw_match label guard code = - predmaker guard (Lib_engine.Match(code),CTL.Control) label + match intersect !used_after (Ast.get_fvs code) with + [] -> predmaker guard (Lib_engine.Match(code),CTL.Control) label + | _ -> + let v = fresh_var() in + CTL.Exists(true,v,predmaker guard (Lib_engine.Match(code),CTL.UnModif v) + label) let rec seq_fvs quantified = function [] -> [] diff --git a/engine/check_exhaustive_pattern.ml b/engine/check_exhaustive_pattern.ml index 5996c89..7dab2ac 100644 --- a/engine/check_exhaustive_pattern.ml +++ b/engine/check_exhaustive_pattern.ml @@ -77,6 +77,7 @@ let dumb_astcocci_decl = function | A.MacroDecl(fn, _, eas, _, _) -> () | A.Ddots(dots,whencode) -> () | A.MetaDecl _ -> () + | A.MetaField _ -> () | A.Typedef(d,ty1,ty2,pv) -> () | A.DisjDecl xs -> () | A.OptDecl _ | A.UniqueDecl _ -> () @@ -90,6 +91,7 @@ let dumb_astcocci_initialiser = function | A.DisjDecl(decls) -> () | A.Ddots(dots,whencode) -> () | A.MetaDecl(name,_,_) -> () + | A.MetaField(name,_,_) -> () | A.OptDecl(decl) -> () | A.UniqueDecl(decl) -> () diff --git a/engine/cocci_vs_c.ml b/engine/cocci_vs_c.ml index a84d682..8fe06f5 100644 --- a/engine/cocci_vs_c.ml +++ b/engine/cocci_vs_c.ml @@ -276,6 +276,10 @@ let equal_metavarval valu valu' = | Ast_c.MetaExprListVal a, Ast_c.MetaExprListVal b -> Lib_parsing_c.al_arguments a =*= Lib_parsing_c.al_arguments b + | Ast_c.MetaDeclVal a, Ast_c.MetaDeclVal b -> + Lib_parsing_c.al_declaration a =*= Lib_parsing_c.al_declaration b + | Ast_c.MetaFieldVal a, Ast_c.MetaFieldVal b -> + Lib_parsing_c.al_field a =*= Lib_parsing_c.al_field b | Ast_c.MetaStmtVal a, Ast_c.MetaStmtVal b -> Lib_parsing_c.al_statement a =*= Lib_parsing_c.al_statement b | Ast_c.MetaInitVal a, Ast_c.MetaInitVal b -> @@ -305,7 +309,7 @@ let equal_metavarval valu valu' = l1 | (B.MetaPosValList _|B.MetaListlenVal _|B.MetaPosVal _|B.MetaStmtVal _ - |B.MetaTypeVal _ |B.MetaInitVal _ + |B.MetaDeclVal _ |B.MetaFieldVal _ |B.MetaTypeVal _ |B.MetaInitVal _ |B.MetaParamListVal _|B.MetaParamVal _|B.MetaExprListVal _ |B.MetaExprVal _|B.MetaLocalFuncVal _|B.MetaFuncVal _|B.MetaIdVal _ ), _ @@ -333,6 +337,10 @@ let equal_inh_metavarval valu valu'= | Ast_c.MetaExprListVal a, Ast_c.MetaExprListVal b -> Lib_parsing_c.al_inh_arguments a =*= Lib_parsing_c.al_inh_arguments b + | Ast_c.MetaDeclVal a, Ast_c.MetaDeclVal b -> + Lib_parsing_c.al_inh_declaration a =*= Lib_parsing_c.al_inh_declaration b + | Ast_c.MetaFieldVal a, Ast_c.MetaFieldVal b -> + Lib_parsing_c.al_inh_field a =*= Lib_parsing_c.al_inh_field b | Ast_c.MetaStmtVal a, Ast_c.MetaStmtVal b -> Lib_parsing_c.al_inh_statement a =*= Lib_parsing_c.al_inh_statement b | Ast_c.MetaInitVal a, Ast_c.MetaInitVal b -> @@ -362,7 +370,7 @@ let equal_inh_metavarval valu valu'= l1 | (B.MetaPosValList _|B.MetaListlenVal _|B.MetaPosVal _|B.MetaStmtVal _ - |B.MetaTypeVal _ |B.MetaInitVal _ + |B.MetaDeclVal _ |B.MetaFieldVal _ |B.MetaTypeVal _ |B.MetaInitVal _ |B.MetaParamListVal _|B.MetaParamVal _|B.MetaExprListVal _ |B.MetaExprVal _|B.MetaLocalFuncVal _|B.MetaFuncVal _|B.MetaIdVal _ ), _ @@ -628,6 +636,10 @@ module type PARAM = (A.meta_name A.mcode, Ast_c.parameterType) matcher val distrf_ini : (A.meta_name A.mcode, Ast_c.initialiser) matcher + val distrf_decl : + (A.meta_name A.mcode, Ast_c.declaration) matcher + val distrf_field : + (A.meta_name A.mcode, Ast_c.field) matcher val distrf_node : (A.meta_name A.mcode, Control_flow_c.node) matcher @@ -1777,12 +1789,15 @@ and (declaration: (A.mcodekind * bool * A.declaration,B.declaration) matcher) = * be no transform of MetaDecl, just matching are allowed. *) - | A.MetaDecl(ida,_keep,_inherited), _ -> (* keep ? inherited ? *) - (* todo: should not happen in transform mode *) - return ((mckstart, allminus, decla), declb) - - - + | A.MetaDecl (ida,keep,inherited), _ -> + let max_min _ = + Lib_parsing_c.lin_col_by_pos (Lib_parsing_c.ii_of_decl declb) in + X.envf keep inherited (ida, Ast_c.MetaDeclVal declb, max_min) (fun () -> + X.distrf_decl ida declb + ) >>= (fun ida declb -> + return ((mckstart, allminus, + (A.MetaDecl (ida, keep, inherited))+> A.rewrap decla), + declb)) | _, (B.DeclList ([var], iiptvirgb::iifakestart::iisto)) -> onedecl allminus decla (var,iiptvirgb,iisto) >>= (fun decla (var,iiptvirgb,iisto)-> @@ -1835,7 +1850,7 @@ and (declaration: (A.mcodekind * bool * A.declaration,B.declaration) matcher) = [iisb;lpb;rpb;iiendb;iifakestart] ++ iistob)) )))))))) - | _, (B.MacroDecl _ |B.DeclList _) -> fail + | _, (B.MacroDecl _ |B.DeclList _) -> fail and onedecl = fun allminus decla (declb, iiptvirgb, iistob) -> @@ -1845,6 +1860,7 @@ and onedecl = fun allminus decla (declb, iiptvirgb, iistob) -> (* kind of typedef iso, we must unfold, it's for the case * T { }; that we want to match against typedef struct { } xx_t; *) + | A.TyDecl (tya0, ptvirga), ({B.v_namei = Some (nameidb, None); B.v_type = typb0; @@ -2425,8 +2441,16 @@ and (struct_fields: (A.declaration list, B.field list) matcher) = and (struct_field: (A.declaration, B.field) matcher) = fun fa fb -> - match fb with - | B.DeclarationField (B.FieldDeclList (onefield_multivars,iiptvirg)) -> + match A.unwrap fa,fb with + | A.MetaField (ida,keep,inherited), _ -> + let max_min _ = + Lib_parsing_c.lin_col_by_pos (Lib_parsing_c.ii_of_field fb) in + X.envf keep inherited (ida, Ast_c.MetaFieldVal fb, max_min) (fun () -> + X.distrf_field ida fb + ) >>= (fun ida fb -> + return ((A.MetaField (ida, keep, inherited))+> A.rewrap fa, + fb)) + | _,B.DeclarationField (B.FieldDeclList (onefield_multivars,iiptvirg)) -> let iiptvirgb = tuple_of_list1 iiptvirg in @@ -2484,16 +2508,15 @@ and (struct_field: (A.declaration, B.field) matcher) = fun fa fb -> pr2_once "PB: More that one variable in decl. Have to split"; fail ) - | B.EmptyField _iifield -> + | _,B.EmptyField _iifield -> fail - | B.MacroDeclField ((sb,ebs),ii) -> - (match A.unwrap fa with - A.MacroDecl (sa,lpa,eas,rpa,enda) -> raise Todo - | _ -> fail) + | A.MacroDecl (sa,lpa,eas,rpa,enda),B.MacroDeclField ((sb,ebs),ii) -> + raise Todo + | _,B.MacroDeclField ((sb,ebs),ii) -> fail - | B.CppDirectiveStruct directive -> fail - | B.IfdefStruct directive -> fail + | _,B.CppDirectiveStruct directive -> fail + | _,B.IfdefStruct directive -> fail diff --git a/engine/cocci_vs_c.mli b/engine/cocci_vs_c.mli index 2200d9e..c2f90b6 100644 --- a/engine/cocci_vs_c.mli +++ b/engine/cocci_vs_c.mli @@ -127,6 +127,10 @@ module type PARAM = val distrf_ini : (Ast_cocci.meta_name Ast_cocci.mcode, Ast_c.initialiser) matcher + val distrf_decl : + (Ast_cocci.meta_name Ast_cocci.mcode, Ast_c.declaration) matcher + val distrf_field : + (Ast_cocci.meta_name Ast_cocci.mcode, Ast_c.field) matcher val distrf_node : (Ast_cocci.meta_name Ast_cocci.mcode, Control_flow_c.node) matcher diff --git a/engine/pattern_c.ml b/engine/pattern_c.ml index 04519d0..029dcd8 100644 --- a/engine/pattern_c.ml +++ b/engine/pattern_c.ml @@ -288,15 +288,17 @@ module XMATCH = struct in tag_mck_pos_mcode mcode posmck x tin - let distrf_e = distrf (Lib_parsing_c.ii_of_expr) - let distrf_args = distrf (Lib_parsing_c.ii_of_args) - let distrf_type = distrf (Lib_parsing_c.ii_of_type) - let distrf_param = distrf (Lib_parsing_c.ii_of_param) + let distrf_e = distrf (Lib_parsing_c.ii_of_expr) + let distrf_args = distrf (Lib_parsing_c.ii_of_args) + let distrf_type = distrf (Lib_parsing_c.ii_of_type) + let distrf_param = distrf (Lib_parsing_c.ii_of_param) let distrf_params = distrf (Lib_parsing_c.ii_of_params) - let distrf_ini = distrf (Lib_parsing_c.ii_of_ini) + let distrf_ini = distrf (Lib_parsing_c.ii_of_ini) + let distrf_decl = distrf (Lib_parsing_c.ii_of_decl) + let distrf_field = distrf (Lib_parsing_c.ii_of_field) let distrf_node = distrf (Lib_parsing_c.ii_of_node) - let distrf_struct_fields = distrf (Lib_parsing_c.ii_of_struct_fields) - let distrf_cst = distrf (Lib_parsing_c.ii_of_cst) + let distrf_struct_fields = distrf (Lib_parsing_c.ii_of_struct_fields) + let distrf_cst = distrf (Lib_parsing_c.ii_of_cst) let distrf_define_params = distrf (Lib_parsing_c.ii_of_define_params) @@ -421,6 +423,18 @@ module XMATCH = struct then Lib_parsing_c.al_arguments a else Lib_parsing_c.semi_al_arguments a)) + | Ast_c.MetaDeclVal a -> + success + (Ast_c.MetaDeclVal + (if strip + then Lib_parsing_c.al_declaration a + else Lib_parsing_c.semi_al_declaration a)) + | Ast_c.MetaFieldVal a -> + success + (Ast_c.MetaFieldVal + (if strip + then Lib_parsing_c.al_field a + else Lib_parsing_c.semi_al_field a)) | Ast_c.MetaStmtVal a -> success (Ast_c.MetaStmtVal diff --git a/engine/pretty_print_engine.ml b/engine/pretty_print_engine.ml index fbad228..657d6c6 100644 --- a/engine/pretty_print_engine.ml +++ b/engine/pretty_print_engine.ml @@ -41,6 +41,10 @@ let rec pp_binding_kind = function Pretty_print_c.pp_init_simple ini | Ast_c.MetaTypeVal typ -> Pretty_print_c.pp_type_simple typ + | Ast_c.MetaDeclVal decl -> + Pretty_print_c.pp_decl_simple decl + | Ast_c.MetaFieldVal decl -> + Pretty_print_c.pp_field_simple decl | Ast_c.MetaStmtVal statement -> Pretty_print_c.pp_statement_simple statement | Ast_c.MetaParamVal params -> pp "<>" diff --git a/engine/transformation_c.ml b/engine/transformation_c.ml index 69b9050..029aa91 100644 --- a/engine/transformation_c.ml +++ b/engine/transformation_c.ml @@ -417,6 +417,12 @@ module XTRANS = struct let distribute_mck_type (maxpos, minpos) = fun (lop,mop,rop,bop) -> fun x -> Visitor_c.vk_type_s (mk_bigf (maxpos, minpos) (lop,mop,rop,bop)) x + let distribute_mck_decl (maxpos, minpos) = fun (lop,mop,rop,bop) -> fun x -> + Visitor_c.vk_decl_s (mk_bigf (maxpos, minpos) (lop,mop,rop,bop)) x + + let distribute_mck_field (maxpos, minpos) = fun (lop,mop,rop,bop) -> fun x -> + Visitor_c.vk_struct_field_s (mk_bigf (maxpos, minpos) (lop,mop,rop,bop)) x + let distribute_mck_ini (maxpos, minpos) = fun (lop,mop,rop,bop) -> fun x -> Visitor_c.vk_ini_s (mk_bigf (maxpos, minpos) (lop,mop,rop,bop)) x @@ -493,6 +499,8 @@ module XTRANS = struct let distrf_param = distrf (Lib_parsing_c.ii_of_param, distribute_mck_param) let distrf_params = distrf (Lib_parsing_c.ii_of_params,distribute_mck_params) let distrf_ini = distrf (Lib_parsing_c.ii_of_ini,distribute_mck_ini) + let distrf_decl = distrf (Lib_parsing_c.ii_of_decl,distribute_mck_decl) + let distrf_field = distrf (Lib_parsing_c.ii_of_field,distribute_mck_field) let distrf_node = distrf (Lib_parsing_c.ii_of_node,distribute_mck_node) let distrf_struct_fields = distrf (Lib_parsing_c.ii_of_struct_fields, distribute_mck_struct_fields) diff --git a/globals/config.ml.in b/globals/config.ml.in index 1f27bf3..c5a1606 100644 --- a/globals/config.ml.in +++ b/globals/config.ml.in @@ -1,4 +1,4 @@ -let version = "0.2.3" +let version = "0.2.4rc1" let path = try (Sys.getenv "COCCINELLE_HOME") diff --git a/main.ml b/main.ml index eb02bb7..60fd7df 100644 --- a/main.ml +++ b/main.ml @@ -340,7 +340,7 @@ let short_options = [ " guess what"; "-date", Arg.Unit (fun () -> - pr2 "version: $Date: 2010/07/01 13:22:53 $"; + pr2 "version: $Date: 2010/08/06 12:05:34 $"; raise (Common.UnixExit 0) ), " guess what"; @@ -491,6 +491,11 @@ let other_options = [ " disable limit on max depth of iso application"; "-track_iso", Arg.Set Flag.track_iso_usage, " gather information about isomorphism usage"; + "-disable_iso", + Arg.String + (fun s -> Flag_parsing_cocci.disabled_isos := + s :: !Flag_parsing_cocci.disabled_isos), + " disable a specific isomorphism"; "-profile_iso", Arg.Unit (function () -> @@ -738,19 +743,22 @@ let glimpse_filter (coccifile, isofile) dir = Cocci.sp_of_file coccifile (Some isofile) in match query with None -> pr2 "no glimpse keyword inferred from snippet"; None - | Some [query] -> - (let suffixes = if !include_headers then ["c";"h"] else ["c"] in - Printf.fprintf stderr "%s\n" ("glimpse request = " ^ query); - let command = spf "glimpse -y -H %s -N -W -w '%s'" dir query in - let (glimpse_res,stat) = Common.cmd_to_list_and_status command in - match stat with - Unix.WEXITED(0) | Unix.WEXITED(1) -> - Some - (glimpse_res +> - List.filter - (fun file -> List.mem (Common.filesuffix file) suffixes)) - | _ -> None (* error, eg due to pattern too big *)) - | _ -> failwith "not possible" + | Some queries -> + let suffixes = if !include_headers then ["c";"h"] else ["c"] in + let rec loop = function + [] -> None (* error, eg due to pattern too big *) + | query::queries -> + Printf.fprintf stderr "%s\n" ("glimpse request = " ^ query); + let command = spf "glimpse -y -H %s -N -W -w '%s'" dir query in + let (glimpse_res,stat) = Common.cmd_to_list_and_status command in + match stat with + Unix.WEXITED(0) | Unix.WEXITED(1) -> + Some + (glimpse_res +> + List.filter + (fun file -> List.mem (Common.filesuffix file) suffixes)) + | _ -> loop queries (* error, eg due to pattern too big *) in + loop queries (*****************************************************************************) (* Main action *) diff --git a/ocaml/coccilib.ml b/ocaml/coccilib.ml index 8c04600..5567ef7 100644 --- a/ocaml/coccilib.ml +++ b/ocaml/coccilib.ml @@ -17,9 +17,11 @@ type param_type = | ParamList of Ast_c.parameterType Ast_c.wrap2 list | Expr of Ast_c.expression | ExprList of Ast_c.argument Ast_c.wrap2 list + | Decl of Ast_c.declaration + | Field of Ast_c.field | Stmt of Ast_c.statement -let fcts : (string, param_type list -> unit) Hashtbl.t = +let fcts : (string, param_type list -> string ref list -> unit) Hashtbl.t = Hashtbl.create 11 (* Use prime number *) (* ---------------------------------------------------------------------- *) diff --git a/ocaml/coccilib.mli b/ocaml/coccilib.mli index 08f6416..d2619af 100644 --- a/ocaml/coccilib.mli +++ b/ocaml/coccilib.mli @@ -16,9 +16,11 @@ type param_type = | ParamList of Ast_c.parameterType Ast_c.wrap2 list | Expr of Ast_c.expression | ExprList of Ast_c.argument Ast_c.wrap2 list + | Decl of Ast_c.declaration + | Field of Ast_c.field | Stmt of Ast_c.statement -val fcts : (string, param_type list -> unit) Hashtbl.t +val fcts : (string, param_type list -> string ref list -> unit) Hashtbl.t (* ---------------------------------------------------------------------- *) (* Match management *) diff --git a/ocaml/ocamlcocci_aux.ml b/ocaml/ocamlcocci_aux.ml index fd182a6..36269b6 100644 --- a/ocaml/ocamlcocci_aux.ml +++ b/ocaml/ocamlcocci_aux.ml @@ -17,14 +17,20 @@ let stringrep = function | Ast_c.MetaFuncVal s -> s | Ast_c.MetaLocalFuncVal s -> s | Ast_c.MetaExprVal (expr,_) -> exprrep expr -| Ast_c.MetaExprListVal expr_list -> "TODO: <>" +| Ast_c.MetaExprListVal expr_list -> + call_pretty Pretty_print_c.pp_arg_list_gen expr_list | Ast_c.MetaTypeVal typ -> call_pretty Pretty_print_c.pp_type_gen typ | Ast_c.MetaInitVal ini -> call_pretty Pretty_print_c.pp_init_gen ini +| Ast_c.MetaDeclVal declaration -> + call_pretty Pretty_print_c.pp_decl_gen declaration +| Ast_c.MetaFieldVal field -> + call_pretty Pretty_print_c.pp_field_gen field | Ast_c.MetaStmtVal statement -> call_pretty Pretty_print_c.pp_statement_gen statement | Ast_c.MetaParamVal param -> call_pretty Pretty_print_c.pp_param_gen param -| Ast_c.MetaParamListVal params -> "TODO: <>" +| Ast_c.MetaParamListVal params -> + call_pretty Pretty_print_c.pp_param_list_gen params | Ast_c.MetaListlenVal n -> string_of_int n | Ast_c.MetaPosVal (pos1, pos2) -> let print_pos = function diff --git a/ocaml/run_ocamlcocci.ml b/ocaml/run_ocamlcocci.ml index ff4ce7a..338927f 100644 --- a/ocaml/run_ocamlcocci.ml +++ b/ocaml/run_ocamlcocci.ml @@ -34,12 +34,14 @@ let ast_binding vl = function | Ast_c.MetaTypeVal ty -> Coccilib.Type ty | Ast_c.MetaInitVal init -> Coccilib.Init init + | Ast_c.MetaDeclVal decl -> Coccilib.Decl decl + | Ast_c.MetaFieldVal field -> Coccilib.Field field | Ast_c.MetaStmtVal stm -> Coccilib.Stmt stm | Ast_c.MetaPosVal _ | Ast_c.MetaPosValList _ | Ast_c.MetaListlenVal _ -> failwith "not associated with a declared metavariable"] -let run mv ve name code = +let run mv ve script_vars name code = (* set up variables *) let find_binding (r,m) = try @@ -58,9 +60,12 @@ let run mv ve name code = (string_binding vl str_name) @ (ast_binding vl ast_name)) mv) in + let script_args = List.map (function _ -> ref "") script_vars in + (* call the function *) Coccilib.include_match true; let fn = try Hashtbl.find Coccilib.fcts name with Not_found -> failwith (Printf.sprintf "%s not found" name) in - fn args + fn args script_args; + List.map (function x -> !x) script_args diff --git a/ocaml/yes_prepare_ocamlcocci.ml b/ocaml/yes_prepare_ocamlcocci.ml index 652e00b..ac2fa2e 100644 --- a/ocaml/yes_prepare_ocamlcocci.ml +++ b/ocaml/yes_prepare_ocamlcocci.ml @@ -71,6 +71,8 @@ let ast_rep_binding ctr = function | (Some nm,Ast.MetaIdExpDecl _) -> print_match ctr nm "Expr" | (Some nm,Ast.MetaLocalIdExpDecl _) -> print_match ctr nm "Expr" | (Some nm,Ast.MetaExpListDecl _) -> print_match ctr nm "ExprList" + | (Some nm,Ast.MetaDeclDecl _) -> print_match ctr nm "Decl" + | (Some nm,Ast.MetaFieldDecl _) -> print_match ctr nm "Field" | (Some nm,Ast.MetaStmDecl _) -> print_match ctr nm "Stmt" | (Some nm,Ast.MetaStmListDecl _) -> failwith ("not supported: "^nm) | (Some nm,Ast.MetaFuncDecl _) -> print_match ctr nm "Str" @@ -79,11 +81,19 @@ let ast_rep_binding ctr = function | (Some nm,Ast.MetaIteratorDecl _) -> print_match ctr nm "Str" | (None,_) -> "" -let prepare_rule (name, metavars, code) = +let manage_script_vars script_vars = + let rec loop n = function + [] -> "" + | (_,x)::xs -> + (Printf.sprintf "let %s = List.nth script_args %d in\n" x n) ^ + (loop (n+1) xs) in + loop 0 script_vars + +let prepare_rule (name, metavars, script_vars, code) = let fname = String.concat "_" (Str.split (Str.regexp " ") name) in (* function header *) let function_header body = - Printf.sprintf "let %s args =\n %s" fname body in + Printf.sprintf "let %s args script_args =\n %s" fname body in (* parameter list *) let build_parameter_list body = let ctr = ref 0 in @@ -98,7 +108,7 @@ let prepare_rule (name, metavars, code) = let ast_rep = ast_rep_binding ctr (ast_nm,mv) in ast_rep :: string_rep :: prev) [] metavars)) in - lets ^ body in + lets ^ (manage_script_vars script_vars) ^ body in (* add to hash table *) let hash_add body = Printf.sprintf @@ -119,11 +129,11 @@ let prepare coccifile code = List.fold_left (function prev -> function - Ast_cocci.ScriptRule (name,"ocaml",deps,mv,code) -> - (name,mv,code) :: prev + Ast_cocci.ScriptRule (name,"ocaml",deps,mv,script_vars,code) -> + (name,mv,script_vars,code) :: prev | Ast_cocci.InitialScriptRule (name,"ocaml",deps,code) -> prev | Ast_cocci.FinalScriptRule (name,"ocaml",deps,code) -> - (name,[],code) :: prev + (name,[],[],code) :: prev | _ -> prev) [] code in let other_rules = List.rev other_rules in @@ -222,17 +232,17 @@ let parse_dep mlfile depout = | _ -> raise (CompileFailure ("Wrong dependencies for "^mlfile^" (Got "^depout^")")) - + let dep_flag mlfile = let depcmd = !Flag.ocamldep ^" -modules "^mlfile in match Common.cmd_to_list depcmd with [dep] -> parse_dep mlfile dep | _ -> raise (CompileFailure ("Wrong dependencies for "^mlfile)) - + let compile_bytecode_cmd flags mlfile = let obj = (Filename.chop_extension mlfile) ^ ".cmo" in (obj, Printf.sprintf "%s -c %s %s %s" !Flag.ocamlc obj flags mlfile) - + let compile_native_cmd flags mlfile = let obj = (Filename.chop_extension mlfile) ^ ".cmxs" in (obj, diff --git a/parsing_c/ast_c.ml b/parsing_c/ast_c.ml index 2c4c5ff..3b7e651 100644 --- a/parsing_c/ast_c.ml +++ b/parsing_c/ast_c.ml @@ -699,6 +699,8 @@ and metavars_binding = (Ast_cocci.meta_name, metavar_binding_kind) assoc | MetaTypeVal of fullType | MetaInitVal of initialiser + | MetaDeclVal of declaration + | MetaFieldVal of field | MetaStmtVal of statement (* Could also be in Lib_engine.metavars_binding2 with the ParenVal, diff --git a/parsing_c/lib_parsing_c.ml b/parsing_c/lib_parsing_c.ml index 19a283d..8b30c54 100644 --- a/parsing_c/lib_parsing_c.ml +++ b/parsing_c/lib_parsing_c.ml @@ -68,6 +68,8 @@ let strip_info_visitor _ = } let al_expr x = Visitor_c.vk_expr_s (strip_info_visitor()) x +let al_declaration x = Visitor_c.vk_decl_s (strip_info_visitor()) x +let al_field x = Visitor_c.vk_struct_field_s (strip_info_visitor()) x let al_statement x = Visitor_c.vk_statement_s (strip_info_visitor()) x let al_type x = Visitor_c.vk_type_s (strip_info_visitor()) x let al_init x = Visitor_c.vk_ini_s (strip_info_visitor()) x @@ -119,6 +121,8 @@ let strip_inh_info_visitor _ = (* for inherited metavariables *) } let al_inh_expr x = Visitor_c.vk_expr_s (strip_inh_info_visitor()) x +let al_inh_declaration x = Visitor_c.vk_decl_s (strip_inh_info_visitor()) x +let al_inh_field x = Visitor_c.vk_struct_field_s (strip_inh_info_visitor()) x let al_inh_statement x = Visitor_c.vk_statement_s (strip_inh_info_visitor()) x let al_inh_type x = Visitor_c.vk_type_s (strip_inh_info_visitor()) x let al_inh_init x = Visitor_c.vk_ini_s (strip_inh_info_visitor()) x @@ -142,6 +146,8 @@ let semi_strip_info_visitor = (* keep position information *) } let semi_al_expr = Visitor_c.vk_expr_s semi_strip_info_visitor +let semi_al_declaration = Visitor_c.vk_decl_s semi_strip_info_visitor +let semi_al_field = Visitor_c.vk_struct_field_s semi_strip_info_visitor let semi_al_statement = Visitor_c.vk_statement_s semi_strip_info_visitor let semi_al_type = Visitor_c.vk_type_s semi_strip_info_visitor let semi_al_init = Visitor_c.vk_ini_s semi_strip_info_visitor @@ -203,6 +209,7 @@ let extract_info_visitor recursor x = end let ii_of_decl = extract_info_visitor Visitor_c.vk_decl +let ii_of_field = extract_info_visitor Visitor_c.vk_struct_field let ii_of_node = extract_info_visitor Visitor_c.vk_node let ii_of_expr = extract_info_visitor Visitor_c.vk_expr let ii_of_stmt = extract_info_visitor Visitor_c.vk_statement diff --git a/parsing_c/pretty_print_c.ml b/parsing_c/pretty_print_c.ml index 78314ec..e161c37 100644 --- a/parsing_c/pretty_print_c.ml +++ b/parsing_c/pretty_print_c.ml @@ -40,8 +40,10 @@ type pretty_printers = { arg_list : (Ast_c.argument Ast_c.wrap2 list) printer; statement : Ast_c.statement printer; decl : Ast_c.declaration printer; + field : Ast_c.field printer; init : Ast_c.initialiser printer; param : Ast_c.parameterType printer; + paramlist : (Ast_c.parameterType Ast_c.wrap2 list) printer; ty : Ast_c.fullType printer; type_with_ident : type_with_ident; toplevel : Ast_c.toplevel printer; @@ -441,98 +443,7 @@ let mk_pretty_printers | x -> raise Impossible ); - fields +> List.iter - (fun (field) -> - - match field with - | DeclarationField(FieldDeclList(onefield_multivars,iiptvirg))-> - (match onefield_multivars with - | x::xs -> - (* handling the first var. Special case, with the - first var, we print the whole type *) - - (match x with - | (Simple (nameopt, typ)), iivirg -> - (* first var cant have a preceding ',' *) - assert (List.length iivirg =|= 0); - let identinfo = - match nameopt with - | None -> None - | Some name -> Some (get_s_and_info_of_name name) - in - pp_type_with_ident identinfo None typ Ast_c.noattr; - - | (BitField (nameopt, typ, iidot, expr)), iivirg -> - (* first var cant have a preceding ',' *) - assert (List.length iivirg =|= 0); - (match nameopt with - | None -> - pp_type typ; - | Some name -> - let (s, is) = get_s_and_info_of_name name in - pp_type_with_ident - (Some (s, is)) None typ Ast_c.noattr; - ); - pr_elem iidot; - pp_expression expr - - ); (* match x, first onefield_multivars *) - - (* for other vars *) - xs +> List.iter (function - | (Simple (nameopt, typ)), iivirg -> - iivirg +> List.iter pr_elem; - let identinfo = - match nameopt with - | None -> None - | Some name -> Some (get_s_and_info_of_name name) - in - pp_type_with_ident_rest identinfo typ Ast_c.noattr - - | (BitField (nameopt, typ, iidot, expr)), iivirg -> - iivirg +> List.iter pr_elem; - (match nameopt with - | Some name -> - let (s,is) = get_s_and_info_of_name name in - pp_type_with_ident_rest - (Some (s, is)) typ Ast_c.noattr; - pr_elem iidot; - pp_expression expr - | x -> raise Impossible - )); (* iter other vars *) - - | [] -> raise Impossible - ); (* onefield_multivars *) - assert (List.length iiptvirg =|= 1); - iiptvirg +> List.iter pr_elem; - - - | MacroDeclField ((s, es), ii) -> - let (iis, lp, rp, iiend, ifakestart) = - Common.tuple_of_list5 ii in - (* iis::lp::rp::iiend::ifakestart::iisto - iisto +> List.iter pr_elem; (* static and const *) - *) - pr_elem ifakestart; - pr_elem iis; - pr_elem lp; - es +> List.iter (fun (e, opt) -> - assert (List.length opt <= 1); - opt +> List.iter pr_elem; - pp_argument e; - ); - - pr_elem rp; - pr_elem iiend; - - - - | EmptyField iipttvirg_when_emptyfield -> - pr_elem iipttvirg_when_emptyfield - - | CppDirectiveStruct cpp -> pp_directive cpp - | IfdefStruct ifdef -> pp_ifdef ifdef - ); + fields +> List.iter pp_field; (match sopt,iis with | Some s , [i1;i2;i3;i4] -> pr_elem i4 @@ -626,8 +537,95 @@ let mk_pretty_printers (* | TypeOfExpr _ | TypeOfType _ *) ), _ -> raise Impossible + and pp_field = function + DeclarationField(FieldDeclList(onefield_multivars,iiptvirg))-> + (match onefield_multivars with + x::xs -> + (* handling the first var. Special case, with the + first var, we print the whole type *) + + (match x with + (Simple (nameopt, typ)), iivirg -> + (* first var cant have a preceding ',' *) + assert (List.length iivirg =|= 0); + let identinfo = + match nameopt with + | None -> None + | Some name -> Some (get_s_and_info_of_name name) + in + pp_type_with_ident identinfo None typ Ast_c.noattr; + + | (BitField (nameopt, typ, iidot, expr)), iivirg -> + (* first var cant have a preceding ',' *) + assert (List.length iivirg =|= 0); + (match nameopt with + | None -> + pp_type typ; + | Some name -> + let (s, is) = get_s_and_info_of_name name in + pp_type_with_ident + (Some (s, is)) None typ Ast_c.noattr; + ); + pr_elem iidot; + pp_expression expr + + ); (* match x, first onefield_multivars *) + + (* for other vars *) + xs +> List.iter (function + | (Simple (nameopt, typ)), iivirg -> + iivirg +> List.iter pr_elem; + let identinfo = + match nameopt with + | None -> None + | Some name -> Some (get_s_and_info_of_name name) + in + pp_type_with_ident_rest identinfo typ Ast_c.noattr + + | (BitField (nameopt, typ, iidot, expr)), iivirg -> + iivirg +> List.iter pr_elem; + (match nameopt with + | Some name -> + let (s,is) = get_s_and_info_of_name name in + pp_type_with_ident_rest + (Some (s, is)) typ Ast_c.noattr; + pr_elem iidot; + pp_expression expr + | x -> raise Impossible + )); (* iter other vars *) + + | [] -> raise Impossible + ); (* onefield_multivars *) + assert (List.length iiptvirg =|= 1); + iiptvirg +> List.iter pr_elem; + + + | MacroDeclField ((s, es), ii) -> + let (iis, lp, rp, iiend, ifakestart) = + Common.tuple_of_list5 ii in + (* iis::lp::rp::iiend::ifakestart::iisto + iisto +> List.iter pr_elem; (* static and const *) + *) + pr_elem ifakestart; + pr_elem iis; + pr_elem lp; + es +> List.iter (fun (e, opt) -> + assert (List.length opt <= 1); + opt +> List.iter pr_elem; + pp_argument e; + ); + + pr_elem rp; + pr_elem iiend; + + | EmptyField iipttvirg_when_emptyfield -> + pr_elem iipttvirg_when_emptyfield + + | CppDirectiveStruct cpp -> pp_directive cpp + | IfdefStruct ifdef -> pp_ifdef ifdef + (* used because of DeclList, in int i,*j[23]; we dont print anymore the int before *j *) and (pp_type_with_ident_rest: (string * info) option -> @@ -997,12 +995,7 @@ and pp_init (init, iinit) = iib +> List.iter pr_elem; *) - paramst +> List.iter (fun (param,iicomma) -> - assert ((List.length iicomma) <= 1); - iicomma +> List.iter (function x -> pr_elem x; pr_space()); - - pp_param param; - ); + pp_param_list paramst; iib +> List.iter pr_elem; @@ -1012,7 +1005,11 @@ and pp_init (init, iinit) = pr_elem i2; | _ -> raise Impossible - + and pp_param_list paramst = + paramst +> List.iter (fun (param,iicomma) -> + assert ((List.length iicomma) <= 1); + iicomma +> List.iter (function x -> pr_elem x; pr_space()); + pp_param param) (* ---------------------- *) @@ -1279,15 +1276,17 @@ and pp_init (init, iinit) = { expression = pp_expression; - arg_list = pp_arg_list; - statement = pp_statement; - decl = pp_decl; - init = pp_init; - param = pp_param; - ty = pp_type; + arg_list = pp_arg_list; + statement = pp_statement; + decl = pp_decl; + field = pp_field; + init = pp_init; + param = pp_param; + paramlist = pp_param_list; + ty = pp_type; type_with_ident = pp_type_with_ident; - toplevel = pp_toplevel; - flow = pp_flow; + toplevel = pp_toplevel; + flow = pp_flow; } (*****************************************************************************) @@ -1321,6 +1320,8 @@ let ppc = ~pr_elem ~pr_space ~pr_nl ~pr_outdent ~pr_indent ~pr_unindent let pp_expression_simple = ppc.expression +let pp_decl_simple = ppc.decl +let pp_field_simple = ppc.field let pp_statement_simple = ppc.statement let pp_type_simple = ppc.ty let pp_init_simple = ppc.init @@ -1336,21 +1337,27 @@ let pp_elem_sp ~pr_elem ~pr_space = let pp_expression_gen ~pr_elem ~pr_space = (pp_elem_sp pr_elem pr_space).expression -let pp_arg_list_gen pr_elem pr_space = +let pp_arg_list_gen ~pr_elem ~pr_space = (pp_elem_sp pr_elem pr_space).arg_list let pp_statement_gen ~pr_elem ~pr_space = (pp_elem_sp pr_elem pr_space).statement -let pp_decl_gen pr_elem pr_space = +let pp_decl_gen ~pr_elem ~pr_space = (pp_elem_sp pr_elem pr_space).decl +let pp_field_gen ~pr_elem ~pr_space = + (pp_elem_sp pr_elem pr_space).field + let pp_init_gen ~pr_elem ~pr_space = (pp_elem_sp pr_elem pr_space).init let pp_param_gen ~pr_elem ~pr_space = (pp_elem_sp pr_elem pr_space).param +let pp_param_list_gen ~pr_elem ~pr_space = + (pp_elem_sp pr_elem pr_space).paramlist + let pp_type_gen ~pr_elem ~pr_space = (pp_elem_sp pr_elem pr_space).ty diff --git a/parsing_c/pretty_print_c.mli b/parsing_c/pretty_print_c.mli index bf4febb..18d8292 100644 --- a/parsing_c/pretty_print_c.mli +++ b/parsing_c/pretty_print_c.mli @@ -11,8 +11,10 @@ type pretty_printers = { arg_list : (Ast_c.argument Ast_c.wrap2 list) printer; statement : Ast_c.statement printer; decl : Ast_c.declaration printer; + field : Ast_c.field printer; init : Ast_c.initialiser printer; param : Ast_c.parameterType printer; + paramlist : (Ast_c.parameterType Ast_c.wrap2 list) printer; ty : Ast_c.fullType printer; type_with_ident : type_with_ident; toplevel : Ast_c.toplevel printer; @@ -31,10 +33,18 @@ val mk_pretty_printers : (* used in pycocci mostly *) val pp_expression_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer -> Ast_c.expression printer +val pp_arg_list_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer -> + (Ast_c.argument Ast_c.wrap2 list) printer +val pp_decl_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer -> + Ast_c.declaration printer +val pp_field_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer -> + Ast_c.field printer val pp_statement_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer -> Ast_c.statement printer val pp_param_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer -> Ast_c.parameterType printer +val pp_param_list_gen: pr_elem:Ast_c.info printer -> pr_space: unit printer -> + (Ast_c.parameterType Ast_c.wrap2 list) printer val pp_type_gen: pr_elem:Ast_c.info printer -> pr_space:unit printer -> Ast_c.fullType printer val pp_init_gen: pr_elem:Ast_c.info printer -> pr_space:unit printer -> @@ -47,6 +57,8 @@ val pp_program_gen : pr_elem:Ast_c.info printer -> pr_space:unit printer -> val pp_expression_simple: Ast_c.expression printer val pp_init_simple: Ast_c.initialiser printer val pp_type_simple: Ast_c.fullType printer +val pp_decl_simple: Ast_c.declaration printer +val pp_field_simple: Ast_c.field printer val pp_statement_simple: Ast_c.statement printer val pp_toplevel_simple: Ast_c.toplevel printer diff --git a/parsing_c/sexp_ast_c.ml b/parsing_c/sexp_ast_c.ml index 3fa0ce6..5c20c8c 100644 --- a/parsing_c/sexp_ast_c.ml +++ b/parsing_c/sexp_ast_c.ml @@ -2987,6 +2987,18 @@ and metavar_binding_kind_of_sexp__ = (match sexp_args with | [ v1 ] -> let v1 = initialiser_of_sexp v1 in MetaInitVal v1 | _ -> Conv_error.stag_incorrect_n_args _loc tag sexp) + | (Sexp.List + (Sexp.Atom (("metaDeclVal" | "MetaDeclVal" as tag)) :: sexp_args) + as sexp) -> + (match sexp_args with + | [ v1 ] -> let v1 = declaration_of_sexp v1 in MetaDeclVal v1 + | _ -> Conv_error.stag_incorrect_n_args _loc tag sexp) + | (Sexp.List + (Sexp.Atom (("metaFieldVal" | "MetaFieldVal" as tag)) :: sexp_args) + as sexp) -> + (match sexp_args with + | [ v1 ] -> let v1 = field_of_sexp v1 in MetaDeclVal v1 + | _ -> Conv_error.stag_incorrect_n_args _loc tag sexp) | (Sexp.List (Sexp.Atom (("metaStmtVal" | "MetaStmtVal" as tag)) :: sexp_args) as sexp) -> diff --git a/parsing_c/test_parsing_c.ml b/parsing_c/test_parsing_c.ml index 4dc799a..1d2512d 100644 --- a/parsing_c/test_parsing_c.ml +++ b/parsing_c/test_parsing_c.ml @@ -33,11 +33,11 @@ let test_parse_gen xs ext = Flag_parsing_c.debug_etdt := false; Flag_parsing_c.filter_msg := true; - let dirname_opt = + (*let dirname_opt = match xs with | [x] when is_directory x -> Some x | _ -> None - in + in*) (* old: let xs = if !Flag.dir then diff --git a/parsing_c/unparse_c.ml b/parsing_c/unparse_c.ml index 15217bd..5a65f89 100644 --- a/parsing_c/unparse_c.ml +++ b/parsing_c/unparse_c.ml @@ -782,7 +782,6 @@ let rec paren_to_space = function | [x;y] -> [x;y] | ((T2(_,Ctx,_)) as a)::((T2(t,Min _,_)) as b)::((T2(_,Ctx,_)) as c)::rest when not (is_whitespace a) && TH.str_of_tok t = "(" -> - simple_print_all_tokens2 [a;b;c]; a :: b :: (C2 " ") :: (paren_to_space (c :: rest)) | a :: rest -> a :: (paren_to_space rest) diff --git a/parsing_c/unparse_cocci.ml b/parsing_c/unparse_cocci.ml index 5fbaa8a..6eab5bb 100644 --- a/parsing_c/unparse_cocci.ml +++ b/parsing_c/unparse_cocci.ml @@ -564,7 +564,19 @@ and ft_space ty = and declaration d = match Ast.unwrap d with - Ast.Init(stg,ty,id,eq,ini,sem) -> + Ast.MetaDecl(name,_,_) -> + handle_metavar name + (function + Ast_c.MetaDeclVal d -> + pretty_print_c.Pretty_print_c.decl d + | _ -> raise Impossible) + | Ast.MetaField(name,_,_) -> + handle_metavar name + (function + Ast_c.MetaFieldVal d -> + pretty_print_c.Pretty_print_c.field d + | _ -> raise Impossible) + | Ast.Init(stg,ty,id,eq,ini,sem) -> print_option (mcode storage) stg; print_option (function _ -> pr_space()) stg; print_named_type ty id; @@ -584,7 +596,7 @@ and declaration d = mcode print_string stg; fullType ty; typeC id; mcode print_string sem - | Ast.DisjDecl(_) | Ast.MetaDecl(_,_,_) -> raise CantBeInPlus + | Ast.DisjDecl(_) -> raise CantBeInPlus | Ast.Ddots(_,_) -> raise CantBeInPlus | Ast.OptDecl(decl) | Ast.UniqueDecl(decl) -> raise CantBeInPlus diff --git a/parsing_c/unparse_hrule.ml b/parsing_c/unparse_hrule.ml index f9e0305..ecad98f 100644 --- a/parsing_c/unparse_hrule.ml +++ b/parsing_c/unparse_hrule.ml @@ -234,6 +234,8 @@ let print_extra_typedefs pr env = | Ast_c.MetaTypeVal(ty) -> Visitor_c.vk_type bigf ty | Ast_c.MetaInitVal(ty) -> Visitor_c.vk_ini bigf ty + | Ast_c.MetaDeclVal(decl) -> Visitor_c.vk_decl bigf decl + | Ast_c.MetaFieldVal(field) -> Visitor_c.vk_struct_field bigf field | Ast_c.MetaStmtVal(stm) -> Visitor_c.vk_statement bigf stm | Ast_c.MetaPosVal _ | Ast_c.MetaPosValList _ | Ast_c.MetaListlenVal _ -> ()) @@ -277,6 +279,10 @@ let rename argids env = Ast_c.MetaTypeVal(Visitor_c.vk_type_s bigf ty) | Ast_c.MetaInitVal(ini) -> Ast_c.MetaInitVal(Visitor_c.vk_ini_s bigf ini) + | Ast_c.MetaDeclVal(stm) -> + Ast_c.MetaDeclVal(Visitor_c.vk_decl_s bigf stm) + | Ast_c.MetaFieldVal(stm) -> + Ast_c.MetaFieldVal(Visitor_c.vk_struct_field_s bigf stm) | Ast_c.MetaStmtVal(stm) -> Ast_c.MetaStmtVal(Visitor_c.vk_statement_s bigf stm) | Ast_c.MetaPosVal _ | Ast_c.MetaPosValList _ @@ -356,6 +362,10 @@ let pp_meta_decl pr env decl = | Ast.MetaExpListDecl(ar, name, Ast.CstLen len) -> no_arity ar; pr "parameter list "; pp_name name; pr "["; pr (string_of_int len); pr "]"; pr ";\n" + | Ast.MetaDeclDecl(ar, name) -> + no_arity ar; pr "declaration "; pp_name name; pr ";\n" + | Ast.MetaFieldDecl(ar, name) -> + no_arity ar; pr "field "; pp_name name; pr ";\n" | Ast.MetaStmDecl(ar, name) -> no_arity ar; pr "statement "; pp_name name; pr ";\n" | Ast.MetaStmListDecl(ar, name) -> diff --git a/parsing_c/visitor_c.ml b/parsing_c/visitor_c.ml index 6d6c558..b05ac5f 100644 --- a/parsing_c/visitor_c.ml +++ b/parsing_c/visitor_c.ml @@ -1376,31 +1376,30 @@ and vk_struct_fieldkinds_s = fun bigf onefield_multivars -> ), iif iicomma ) -and vk_struct_fields_s = fun bigf fields -> - +and vk_struct_field_s = fun bigf field -> let iif ii = vk_ii_s bigf ii in - fields +> List.map (fun (field) -> - (match field with - | (DeclarationField (FieldDeclList (onefield_multivars, iiptvirg))) -> - DeclarationField - (FieldDeclList - (vk_struct_fieldkinds_s bigf onefield_multivars, iif iiptvirg)) - | EmptyField info -> EmptyField (vk_info_s bigf info) - | MacroDeclField ((s, args),ii) -> - MacroDeclField - ((s, - args +> List.map (fun (e,ii) -> vk_argument_s bigf e, iif ii) - ), - iif ii) + match field with + (DeclarationField (FieldDeclList (onefield_multivars, iiptvirg))) -> + DeclarationField + (FieldDeclList + (vk_struct_fieldkinds_s bigf onefield_multivars, iif iiptvirg)) + | EmptyField info -> EmptyField (vk_info_s bigf info) + | MacroDeclField ((s, args),ii) -> + MacroDeclField + ((s, + args +> List.map (fun (e,ii) -> vk_argument_s bigf e, iif ii) + ), + iif ii) + + | CppDirectiveStruct directive -> + CppDirectiveStruct (vk_cpp_directive_s bigf directive) + | IfdefStruct ifdef -> + IfdefStruct (vk_ifdef_directive_s bigf ifdef) - | CppDirectiveStruct directive -> - CppDirectiveStruct (vk_cpp_directive_s bigf directive) - | IfdefStruct ifdef -> - IfdefStruct (vk_ifdef_directive_s bigf ifdef) +and vk_struct_fields_s = fun bigf fields -> - ) - ) + fields +> List.map (vk_struct_field_s bigf) and vk_def_s = fun bigf d -> diff --git a/parsing_c/visitor_c.mli b/parsing_c/visitor_c.mli index c7bc674..72e7dd2 100644 --- a/parsing_c/visitor_c.mli +++ b/parsing_c/visitor_c.mli @@ -50,6 +50,7 @@ val vk_param_list : visitor_c -> parameterType wrap2 list -> unit val vk_params_splitted : visitor_c -> (parameterType, il) Common.either list -> unit +val vk_struct_field : visitor_c -> field -> unit val vk_struct_fields : visitor_c -> field list -> unit val vk_struct_fieldkinds : visitor_c -> fieldkind wrap list -> unit @@ -129,6 +130,7 @@ val vk_define_params_splitted_s : (string Ast_c.wrap, il) Common.either list -> (string Ast_c.wrap, il) Common.either list +val vk_struct_field_s : visitor_c_s -> field -> field val vk_struct_fields_s : visitor_c_s -> field list -> field list val vk_cst_s : visitor_c_s -> ((constant, string) Common.either wrap) inout diff --git a/parsing_cocci/adjust_pragmas.ml b/parsing_cocci/adjust_pragmas.ml index 6c55d6d..54597ed 100644 --- a/parsing_cocci/adjust_pragmas.ml +++ b/parsing_cocci/adjust_pragmas.ml @@ -55,7 +55,13 @@ let update_after pragmas (info,x) = let rec right_decl d = match Ast0.unwrap d with - Ast0.Init(Some stg,ty,id,eq,ini,sem) -> + Ast0.MetaDecl(name,pure) -> + call_right right_mcode name d + (function name -> Ast0.MetaDecl(name,pure)) + | Ast0.MetaField(name,pure) -> + call_right right_mcode name d + (function name -> Ast0.MetaField(name,pure)) + | Ast0.Init(Some stg,ty,id,eq,ini,sem) -> call_right right_mcode sem d (function sem -> Ast0.Init(Some stg,ty,id,eq,ini,sem)) | Ast0.Init(None,ty,id,eq,ini,sem) -> @@ -241,7 +247,13 @@ let left_fundecl name fninfo = let rec left_decl decl = match Ast0.unwrap decl with - Ast0.Init(Some stg,ty,id,eq,ini,sem) -> + Ast0.MetaDecl(name,pure) -> + call_right right_mcode name decl + (function name -> Ast0.MetaDecl(name,pure)) + | Ast0.MetaField(name,pure) -> + call_right right_mcode name decl + (function name -> Ast0.MetaField(name,pure)) + | Ast0.Init(Some stg,ty,id,eq,ini,sem) -> call_right left_mcode stg decl (function stg -> Ast0.Init(Some stg,ty,id,eq,ini,sem)) | Ast0.Init(None,ty,id,eq,ini,sem) -> diff --git a/parsing_cocci/arity.ml b/parsing_cocci/arity.ml index 824d692..4525d45 100644 --- a/parsing_cocci/arity.ml +++ b/parsing_cocci/arity.ml @@ -465,7 +465,15 @@ and make_decl = and declaration tgt decl = match Ast0.unwrap decl with - Ast0.Init(stg,ty,id,eq,exp,sem) -> + Ast0.MetaDecl(name,pure) -> + let arity = all_same true tgt (mcode2line name) [mcode2arity name] in + let name = mcode name in + make_decl decl tgt arity (Ast0.MetaDecl(name,pure)) + | Ast0.MetaField(name,pure) -> + let arity = all_same true tgt (mcode2line name) [mcode2arity name] in + let name = mcode name in + make_decl decl tgt arity (Ast0.MetaField(name,pure)) + | Ast0.Init(stg,ty,id,eq,exp,sem) -> let arity = all_same true tgt (mcode2line eq) ((match stg with None -> [] | Some x -> [mcode2arity x]) @ diff --git a/parsing_cocci/ast0_cocci.ml b/parsing_cocci/ast0_cocci.ml index aeea8a1..191962b 100644 --- a/parsing_cocci/ast0_cocci.ml +++ b/parsing_cocci/ast0_cocci.ml @@ -204,7 +204,12 @@ and typeC = base_typeC wrap split out into multiple declarations of a single variable each. *) and base_declaration = - Init of Ast.storage mcode option * typeC * ident * string mcode (*=*) * + MetaDecl of Ast.meta_name mcode * pure (* variables *) + (* the following are kept separate from MetaDecls because ultimately + they don't match the same thin at all. Consider whether there + should be a separate type for fields, as in the C AST *) + | MetaField of Ast.meta_name mcode * pure (* structure fields *) + | Init of Ast.storage mcode option * typeC * ident * string mcode (*=*) * initialiser * string mcode (*;*) | UnInit of Ast.storage mcode option * typeC * ident * string mcode (* ; *) | TyDecl of typeC * string mcode (* ; *) @@ -406,6 +411,7 @@ and parsed_rule = | ScriptRule of string (* name *) * string * Ast.dependency * (Ast.script_meta_name * Ast.meta_name * Ast.metavar) list * + Ast.meta_name list (*script vars*) * string | InitialScriptRule of string (* name *) *string * Ast.dependency * string | FinalScriptRule of string (* name *) *string * Ast.dependency * string diff --git a/parsing_cocci/ast0_cocci.mli b/parsing_cocci/ast0_cocci.mli index 31b3e47..0229c1b 100644 --- a/parsing_cocci/ast0_cocci.mli +++ b/parsing_cocci/ast0_cocci.mli @@ -194,7 +194,9 @@ and typeC = base_typeC wrap split out into multiple declarations of a single variable each. *) and base_declaration = - Init of Ast_cocci.storage mcode option * typeC * ident * + MetaDecl of Ast_cocci.meta_name mcode * pure + | MetaField of Ast_cocci.meta_name mcode * pure (* structure fields *) + | Init of Ast_cocci.storage mcode option * typeC * ident * string mcode (*=*) * initialiser * string mcode (*;*) | UnInit of Ast_cocci.storage mcode option * typeC * ident * string mcode (* ; *) @@ -399,7 +401,8 @@ and parsed_rule = | ScriptRule of string (* name *) * string * Ast_cocci.dependency * (Ast_cocci.script_meta_name * - Ast_cocci.meta_name * Ast_cocci.metavar) list * + Ast_cocci.meta_name * Ast_cocci.metavar) list (*inherited vars*) * + Ast_cocci.meta_name list (*script vars*) * string | InitialScriptRule of string (* name *) * string (*language*) * Ast_cocci.dependency * string (*code*) diff --git a/parsing_cocci/ast0toast.ml b/parsing_cocci/ast0toast.ml index e331afe..66855b9 100644 --- a/parsing_cocci/ast0toast.ml +++ b/parsing_cocci/ast0toast.ml @@ -485,7 +485,9 @@ and base_typeC t = and declaration d = rewrap d (do_isos (Ast0.get_iso d)) (match Ast0.unwrap d with - Ast0.Init(stg,ty,id,eq,ini,sem) -> + Ast0.MetaDecl(name,_) -> Ast.MetaDecl(mcode name,unitary,false) + | Ast0.MetaField(name,_) -> Ast.MetaField(mcode name,unitary,false) + | Ast0.Init(stg,ty,id,eq,ini,sem) -> let stg = get_option mcode stg in let ty = typeC ty in let id = ident id in diff --git a/parsing_cocci/ast_cocci.ml b/parsing_cocci/ast_cocci.ml index 096a273..8e7b4a2 100644 --- a/parsing_cocci/ast_cocci.ml +++ b/parsing_cocci/ast_cocci.ml @@ -114,6 +114,8 @@ and metavar = | MetaLocalIdExpDecl of arity * meta_name (* name *) * Type_cocci.typeC list option | MetaExpListDecl of arity * meta_name (*name*) * list_len (*len*) + | MetaDeclDecl of arity * meta_name (* name *) + | MetaFieldDecl of arity * meta_name (* name *) | MetaStmDecl of arity * meta_name (* name *) | MetaStmListDecl of arity * meta_name (* name *) | MetaFuncDecl of arity * meta_name (* name *) @@ -314,6 +316,7 @@ and base_declaration = | Ddots of string mcode (* ... *) * declaration option (* whencode *) | MetaDecl of meta_name mcode * keep_binding * inherited + | MetaField of meta_name mcode * keep_binding * inherited | OptDecl of declaration | UniqueDecl of declaration @@ -575,7 +578,8 @@ and rule = | ScriptRule of string (* name *) * (* metaname for python (untyped), metavar for ocaml (typed) *) string * dependency * - (script_meta_name * meta_name * metavar) list * string + (script_meta_name * meta_name * metavar) list (*inherited vars*) * + meta_name list (*script vars*) * string | InitialScriptRule of string (* name *) * string (*language*) * dependency * string (*code*) | FinalScriptRule of string (* name *) * @@ -700,6 +704,8 @@ let get_meta_name = function | MetaIdExpDecl(ar,nm,ty) -> nm | MetaLocalIdExpDecl(ar,nm,ty) -> nm | MetaExpListDecl(ar,nm,nm1) -> nm + | MetaDeclDecl(ar,nm) -> nm + | MetaFieldDecl(ar,nm) -> nm | MetaStmDecl(ar,nm) -> nm | MetaStmListDecl(ar,nm) -> nm | MetaFuncDecl(ar,nm) -> nm diff --git a/parsing_cocci/ast_cocci.mli b/parsing_cocci/ast_cocci.mli index 200e6d4..4d71238 100644 --- a/parsing_cocci/ast_cocci.mli +++ b/parsing_cocci/ast_cocci.mli @@ -100,6 +100,8 @@ and metavar = | MetaLocalIdExpDecl of arity * meta_name (* name *) * Type_cocci.typeC list option | MetaExpListDecl of arity * meta_name (*name*) * list_len (*len*) + | MetaDeclDecl of arity * meta_name (* name *) + | MetaFieldDecl of arity * meta_name (* name *) | MetaStmDecl of arity * meta_name (* name *) | MetaStmListDecl of arity * meta_name (* name *) | MetaFuncDecl of arity * meta_name (* name *) @@ -293,6 +295,7 @@ and base_declaration = | Ddots of string mcode (* ... *) * declaration option (* whencode *) | MetaDecl of meta_name mcode * keep_binding * inherited + | MetaField of meta_name mcode * keep_binding * inherited | OptDecl of declaration | UniqueDecl of declaration @@ -548,7 +551,8 @@ and rule = top_level list * bool list (* true if generates an exp *) * ruletype | ScriptRule of string (* name *) * string * dependency * - (script_meta_name * meta_name * metavar) list * string + (script_meta_name * meta_name * metavar) list * + meta_name list (*script vars*) * string | InitialScriptRule of string (* name *) * string * dependency * string | FinalScriptRule of string (* name *) * diff --git a/parsing_cocci/check_meta.ml b/parsing_cocci/check_meta.ml index 526e2c0..55c7780 100644 --- a/parsing_cocci/check_meta.ml +++ b/parsing_cocci/check_meta.ml @@ -224,7 +224,9 @@ and typeC old_metas table minus t = and declaration context old_metas table minus d = match Ast0.unwrap d with - Ast0.Init(stg,ty,id,eq,ini,sem) -> + Ast0.MetaDecl(name,_) | Ast0.MetaField(name,_) -> + check_table table minus name + | Ast0.Init(stg,ty,id,eq,ini,sem) -> (match Ast0.unwrap ini with Ast0.InitExpr exp -> typeC old_metas table minus ty; diff --git a/parsing_cocci/compute_lines.ml b/parsing_cocci/compute_lines.ml index 6bcb0f7..58279b9 100644 --- a/parsing_cocci/compute_lines.ml +++ b/parsing_cocci/compute_lines.ml @@ -432,7 +432,9 @@ and is_decl_dots s = and declaration d = match Ast0.unwrap d with - Ast0.Init(stg,ty,id,eq,exp,sem) -> + (Ast0.MetaDecl(name,_) | Ast0.MetaField(name,_)) as up -> + let ln = promote_mcode name in mkres d up ln ln + | Ast0.Init(stg,ty,id,eq,exp,sem) -> let ty = typeC ty in let id = ident id in let exp = initialiser exp in diff --git a/parsing_cocci/context_neg.ml b/parsing_cocci/context_neg.ml index 686b727..53e5855 100644 --- a/parsing_cocci/context_neg.ml +++ b/parsing_cocci/context_neg.ml @@ -562,7 +562,10 @@ let rec equal_typeC t1 t2 = let equal_declaration d1 d2 = match (Ast0.unwrap d1,Ast0.unwrap d2) with - (Ast0.Init(stg1,_,_,eq1,_,sem1),Ast0.Init(stg2,_,_,eq2,_,sem2)) -> + (Ast0.MetaDecl(name1,_),Ast0.MetaDecl(name2,_)) + | (Ast0.MetaField(name1,_),Ast0.MetaField(name2,_)) -> + equal_mcode name1 name2 + | (Ast0.Init(stg1,_,_,eq1,_,sem1),Ast0.Init(stg2,_,_,eq2,_,sem2)) -> equal_option stg1 stg2 && equal_mcode eq1 eq2 && equal_mcode sem1 sem2 | (Ast0.UnInit(stg1,_,_,sem1),Ast0.UnInit(stg2,_,_,sem2)) -> equal_option stg1 stg2 && equal_mcode sem1 sem2 diff --git a/parsing_cocci/data.ml b/parsing_cocci/data.ml index d744fee..75a83e5 100644 --- a/parsing_cocci/data.ml +++ b/parsing_cocci/data.ml @@ -135,6 +135,12 @@ let add_explist_meta: (Ast.meta_name -> Ast.list_len -> Ast0.pure -> unit) ref = ref (fun _ -> failwith "uninitialized add_meta") +let add_decl_meta: (Ast.meta_name -> Ast0.pure -> unit) ref = + ref (fun _ -> failwith "uninitialized add_meta") + +let add_field_meta: (Ast.meta_name -> Ast0.pure -> unit) ref = + ref (fun _ -> failwith "uninitialized add_meta") + let add_stm_meta: (Ast.meta_name -> Ast0.pure -> unit) ref = ref (fun _ -> failwith "uninitialized add_meta") diff --git a/parsing_cocci/data.mli b/parsing_cocci/data.mli index 43bd928..87be3fd 100644 --- a/parsing_cocci/data.mli +++ b/parsing_cocci/data.mli @@ -106,6 +106,10 @@ val add_explist_meta: (Ast_cocci.meta_name -> Ast_cocci.list_len -> Ast0_cocci.pure -> unit) ref +val add_decl_meta: (Ast_cocci.meta_name -> Ast0_cocci.pure -> unit) ref + +val add_field_meta: (Ast_cocci.meta_name -> Ast0_cocci.pure -> unit) ref + val add_stm_meta: (Ast_cocci.meta_name -> Ast0_cocci.pure -> unit) ref val add_stmlist_meta: (Ast_cocci.meta_name -> Ast0_cocci.pure -> unit) ref diff --git a/parsing_cocci/disjdistr.ml b/parsing_cocci/disjdistr.ml index 7076a59..00349ee 100644 --- a/parsing_cocci/disjdistr.ml +++ b/parsing_cocci/disjdistr.ml @@ -241,7 +241,8 @@ and designator = function and disjdecl d = match Ast.unwrap d with - Ast.Init(stg,ty,id,eq,ini,sem) -> + Ast.MetaDecl(_,_,_) | Ast.MetaField(_,_,_) -> [d] + | Ast.Init(stg,ty,id,eq,ini,sem) -> disjmult2 (disjty ty) (disjini ini) (function ty -> function ini -> Ast.rewrap d (Ast.Init(stg,ty,id,eq,ini,sem))) @@ -259,7 +260,7 @@ and disjdecl d = let ty = disjty ty in (* disj not allowed in id *) List.map (function ty -> Ast.rewrap d (Ast.Typedef(stg,ty,id,sem))) ty | Ast.DisjDecl(decls) -> List.concat (List.map disjdecl decls) - | Ast.Ddots(_,_) | Ast.MetaDecl(_,_,_) -> [d] + | Ast.Ddots(_,_) -> [d] | Ast.OptDecl(decl) -> let decl = disjdecl decl in List.map (function decl -> Ast.rewrap d (Ast.OptDecl(decl))) decl diff --git a/parsing_cocci/flag_parsing_cocci.ml b/parsing_cocci/flag_parsing_cocci.ml index 4b22f4a..0868f02 100644 --- a/parsing_cocci/flag_parsing_cocci.ml +++ b/parsing_cocci/flag_parsing_cocci.ml @@ -31,3 +31,4 @@ let show_SP = ref false let show_iso_failures = ref true let iso_limit = ref (None : int option) (*(Some 3)*) +let disabled_isos = ref ([] : string list) diff --git a/parsing_cocci/free_vars.ml b/parsing_cocci/free_vars.ml index 7589b32..32d2584 100644 --- a/parsing_cocci/free_vars.ml +++ b/parsing_cocci/free_vars.ml @@ -140,7 +140,8 @@ let collect_refs include_constraints = let astfvdecls recursor k d = bind (k d) (match Ast.unwrap d with - Ast.DisjDecl(decls) -> bind_disj (List.map k decls) + Ast.MetaDecl(name,_,_) | Ast.MetaField(name,_,_) -> [metaid name] + | Ast.DisjDecl(decls) -> bind_disj (List.map k decls) | _ -> option_default) in let astfvfullType recursor k ty = @@ -283,6 +284,13 @@ let collect_saved = | Ast.MetaParamList(name,_,_,_) -> [metaid name] | _ -> option_default) in + let astfvdecls recursor k d = + bind (k d) + (match Ast.unwrap d with + Ast.MetaDecl(name,TC.Saved,_) | Ast.MetaField(name,TC.Saved,_) -> + [metaid name] + | _ -> option_default) in + let astfvrule_elem recursor k re = (*within a rule_elem, pattern3 manages the coherence of the bindings*) bind (k re) @@ -301,7 +309,7 @@ let collect_saved = mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode donothing donothing donothing donothing astfvident astfvexpr donothing astfvtypeC astfvinit astfvparam - donothing astfvrule_elem donothing donothing donothing donothing + astfvdecls astfvrule_elem donothing donothing donothing donothing (* ---------------------------------------------------------------- *) @@ -550,6 +558,17 @@ let classify_variables metavar_decls minirules used_after = Ast.rewrap e (Ast.MetaParamList(name,lenname,unitary,inherited)) | _ -> e in + let decl r k e = + let e = k e in + match Ast.unwrap e with + Ast.MetaDecl(name,_,_) -> + let (unitary,inherited) = classify name in + Ast.rewrap e (Ast.MetaDecl(name,unitary,inherited)) + | Ast.MetaField(name,_,_) -> + let (unitary,inherited) = classify name in + Ast.rewrap e (Ast.MetaField(name,unitary,inherited)) + | _ -> e in + let rule_elem r k e = let e = k e in match Ast.unwrap e with @@ -564,7 +583,7 @@ let classify_variables metavar_decls minirules used_after = let fn = V.rebuilder mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode donothing donothing donothing donothing - ident expression donothing typeC init param donothing rule_elem + ident expression donothing typeC init param decl rule_elem donothing donothing donothing donothing in List.map fn.V.rebuilder_top_level minirules @@ -717,7 +736,10 @@ let collect_astfvs rules = [] -> [] | (metavars, rule)::rules -> match rule with - Ast.ScriptRule (_,_,_,_,_) + Ast.ScriptRule (_,_,_,_,script_vars,_) -> + (* why are metavars in rule, but outside for cocci rule??? *) + let bound = script_vars @ bound in + rule::(loop bound rules) | Ast.InitialScriptRule (_,_,_,_) | Ast.FinalScriptRule (_,_,_,_) -> (* bound stays as is because script rules have no names, so no inheritance is possible *) @@ -789,13 +811,16 @@ let collect_top_level_used_after metavar_rule_list = List.fold_right (function (metavar_list,r) -> function (used_after,used_after_lists) -> - let locally_defined = List.map Ast.get_meta_name metavar_list in + let locally_defined = + match r with + Ast.ScriptRule (_,_,_,_,free_vars,_) -> free_vars + | _ -> List.map Ast.get_meta_name metavar_list in let continue_propagation = List.filter (function x -> not(List.mem x locally_defined)) used_after in let free_vars = match r with - Ast.ScriptRule (_,_,_,mv,_) -> + Ast.ScriptRule (_,_,_,mv,_,_) -> drop_virt(List.map (function (_,(r,v),_) -> (r,v)) mv) | Ast.InitialScriptRule (_,_,_,_) | Ast.FinalScriptRule (_,_,_,_) -> [] @@ -905,9 +930,9 @@ let collect_used_after metavar_rule_list = (function (metavars,r) -> function used_after -> match r with - Ast.ScriptRule (_,_,_,_,_) + Ast.ScriptRule (_,_,_,_,_,_) (* no minirules, so nothing to do? *) | Ast.InitialScriptRule (_,_,_,_) | Ast.FinalScriptRule (_,_,_,_) -> - ([], [used_after], [], []) + ([], [used_after], [[]], []) | Ast.CocciRule (name, rule_info, minirules, _,_) -> collect_local_used_after metavars minirules used_after ) @@ -931,7 +956,7 @@ let free_vars rules = List.map (function (mv, r) -> match r with - Ast.ScriptRule _ + Ast.ScriptRule _ (* doesn't declare position variables *) | Ast.InitialScriptRule _ | Ast.FinalScriptRule _ -> [] | Ast.CocciRule (_,_,rule,_,_) -> let positions = diff --git a/parsing_cocci/get_constants.ml b/parsing_cocci/get_constants.ml index 2c87190..3864d91 100644 --- a/parsing_cocci/get_constants.ml +++ b/parsing_cocci/get_constants.ml @@ -221,7 +221,9 @@ let check_inherited nm = let strictdecls recursor k d = match Ast.unwrap d with - Ast.DisjDecl(decls) -> option_default + Ast.MetaDecl(name,_,_) | Ast.MetaField(name,_,_) -> + bind (k p) (minherited name) + | Ast.DisjDecl(decls) -> option_default | _ -> k d in let strictfullType recursor k ty = diff --git a/parsing_cocci/get_constants2.ml b/parsing_cocci/get_constants2.ml index dd23575..8bdbd5f 100644 --- a/parsing_cocci/get_constants2.ml +++ b/parsing_cocci/get_constants2.ml @@ -54,6 +54,52 @@ wanted *) type combine = And of combine list | Or of combine list | Elem of string | False | True +(* glimpse often fails on large queries. We can safely remove arguments of +&& as long as we don't remove all of them (note that there is no negation). +This tries just removing one of them and then orders the results by +increasing number of ors (ors are long, increasing the chance of failure, +and are less restrictive, possibly increasing the chance of irrelevant +code. *) +let reduce_glimpse x = + let rec loop x k q = + match x with + Elem _ -> q() + | And [x] -> loop x (function changed_l -> k (And [changed_l])) q + | And l -> + kloop l + (function changed_l -> k (And changed_l)) + (function _ -> + let rec rloop l k = + match l with + [] -> q() + | x::xs -> + (k xs) :: + rloop xs (function changed_xs -> k (x :: changed_xs)) in + rloop l (function changed_l -> k (And changed_l))) + | Or l -> kloop l (function changed_l -> k (Or changed_l)) q + | _ -> failwith "not possible" + and kloop l k q = + match l with + [] -> q() + | x::xs -> + loop x + (function changed_x -> k (changed_x::xs)) + (function _ -> + kloop xs + (function changed_xs -> k (x :: changed_xs)) + q) in + let rec count_ors = function + Elem _ -> 0 + | And l -> List.fold_left (+) 0 (List.map count_ors l) + | Or l -> + ((List.length l) - 1) + + (List.fold_left (+) 0 (List.map count_ors l)) + | _ -> failwith "not possible" in + let res = loop x (function x -> x) (function _ -> []) in + let res = List.map (function x -> (count_ors x,x)) res in + let res = List.sort compare res in + List.map (function (_,x) -> x) res + let interpret_glimpse strict x = let rec loop = function Elem x -> x @@ -73,7 +119,8 @@ let interpret_glimpse strict x = True -> None | False when strict -> failwith "False should not be in the final result. Perhaps your rule doesn't contain any +/-/* code" - | _ -> Some [(loop x)] + | _ -> + Some (if strict then List.map loop (x::reduce_glimpse x) else [loop x]) (* grep only does or *) let interpret_grep strict x = @@ -307,7 +354,9 @@ let do_get_constants constants keywords env neg_pos = let declaration r k d = match Ast.unwrap d with - Ast.DisjDecl(decls) -> + Ast.MetaDecl(name,_,_) | Ast.MetaField(name,_,_) -> + bind (k d) (minherited name) + | Ast.DisjDecl(decls) -> disj_union_all (List.map r.V.combiner_declaration decls) | Ast.OptDecl(decl) -> option_default | Ast.Ddots(dots,whencode) -> option_default @@ -557,7 +606,7 @@ let run rules neg_pos_vars = List.fold_left (function (rest_info,in_plus,env,locals(*dom of env*)) -> function - (Ast.ScriptRule (_,_,deps,mv,_),_) -> + (Ast.ScriptRule (nm,_,deps,mv,_,_),_) -> let extra_deps = List.fold_left (function prev -> @@ -567,7 +616,7 @@ let run rules neg_pos_vars = else Ast.AndDep (Ast.Dep rule,prev)) deps mv in (match dependencies env extra_deps with - False -> (rest_info, in_plus, env, locals) + False -> (rest_info, in_plus, (nm,True)::env, nm::locals) | dependencies -> (build_or dependencies rest_info, in_plus, env, locals)) | (Ast.InitialScriptRule (_,_,deps,_),_) diff --git a/parsing_cocci/index.ml b/parsing_cocci/index.ml index 7c39fff..b30aa16 100644 --- a/parsing_cocci/index.ml +++ b/parsing_cocci/index.ml @@ -23,7 +23,7 @@ (* create an index for each constructor *) -(* current max is 147 *) +(* current max is 149 *) (* doesn't really work - requires that identical terms with no token subterms (eg dots) not appear on the same line *) @@ -137,7 +137,9 @@ let typeC t = let declaration d = match Ast0.unwrap d with - Ast0.Init(stg,ty,id,eq,exp,sem) -> [54] + Ast0.MetaDecl(name,_) -> [148] + | Ast0.MetaField(name,_) -> [149] + | Ast0.Init(stg,ty,id,eq,exp,sem) -> [54] | Ast0.UnInit(stg,ty,id,sem) -> [55] | Ast0.MacroDecl(name,lp,args,rp,sem) -> [137] | Ast0.TyDecl(ty,sem) -> [116] diff --git a/parsing_cocci/iso_pattern.ml b/parsing_cocci/iso_pattern.ml index 08e00ae..aa8cc1d 100644 --- a/parsing_cocci/iso_pattern.ml +++ b/parsing_cocci/iso_pattern.ml @@ -408,6 +408,12 @@ let match_maker checks_needed context_required whencode_allowed = Ast0.MetaParam(name,pure) | Ast0.MetaParamList(name,_,pure) -> pure | _ -> Ast0.Impure) in + let decl r k d = + bind (bind (pure_mcodekind (Ast0.get_mcodekind d)) (k d)) + (match Ast0.unwrap d with + Ast0.MetaDecl(name,pure) | Ast0.MetaField(name,pure) -> pure + | _ -> Ast0.Impure) in + let stmt r k s = bind (bind (pure_mcodekind (Ast0.get_mcodekind s)) (k s)) (match Ast0.unwrap s with @@ -417,7 +423,7 @@ let match_maker checks_needed context_required whencode_allowed = V0.flat_combiner bind option_default mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode mcode donothing donothing donothing donothing donothing donothing - ident expression typeC init param donothing stmt donothing + ident expression typeC init param decl stmt donothing donothing in let add_pure_list_binding name pure is_pure builder1 builder2 lst = @@ -808,63 +814,73 @@ let match_maker checks_needed context_required whencode_allowed = else return_false (ContextRequired (Ast0.TypeCTag t)) and match_decl pattern d = - if not(checks_needed) or not(context_required) or is_context d - then - match (Ast0.unwrap pattern,Ast0.unwrap d) with - (Ast0.Init(stga,tya,ida,eq1,inia,sc1), - Ast0.Init(stgb,tyb,idb,eq,inib,sc)) -> - if bool_match_option mcode_equal stga stgb - then - conjunct_many_bindings - [check_mcode eq1 eq; check_mcode sc1 sc; - match_option check_mcode stga stgb; - match_typeC tya tyb; match_ident ida idb; - match_init inia inib] - else return false - | (Ast0.UnInit(stga,tya,ida,sc1),Ast0.UnInit(stgb,tyb,idb,sc)) -> - if bool_match_option mcode_equal stga stgb - then - conjunct_many_bindings - [check_mcode sc1 sc; match_option check_mcode stga stgb; - match_typeC tya tyb; match_ident ida idb] - else return false - | (Ast0.MacroDecl(namea,lp1,argsa,rp1,sc1), - Ast0.MacroDecl(nameb,lp,argsb,rp,sc)) -> - conjunct_many_bindings - [match_ident namea nameb; - check_mcode lp1 lp; check_mcode rp1 rp; - check_mcode sc1 sc; - match_dots match_expr is_elist_matcher do_elist_match - argsa argsb] - | (Ast0.TyDecl(tya,sc1),Ast0.TyDecl(tyb,sc)) -> - conjunct_bindings (check_mcode sc1 sc) (match_typeC tya tyb) - | (Ast0.Typedef(stga,tya,ida,sc1),Ast0.Typedef(stgb,tyb,idb,sc)) -> - conjunct_bindings (check_mcode sc1 sc) - (conjunct_bindings (match_typeC tya tyb) (match_typeC ida idb)) - | (Ast0.DisjDecl(_,declsa,_,_),Ast0.DisjDecl(_,declsb,_,_)) -> - failwith "not allowed in the pattern of an isomorphism" - | (Ast0.Ddots(d1,None),Ast0.Ddots(d,None)) -> check_mcode d1 d - | (Ast0.Ddots(dd,None),Ast0.Ddots(d,Some wc)) -> - conjunct_bindings (check_mcode dd d) + match Ast0.unwrap pattern with + Ast0.MetaDecl(name,pure) -> + add_pure_binding name pure pure_sp_code.VT0.combiner_rec_declaration + (function d -> Ast0.DeclTag d) + d + | Ast0.MetaField(name,pure) -> + add_pure_binding name pure pure_sp_code.VT0.combiner_rec_declaration + (function d -> Ast0.DeclTag d) + d + | up -> + if not(checks_needed) or not(context_required) or is_context d + then + match (up,Ast0.unwrap d) with + (Ast0.Init(stga,tya,ida,eq1,inia,sc1), + Ast0.Init(stgb,tyb,idb,eq,inib,sc)) -> + if bool_match_option mcode_equal stga stgb + then + conjunct_many_bindings + [check_mcode eq1 eq; check_mcode sc1 sc; + match_option check_mcode stga stgb; + match_typeC tya tyb; match_ident ida idb; + match_init inia inib] + else return false + | (Ast0.UnInit(stga,tya,ida,sc1),Ast0.UnInit(stgb,tyb,idb,sc)) -> + if bool_match_option mcode_equal stga stgb + then + conjunct_many_bindings + [check_mcode sc1 sc; match_option check_mcode stga stgb; + match_typeC tya tyb; match_ident ida idb] + else return false + | (Ast0.MacroDecl(namea,lp1,argsa,rp1,sc1), + Ast0.MacroDecl(nameb,lp,argsb,rp,sc)) -> + conjunct_many_bindings + [match_ident namea nameb; + check_mcode lp1 lp; check_mcode rp1 rp; + check_mcode sc1 sc; + match_dots match_expr is_elist_matcher do_elist_match + argsa argsb] + | (Ast0.TyDecl(tya,sc1),Ast0.TyDecl(tyb,sc)) -> + conjunct_bindings (check_mcode sc1 sc) (match_typeC tya tyb) + | (Ast0.Typedef(stga,tya,ida,sc1),Ast0.Typedef(stgb,tyb,idb,sc)) -> + conjunct_bindings (check_mcode sc1 sc) + (conjunct_bindings (match_typeC tya tyb) (match_typeC ida idb)) + | (Ast0.DisjDecl(_,declsa,_,_),Ast0.DisjDecl(_,declsb,_,_)) -> + failwith "not allowed in the pattern of an isomorphism" + | (Ast0.Ddots(d1,None),Ast0.Ddots(d,None)) -> check_mcode d1 d + | (Ast0.Ddots(dd,None),Ast0.Ddots(d,Some wc)) -> + conjunct_bindings (check_mcode dd d) (* hope that mcode of ddots is unique somehow *) - (let (ddots_whencode_allowed,_,_) = whencode_allowed in - if ddots_whencode_allowed - then add_dot_binding dd (Ast0.DeclTag wc) - else - (Printf.printf "warning: not applying iso because of whencode"; - return false)) - | (Ast0.Ddots(_,Some _),_) -> - failwith "whencode not allowed in a pattern1" - - | (Ast0.OptDecl(decla),Ast0.OptDecl(declb)) - | (Ast0.UniqueDecl(decla),Ast0.UniqueDecl(declb)) -> - match_decl decla declb - | (_,Ast0.OptDecl(declb)) - | (_,Ast0.UniqueDecl(declb)) -> - match_decl pattern declb - | _ -> return false - else return_false (ContextRequired (Ast0.DeclTag d)) - + (let (ddots_whencode_allowed,_,_) = whencode_allowed in + if ddots_whencode_allowed + then add_dot_binding dd (Ast0.DeclTag wc) + else + (Printf.printf "warning: not applying iso because of whencode"; + return false)) + | (Ast0.Ddots(_,Some _),_) -> + failwith "whencode not allowed in a pattern1" + + | (Ast0.OptDecl(decla),Ast0.OptDecl(declb)) + | (Ast0.UniqueDecl(decla),Ast0.UniqueDecl(declb)) -> + match_decl decla declb + | (_,Ast0.OptDecl(declb)) + | (_,Ast0.UniqueDecl(declb)) -> + match_decl pattern declb + | _ -> return false + else return_false (ContextRequired (Ast0.DeclTag d)) + and match_init pattern i = match Ast0.unwrap pattern with Ast0.MetaInit(name,pure) -> @@ -1766,7 +1782,23 @@ let instantiate bindings mv_bindings = let declfn r k e = let e = k e in match Ast0.unwrap e with - Ast0.Ddots(d,_) -> + Ast0.MetaDecl(name,pure) -> + (rebuild_mcode None).VT0.rebuilder_rec_declaration + (match lookup name bindings mv_bindings with + Common.Left(Ast0.DeclTag(d)) -> d + | Common.Left(_) -> failwith "not possible 1" + | Common.Right(new_mv) -> + Ast0.rewrap e + (Ast0.MetaDecl(Ast0.set_mcode_data new_mv name, pure))) + | Ast0.MetaField(name,pure) -> + (rebuild_mcode None).VT0.rebuilder_rec_declaration + (match lookup name bindings mv_bindings with + Common.Left(Ast0.DeclTag(d)) -> d + | Common.Left(_) -> failwith "not possible 1" + | Common.Right(new_mv) -> + Ast0.rewrap e + (Ast0.MetaField(Ast0.set_mcode_data new_mv name, pure))) + | Ast0.Ddots(d,_) -> (try (match List.assoc (dot_term d) bindings with Ast0.DeclTag(exp) -> Ast0.rewrap e (Ast0.Ddots(d,Some exp)) @@ -1801,7 +1833,7 @@ let instantiate bindings mv_bindings = let stmtfn r k e = let e = k e in match Ast0.unwrap e with - Ast0.MetaStmt(name,pure) -> + Ast0.MetaStmt(name,pure) -> (rebuild_mcode None).VT0.rebuilder_rec_statement (match lookup name bindings mv_bindings with Common.Left(Ast0.StmtTag(stm)) -> stm @@ -2007,6 +2039,10 @@ let get_name = function (nm,function nm -> Ast.MetaLocalIdExpDecl(ar,nm,ty)) | Ast.MetaExpListDecl(ar,nm,nm1) -> (nm,function nm -> Ast.MetaExpListDecl(ar,nm,nm1)) + | Ast.MetaDeclDecl(ar,nm) -> + (nm,function nm -> Ast.MetaDeclDecl(ar,nm)) + | Ast.MetaFieldDecl(ar,nm) -> + (nm,function nm -> Ast.MetaFieldDecl(ar,nm)) | Ast.MetaStmDecl(ar,nm) -> (nm,function nm -> Ast.MetaStmDecl(ar,nm)) | Ast.MetaStmListDecl(ar,nm) -> @@ -2043,7 +2079,7 @@ let do_nothing x = x let mkdisj matcher metavars alts e instantiater mkiso disj_maker minusify rebuild_mcodes name printer extra_plus update_others has_context = - let call_instantiate bindings mv_bindings alts has_context = + let call_instantiate bindings mv_bindings alts pattern has_context = List.concat (List.map (function (a,_,_,_) -> @@ -2058,6 +2094,9 @@ let mkdisj matcher metavars alts e instantiater mkiso disj_maker minusify then copy_plus printer minusify e (extra_plus e instantiated) else instantiated in + if pattern = a + then plus_added + else (* iso tracking *) Ast0.set_iso plus_added ((name,mkiso a)::(Ast0.get_iso e))) (* keep count, not U *) bindings)) @@ -2101,7 +2140,7 @@ let mkdisj matcher metavars alts e instantiater mkiso disj_maker minusify make_new_metavars metavars (nub(List.concat bindings)) in Common.Right (new_metavars, - call_instantiate bindings mv_bindings all_alts + call_instantiate bindings mv_bindings all_alts pattern (has_context pattern)))) in let rec outer_loop prev_ecount prev_icount prev_dcount = function [] | [[_]] (*only one alternative*) -> (0,[],e) (* nothing matched *) diff --git a/parsing_cocci/lexer_cocci.mll b/parsing_cocci/lexer_cocci.mll index 065cf63..30bde85 100644 --- a/parsing_cocci/lexer_cocci.mll +++ b/parsing_cocci/lexer_cocci.mll @@ -205,6 +205,10 @@ let id_tokens lexbuf = check_arity_context_linetype s; TGenerated | "expression" when in_meta || in_rule_name -> check_arity_context_linetype s; TExpression + | "declaration" when in_meta || in_rule_name -> + check_arity_context_linetype s; TDeclaration + | "field" when in_meta || in_rule_name -> + check_arity_context_linetype s; TField | "initialiser" when in_meta || in_rule_name -> check_arity_context_linetype s; TInitialiser | "initializer" when in_meta || in_rule_name -> @@ -380,6 +384,14 @@ let init _ = (function name -> function lenname -> function pure -> let fn clt = TMetaExpList(name,lenname,pure,clt) in Hashtbl.replace metavariables (get_name name) fn); + Data.add_decl_meta := + (function name -> function pure -> + let fn clt = TMetaDecl(name,pure,clt) in + Hashtbl.replace metavariables (get_name name) fn); + Data.add_field_meta := + (function name -> function pure -> + let fn clt = TMetaField(name,pure,clt) in + Hashtbl.replace metavariables (get_name name) fn); Data.add_stm_meta := (function name -> function pure -> let fn clt = TMetaStm(name,pure,clt) in @@ -652,9 +664,9 @@ rule token = parse | "||" { start_line true; TOrLog (get_current_line_type lexbuf) } | ">>" { start_line true; - TShOp(Ast.DecRight,get_current_line_type lexbuf) } + TShROp(Ast.DecRight,get_current_line_type lexbuf) } | "<<" { start_line true; - TShOp(Ast.DecLeft,get_current_line_type lexbuf) } + TShLOp(Ast.DecLeft,get_current_line_type lexbuf) } | "&" { start_line true; TAnd (get_current_line_type lexbuf) } | "^" { start_line true; TXor(get_current_line_type lexbuf) } diff --git a/parsing_cocci/parse_aux.ml b/parsing_cocci/parse_aux.ml index 3008bb2..f9e724b 100644 --- a/parsing_cocci/parse_aux.ml +++ b/parsing_cocci/parse_aux.ml @@ -428,7 +428,15 @@ let str2inc s = List.map (function "..." -> Ast.IncDots | s -> Ast.IncPath s) elements (* ---------------------------------------------------------------------- *) -(* statements *) +(* declarations and statements *) + +let meta_decl name = + let (nm,pure,clt) = name in + Ast0.wrap(Ast0.MetaDecl(clt2mcode nm clt,pure)) + +let meta_field name = + let (nm,pure,clt) = name in + Ast0.wrap(Ast0.MetaField(clt2mcode nm clt,pure)) let meta_stm name = let (nm,pure,clt) = name in @@ -502,35 +510,30 @@ let seq lb s rb = (* ---------------------------------------------------------------------- *) -let make_iso_rule_name_result n = - (try let _ = Hashtbl.find Data.all_metadecls n in - raise (Semantic_cocci.Semantic ("repeated rule name")) - with Not_found -> ()); - Ast.CocciRulename (Some n,Ast.NoDep,[],[],Ast.Undetermined,false (*discarded*)) - -let make_cocci_rule_name_result nm d i a e ee = - match nm with +let check_rule_name = function Some nm -> let n = id2name nm in (try let _ = Hashtbl.find Data.all_metadecls n in raise (Semantic_cocci.Semantic ("repeated rule name")) - with Not_found -> ()); - Ast.CocciRulename (Some n,d,i,a,e,ee) - | None -> Ast.CocciRulename (None,d,i,a,e,ee) + with Not_found -> Some n) + | None -> None + +let make_iso_rule_name_result n = + (try let _ = Hashtbl.find Data.all_metadecls n in + raise (Semantic_cocci.Semantic ("repeated rule name")) + with Not_found -> ()); + Ast.CocciRulename + (Some n,Ast.NoDep,[],[],Ast.Undetermined,false (*discarded*)) + +let make_cocci_rule_name_result nm d i a e ee = + Ast.CocciRulename (check_rule_name nm,d,i,a,e,ee) let make_generated_rule_name_result nm d i a e ee = - match nm with - Some nm -> - let n = id2name nm in - (try let _ = Hashtbl.find Data.all_metadecls n in - raise (Semantic_cocci.Semantic ("repeated rule name")) - with Not_found -> ()); - Ast.GeneratedRulename (Some n,d,i,a,e,ee) - | None -> Ast.GeneratedRulename (None,d,i,a,e,ee) + Ast.GeneratedRulename (check_rule_name nm,d,i,a,e,ee) -let make_script_rule_name_result lang deps = +let make_script_rule_name_result lang nm deps = let l = id2name lang in - Ast.ScriptRulename (None,l,deps) + Ast.ScriptRulename (check_rule_name nm,l,deps) let make_initial_script_rule_name_result lang deps = let l = id2name lang in diff --git a/parsing_cocci/parse_cocci.ml b/parsing_cocci/parse_cocci.ml index 7c524b7..a37c9fd 100644 --- a/parsing_cocci/parse_cocci.ml +++ b/parsing_cocci/parse_cocci.ml @@ -60,6 +60,8 @@ let token2c (tok,_) = | PC.TExpression -> "expression" | PC.TIdExpression -> "idexpression" | PC.TInitialiser -> "initialiser" + | PC.TDeclaration -> "declaration" + | PC.TField -> "field" | PC.TStatement -> "statement" | PC.TPosition -> "position" | PC.TPosAny -> "any" @@ -170,12 +172,8 @@ let token2c (tok,_) = | Ast.SupEq -> ">=" | _ -> failwith "not possible") ^(line_type2c clt) - | PC.TShOp(op,clt) -> - (match op with - Ast.DecLeft -> "<<" - | Ast.DecRight -> ">>" - | _ -> failwith "not possible") - ^(line_type2c clt) + | PC.TShLOp(op,clt) -> "<<"^(line_type2c clt) + | PC.TShROp(op,clt) -> ">>"^(line_type2c clt) | PC.TPlus(clt) -> "+"^(line_type2c clt) | PC.TMinus(clt) -> "-"^(line_type2c clt) | PC.TMul(clt) -> "*"^(line_type2c clt) @@ -198,8 +196,10 @@ let token2c (tok,_) = | PC.TMetaId(_,_,_,clt) -> "idmeta"^(line_type2c clt) | PC.TMetaType(_,_,clt) -> "typemeta"^(line_type2c clt) | PC.TMetaInit(_,_,clt) -> "initmeta"^(line_type2c clt) - | PC.TMetaStm(_,_,clt) -> "stmmeta"^(line_type2c clt) - | PC.TMetaStmList(_,_,clt) -> "stmlistmeta"^(line_type2c clt) + | PC.TMetaDecl(_,_,clt) -> "declmeta"^(line_type2c clt) + | PC.TMetaField(_,_,clt) -> "fieldmeta"^(line_type2c clt) + | PC.TMetaStm(_,_,clt) -> "stmmeta"^(line_type2c clt) + | PC.TMetaStmList(_,_,clt) -> "stmlistmeta"^(line_type2c clt) | PC.TMetaFunc(_,_,_,clt) -> "funcmeta"^(line_type2c clt) | PC.TMetaLocalFunc(_,_,_,clt) -> "funcmeta"^(line_type2c clt) | PC.TMetaPos(_,_,_,clt) -> "posmeta" @@ -312,7 +312,8 @@ let plus_attachable only_plus (tok,_) = | PC.TOrLog(clt) | PC.TAndLog(clt) | PC.TOr(clt) | PC.TXor(clt) | PC.TAnd (clt) | PC.TEqEq(clt) | PC.TNotEq(clt) | PC.TTildeEq(clt) | PC.TLogOp(_,clt) - | PC.TShOp(_,clt) | PC.TPlus(clt) | PC.TMinus(clt) | PC.TMul(clt) + | PC.TShLOp(_,clt) | PC.TShROp(_,clt) + | PC.TPlus(clt) | PC.TMinus(clt) | PC.TMul(clt) | PC.TDmOp(_,clt) | PC.TTilde (clt) | PC.TMetaParam(_,_,clt) | PC.TMetaParamList(_,_,_,clt) @@ -322,8 +323,8 @@ let plus_attachable only_plus (tok,_) = | PC.TMetaExpList(_,_,_,clt) | PC.TMetaId(_,_,_,clt) | PC.TMetaType(_,_,clt) | PC.TMetaInit(_,_,clt) | PC.TMetaStm(_,_,clt) - | PC.TMetaStmList(_,_,clt) | PC.TMetaFunc(_,_,_,clt) - | PC.TMetaLocalFunc(_,_,_,clt) + | PC.TMetaStmList(_,_,clt) | PC.TMetaDecl(_,_,clt) | PC.TMetaField(_,_,clt) + | PC.TMetaFunc(_,_,_,clt) | PC.TMetaLocalFunc(_,_,_,clt) | PC.TWhen(clt) | PC.TWhenTrue(clt) | PC.TWhenFalse(clt) | PC.TAny(clt) | PC.TStrict(clt) | PC.TEllipsis(clt) @@ -379,7 +380,8 @@ let get_clt (tok,_) = | PC.TOrLog(clt) | PC.TAndLog(clt) | PC.TOr(clt) | PC.TXor(clt) | PC.TAnd (clt) | PC.TEqEq(clt) | PC.TNotEq(clt) | PC.TTildeEq(clt) | PC.TSub(clt) | PC.TLogOp(_,clt) - | PC.TShOp(_,clt) | PC.TPlus(clt) | PC.TMinus(clt) | PC.TMul(clt) + | PC.TShLOp(_,clt) | PC.TShROp(_,clt) + | PC.TPlus(clt) | PC.TMinus(clt) | PC.TMul(clt) | PC.TDmOp(_,clt) | PC.TTilde (clt) | PC.TMetaParam(_,_,clt) | PC.TMetaParamList(_,_,_,clt) @@ -389,8 +391,9 @@ let get_clt (tok,_) = | PC.TMetaExpList(_,_,_,clt) | PC.TMetaId(_,_,_,clt) | PC.TMetaType(_,_,clt) | PC.TMetaInit(_,_,clt) | PC.TMetaStm(_,_,clt) - | PC.TMetaStmList(_,_,clt) | PC.TMetaFunc(_,_,_,clt) - | PC.TMetaLocalFunc(_,_,_,clt) | PC.TMetaPos(_,_,_,clt) + | PC.TMetaStmList(_,_,clt) | PC.TMetaDecl(_,_,clt) | PC.TMetaField(_,_,clt) + | PC.TMetaFunc(_,_,_,clt) | PC.TMetaLocalFunc(_,_,_,clt) + | PC.TMetaPos(_,_,_,clt) | PC.TWhen(clt) | PC.TWhenTrue(clt) | PC.TWhenFalse(clt) | PC.TAny(clt) | PC.TStrict(clt) | PC.TEllipsis(clt) @@ -482,7 +485,8 @@ let update_clt (tok,x) clt = | PC.TTildeEq(_) -> (PC.TTildeEq(clt),x) | PC.TSub(_) -> (PC.TSub(clt),x) | PC.TLogOp(op,_) -> (PC.TLogOp(op,clt),x) - | PC.TShOp(op,_) -> (PC.TShOp(op,clt),x) + | PC.TShLOp(op,_) -> (PC.TShLOp(op,clt),x) + | PC.TShROp(op,_) -> (PC.TShROp(op,clt),x) | PC.TPlus(_) -> (PC.TPlus(clt),x) | PC.TMinus(_) -> (PC.TMinus(clt),x) | PC.TMul(_) -> (PC.TMul(clt),x) @@ -500,8 +504,10 @@ let update_clt (tok,x) clt = | PC.TMetaId(a,b,c,_) -> (PC.TMetaId(a,b,c,clt),x) | PC.TMetaType(a,b,_) -> (PC.TMetaType(a,b,clt),x) | PC.TMetaInit(a,b,_) -> (PC.TMetaInit(a,b,clt),x) - | PC.TMetaStm(a,b,_) -> (PC.TMetaStm(a,b,clt),x) - | PC.TMetaStmList(a,b,_) -> (PC.TMetaStmList(a,b,clt),x) + | PC.TMetaDecl(a,b,_) -> (PC.TMetaDecl(a,b,clt),x) + | PC.TMetaField(a,b,_) -> (PC.TMetaField(a,b,clt),x) + | PC.TMetaStm(a,b,_) -> (PC.TMetaStm(a,b,clt),x) + | PC.TMetaStmList(a,b,_) -> (PC.TMetaStmList(a,b,clt),x) | PC.TMetaFunc(a,b,c,_) -> (PC.TMetaFunc(a,b,c,clt),x) | PC.TMetaLocalFunc(a,b,c,_) -> (PC.TMetaLocalFunc(a,b,c,clt),x) @@ -609,6 +615,7 @@ let split t clt = let split_token ((tok,_) as t) = match tok with PC.TIdentifier | PC.TConstant | PC.TExpression | PC.TIdExpression + | PC.TDeclaration | PC.TField | PC.TStatement | PC.TPosition | PC.TPosAny | PC.TInitialiser | PC.TFunction | PC.TTypedef | PC.TDeclarer | PC.TIterator | PC.TName | PC.TType | PC.TParameter | PC.TLocal | PC.Tlist | PC.TFresh @@ -642,6 +649,7 @@ let split_token ((tok,_) as t) = | PC.TMetaExpList(_,_,_,clt) | PC.TMetaParam(_,_,clt) | PC.TMetaParamList(_,_,_,clt) | PC.TMetaId(_,_,_,clt) | PC.TMetaType(_,_,clt) | PC.TMetaInit(_,_,clt) + | PC.TMetaDecl(_,_,clt) | PC.TMetaField(_,_,clt) | PC.TMetaStm(_,_,clt) | PC.TMetaStmList(_,_,clt) | PC.TMetaErr(_,_,_,clt) | PC.TMetaFunc(_,_,_,clt) | PC.TMetaLocalFunc(_,_,_,clt) | PC.TMetaDeclarer(_,_,_,clt) | PC.TMetaIterator(_,_,_,clt) -> split t clt @@ -676,7 +684,8 @@ let split_token ((tok,_) as t) = | PC.TOrLog(clt) | PC.TAndLog(clt) | PC.TOr(clt) | PC.TXor(clt) | PC.TAnd (clt) | PC.TEqEq(clt) | PC.TNotEq(clt) | PC.TTildeEq(clt) | PC.TTildeExclEq(clt) | PC.TSub(clt) | PC.TLogOp(_,clt) - | PC.TShOp(_,clt) | PC.TPlus(clt) | PC.TMinus(clt) | PC.TMul(clt) + | PC.TShLOp(_,clt) | PC.TShROp(_,clt) + | PC.TPlus(clt) | PC.TMinus(clt) | PC.TMul(clt) | PC.TDmOp(_,clt) | PC.TTilde (clt) -> split t clt | PC.TOBrace(clt) | PC.TCBrace(clt) | PC.TOInit(clt) -> split t clt @@ -796,6 +805,8 @@ let detect_types in_meta_decls l = | (PC.TMetaExpList(_,_,_,_),_) | (PC.TMetaType(_,_,_),_) | (PC.TMetaInit(_,_,_),_) + | (PC.TMetaDecl(_,_,_),_) + | (PC.TMetaField(_,_,_),_) | (PC.TMetaStm(_,_,_),_) | (PC.TMetaStmList(_,_,_),_) | (PC.TMetaPos(_,_,_,_),_) -> in_meta_decls @@ -876,7 +887,8 @@ let token2line (tok,_) = | PC.TOrLog(clt) | PC.TAndLog(clt) | PC.TOr(clt) | PC.TXor(clt) | PC.TAnd (clt) | PC.TEqEq(clt) | PC.TNotEq(clt) | PC.TLogOp(_,clt) - | PC.TShOp(_,clt) | PC.TPlus(clt) | PC.TMinus(clt) | PC.TMul(clt) + | PC.TShLOp(_,clt) | PC.TShROp(_,clt) + | PC.TPlus(clt) | PC.TMinus(clt) | PC.TMul(clt) | PC.TDmOp(_,clt) | PC.TTilde (clt) | PC.TMetaParam(_,_,clt) | PC.TMetaParamList(_,_,_,clt) @@ -884,6 +896,7 @@ let token2line (tok,_) = | PC.TMetaIdExp(_,_,_,_,clt) | PC.TMetaLocalIdExp(_,_,_,_,clt) | PC.TMetaExpList(_,_,_,clt) | PC.TMetaId(_,_,_,clt) | PC.TMetaType(_,_,clt) | PC.TMetaInit(_,_,clt) + | PC.TMetaDecl(_,_,clt) | PC.TMetaField(_,_,clt) | PC.TMetaStm(_,_,clt) | PC.TMetaStmList(_,_,clt) | PC.TMetaFunc(_,_,_,clt) | PC.TMetaLocalFunc(_,_,_,clt) | PC.TMetaPos(_,_,_,clt) @@ -1379,8 +1392,8 @@ let get_rule_name parse_fn starts_with_name get_tokens file prefix = Ast.CocciRulename (check_name nm,a,b,c,d,e) | Ast.GeneratedRulename (nm,a,b,c,d,e) -> Ast.GeneratedRulename (check_name nm,a,b,c,d,e) - | Ast.ScriptRulename(_,s,deps) -> - Ast.ScriptRulename(check_name None,s,deps) + | Ast.ScriptRulename(nm,s,deps) -> + Ast.ScriptRulename(check_name nm,s,deps) | Ast.InitialScriptRulename(_,s,deps) -> Ast.InitialScriptRulename(check_name None,s,deps) | Ast.FinalScriptRulename(_,s,deps) -> @@ -1546,6 +1559,7 @@ let parse file = let parse_cocci_rule ruletype old_metas (rule_name, dependencies, iso, dropiso, exists, is_expression) = + let dropiso = !Flag_parsing_cocci.disabled_isos @ dropiso in Ast0.rule_name := rule_name; Data.inheritable_positions := rule_name :: !Data.inheritable_positions; @@ -1641,6 +1655,25 @@ let parse file = Data.call_in_meta (function _ -> get_script_metavars PC.script_meta_main table file lexbuf) in + let (metavars,script_metavars) = + List.fold_left + (function (metavars,script_metavars) -> + function + (script_var,Some(parent,var)) -> + ((script_var,parent,var) :: metavars, script_metavars) + | ((Some script_var,None),None) -> + (metavars, (name,script_var) :: script_metavars) + | _ -> failwith "not possible") + ([],[]) metavars in + let metavars = List.rev metavars in + let script_metavars = List.rev script_metavars in + + Hashtbl.add Data.all_metadecls name + (List.map (function x -> Ast.MetaIdDecl(Ast.NONE,x)) + script_metavars); + Hashtbl.add Lexer_cocci.rule_names name (); + (*TODOHashtbl.add Lexer_cocci.all_metavariables name script_metavars;*) + (* let exists_in old_metas (py,(r,m)) = r = "virtual" or @@ -1662,7 +1695,9 @@ let parse file = (* script code *) let (more, tokens) = get_tokens [PC.TArobArob; PC.TArob] in let data = collect_script_tokens tokens in - (more,Ast0.ScriptRule(name, language, deps, metavars, data), + (more, + Ast0.ScriptRule(name, language, deps, metavars, + script_metavars, data), [],tokens) in let parse_if_script_rule k name language _ deps = @@ -1783,8 +1818,8 @@ let process file isofile verbose = let parsed = List.map (function - Ast0.ScriptRule (a,b,c,d,e) -> - [([],Ast.ScriptRule (a,b,c,d,e))] + Ast0.ScriptRule (a,b,c,d,fv,e) -> + [([],Ast.ScriptRule (a,b,c,d,fv,e))] | Ast0.InitialScriptRule(a,b,c,d) -> [([],Ast.InitialScriptRule (a,b,c,d))] | Ast0.FinalScriptRule (a,b,c,d) -> diff --git a/parsing_cocci/parser_cocci_menhir.ml b/parsing_cocci/parser_cocci_menhir.ml index dd9f1bf..e11bab0 100644 --- a/parsing_cocci/parser_cocci_menhir.ml +++ b/parsing_cocci/parser_cocci_menhir.ml @@ -190,249 +190,264 @@ type token = (Data.clt) # 192 "parser_cocci_menhir.ml" ) - | TShOp of ( + | TShROp of ( # 99 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) # 197 "parser_cocci_menhir.ml" +) + | TShLOp of ( +# 99 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 202 "parser_cocci_menhir.ml" ) | TScriptData of ( # 74 "parser_cocci_menhir.mly" (string) -# 202 "parser_cocci_menhir.ml" +# 207 "parser_cocci_menhir.ml" ) | TScript | TRuleName of ( # 49 "parser_cocci_menhir.mly" (string) -# 208 "parser_cocci_menhir.ml" +# 213 "parser_cocci_menhir.ml" ) | TRightIso | TReturn of ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 214 "parser_cocci_menhir.ml" +# 219 "parser_cocci_menhir.ml" ) | TPure | TPtrOp of ( # 107 "parser_cocci_menhir.mly" (Data.clt) -# 220 "parser_cocci_menhir.ml" +# 225 "parser_cocci_menhir.ml" ) | TPtVirg of ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 225 "parser_cocci_menhir.ml" +# 230 "parser_cocci_menhir.ml" ) | TPragma of ( # 62 "parser_cocci_menhir.mly" (Ast_cocci.added_string * Data.clt) -# 230 "parser_cocci_menhir.ml" +# 235 "parser_cocci_menhir.ml" ) | TPosition | TPosAny | TPlusFile of ( # 86 "parser_cocci_menhir.mly" (string * Data.clt) -# 237 "parser_cocci_menhir.ml" +# 242 "parser_cocci_menhir.ml" ) | TPlus0 | TPlus of ( # 101 "parser_cocci_menhir.mly" (Data.clt) -# 243 "parser_cocci_menhir.ml" +# 248 "parser_cocci_menhir.ml" ) | TPathIsoFile of ( # 82 "parser_cocci_menhir.mly" (string) -# 248 "parser_cocci_menhir.ml" +# 253 "parser_cocci_menhir.ml" ) | TParameter | TPOEllipsis of ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 254 "parser_cocci_menhir.ml" +# 259 "parser_cocci_menhir.ml" ) | TPCEllipsis of ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 259 "parser_cocci_menhir.ml" +# 264 "parser_cocci_menhir.ml" ) | TPArob | TOrLog of ( # 92 "parser_cocci_menhir.mly" (Data.clt) -# 265 "parser_cocci_menhir.ml" +# 270 "parser_cocci_menhir.ml" ) | TOr of ( # 94 "parser_cocci_menhir.mly" (Data.clt) -# 270 "parser_cocci_menhir.ml" +# 275 "parser_cocci_menhir.ml" ) | TOn | TOPar0 of ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 276 "parser_cocci_menhir.ml" +# 281 "parser_cocci_menhir.ml" ) | TOPar of ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 281 "parser_cocci_menhir.ml" +# 286 "parser_cocci_menhir.ml" ) | TOInit of ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 286 "parser_cocci_menhir.ml" +# 291 "parser_cocci_menhir.ml" ) | TOEllipsis of ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 291 "parser_cocci_menhir.ml" +# 296 "parser_cocci_menhir.ml" ) | TOCro of ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 296 "parser_cocci_menhir.ml" +# 301 "parser_cocci_menhir.ml" ) | TOBrace of ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 301 "parser_cocci_menhir.ml" +# 306 "parser_cocci_menhir.ml" ) | TNothing | TNotEq of ( # 97 "parser_cocci_menhir.mly" (Data.clt) -# 307 "parser_cocci_menhir.ml" +# 312 "parser_cocci_menhir.ml" ) | TNever | TName | TMul of ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 314 "parser_cocci_menhir.ml" +# 319 "parser_cocci_menhir.ml" ) | TMinusFile of ( # 86 "parser_cocci_menhir.mly" (string * Data.clt) -# 319 "parser_cocci_menhir.ml" +# 324 "parser_cocci_menhir.ml" ) | TMinus of ( # 101 "parser_cocci_menhir.mly" (Data.clt) -# 324 "parser_cocci_menhir.ml" +# 329 "parser_cocci_menhir.ml" ) | TMid0 of ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 329 "parser_cocci_menhir.ml" +# 334 "parser_cocci_menhir.ml" ) | TMetaType of ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 334 "parser_cocci_menhir.ml" +# 339 "parser_cocci_menhir.ml" ) | TMetaStmList of ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 339 "parser_cocci_menhir.ml" +# 344 "parser_cocci_menhir.ml" ) | TMetaStm of ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 344 "parser_cocci_menhir.ml" +# 349 "parser_cocci_menhir.ml" ) | TMetaPos of ( # 71 "parser_cocci_menhir.mly" (Parse_aux.pos_info) -# 349 "parser_cocci_menhir.ml" +# 354 "parser_cocci_menhir.ml" ) | TMetaParamList of ( # 69 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 354 "parser_cocci_menhir.ml" +# 359 "parser_cocci_menhir.ml" ) | TMetaParam of ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 359 "parser_cocci_menhir.ml" +# 364 "parser_cocci_menhir.ml" ) | TMetaLocalIdExp of ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 364 "parser_cocci_menhir.ml" +# 369 "parser_cocci_menhir.ml" ) | TMetaLocalFunc of ( # 64 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 369 "parser_cocci_menhir.ml" +# 374 "parser_cocci_menhir.ml" ) | TMetaIterator of ( # 65 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 374 "parser_cocci_menhir.ml" +# 379 "parser_cocci_menhir.ml" ) | TMetaInit of ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 379 "parser_cocci_menhir.ml" +# 384 "parser_cocci_menhir.ml" ) | TMetaIdExp of ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 384 "parser_cocci_menhir.ml" +# 389 "parser_cocci_menhir.ml" ) | TMetaId of ( # 64 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 389 "parser_cocci_menhir.ml" +# 394 "parser_cocci_menhir.ml" ) | TMetaFunc of ( # 64 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 394 "parser_cocci_menhir.ml" +# 399 "parser_cocci_menhir.ml" +) + | TMetaField of ( +# 68 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 404 "parser_cocci_menhir.ml" ) | TMetaExpList of ( # 69 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 399 "parser_cocci_menhir.ml" +# 409 "parser_cocci_menhir.ml" ) | TMetaExp of ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 404 "parser_cocci_menhir.ml" +# 414 "parser_cocci_menhir.ml" ) | TMetaErr of ( # 66 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 409 "parser_cocci_menhir.ml" +# 419 "parser_cocci_menhir.ml" ) | TMetaDeclarer of ( # 65 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 414 "parser_cocci_menhir.ml" +# 424 "parser_cocci_menhir.ml" +) + | TMetaDecl of ( +# 68 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 429 "parser_cocci_menhir.ml" ) | TMetaConst of ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 419 "parser_cocci_menhir.ml" +# 434 "parser_cocci_menhir.ml" ) | TMPtVirg | TLogOp of ( # 98 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 425 "parser_cocci_menhir.ml" +# 440 "parser_cocci_menhir.ml" ) | TLocal | TLineEnd of ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 431 "parser_cocci_menhir.ml" +# 446 "parser_cocci_menhir.ml" ) | TIteratorId of ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 436 "parser_cocci_menhir.ml" +# 451 "parser_cocci_menhir.ml" ) | TIterator | TIsoType @@ -448,62 +463,63 @@ type token = | TInt of ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 452 "parser_cocci_menhir.ml" +# 467 "parser_cocci_menhir.ml" ) | TInitialize | TInitialiser | TIncludeNL of ( # 83 "parser_cocci_menhir.mly" (string * Data.clt) -# 459 "parser_cocci_menhir.ml" +# 474 "parser_cocci_menhir.ml" ) | TIncludeL of ( # 83 "parser_cocci_menhir.mly" (string * Data.clt) -# 464 "parser_cocci_menhir.ml" +# 479 "parser_cocci_menhir.ml" ) | TInc of ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 469 "parser_cocci_menhir.ml" +# 484 "parser_cocci_menhir.ml" ) | TIf of ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 474 "parser_cocci_menhir.ml" +# 489 "parser_cocci_menhir.ml" ) | TIdentifier | TIdent of ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 480 "parser_cocci_menhir.ml" +# 495 "parser_cocci_menhir.ml" ) | TIdExpression | TGoto of ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 486 "parser_cocci_menhir.ml" +# 501 "parser_cocci_menhir.ml" ) | TGenerated | TFunction | TFunDecl of ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 493 "parser_cocci_menhir.ml" +# 508 "parser_cocci_menhir.ml" ) | TFresh | TForall | TFor of ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 500 "parser_cocci_menhir.ml" +# 515 "parser_cocci_menhir.ml" ) | TFloat of ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 505 "parser_cocci_menhir.ml" +# 520 "parser_cocci_menhir.ml" ) | TFinalize + | TField | TExtends | TExpression | TExists @@ -512,151 +528,152 @@ type token = | TEqEq of ( # 97 "parser_cocci_menhir.mly" (Data.clt) -# 516 "parser_cocci_menhir.ml" +# 532 "parser_cocci_menhir.ml" ) | TEq of ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 521 "parser_cocci_menhir.ml" +# 537 "parser_cocci_menhir.ml" ) | TElse of ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 526 "parser_cocci_menhir.ml" +# 542 "parser_cocci_menhir.ml" ) | TEllipsis of ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 531 "parser_cocci_menhir.ml" +# 547 "parser_cocci_menhir.ml" ) | TDotDot of ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 536 "parser_cocci_menhir.ml" +# 552 "parser_cocci_menhir.ml" ) | TDot of ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 541 "parser_cocci_menhir.ml" +# 557 "parser_cocci_menhir.ml" ) | TDo of ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 546 "parser_cocci_menhir.ml" +# 562 "parser_cocci_menhir.ml" ) | TDmOp of ( # 100 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 551 "parser_cocci_menhir.ml" +# 567 "parser_cocci_menhir.ml" ) | TDisable | TDepends | TDefineParam of ( # 85 "parser_cocci_menhir.mly" (Data.clt * token * int * int) -# 558 "parser_cocci_menhir.ml" +# 574 "parser_cocci_menhir.ml" ) | TDefine of ( # 84 "parser_cocci_menhir.mly" (Data.clt * token) -# 563 "parser_cocci_menhir.ml" +# 579 "parser_cocci_menhir.ml" ) | TDefault of ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 568 "parser_cocci_menhir.ml" +# 584 "parser_cocci_menhir.ml" ) | TDeclarerId of ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 573 "parser_cocci_menhir.ml" +# 589 "parser_cocci_menhir.ml" ) | TDeclarer + | TDeclaration | TDec of ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 579 "parser_cocci_menhir.ml" +# 596 "parser_cocci_menhir.ml" ) | TCppConcatOp | TContinue of ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 585 "parser_cocci_menhir.ml" +# 602 "parser_cocci_menhir.ml" ) | TContext | TConstant | TComma of ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 592 "parser_cocci_menhir.ml" +# 609 "parser_cocci_menhir.ml" ) | TChar of ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 597 "parser_cocci_menhir.ml" +# 614 "parser_cocci_menhir.ml" ) | TCase of ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 602 "parser_cocci_menhir.ml" +# 619 "parser_cocci_menhir.ml" ) | TCPar0 of ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 607 "parser_cocci_menhir.ml" +# 624 "parser_cocci_menhir.ml" ) | TCPar of ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 612 "parser_cocci_menhir.ml" +# 629 "parser_cocci_menhir.ml" ) | TCEllipsis of ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 617 "parser_cocci_menhir.ml" +# 634 "parser_cocci_menhir.ml" ) | TCCro of ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 622 "parser_cocci_menhir.ml" +# 639 "parser_cocci_menhir.ml" ) | TCBrace of ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 627 "parser_cocci_menhir.ml" +# 644 "parser_cocci_menhir.ml" ) | TBreak of ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 632 "parser_cocci_menhir.ml" +# 649 "parser_cocci_menhir.ml" ) | TBang0 | TBang of ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 638 "parser_cocci_menhir.ml" +# 655 "parser_cocci_menhir.ml" ) | TAssign of ( # 111 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 643 "parser_cocci_menhir.ml" +# 660 "parser_cocci_menhir.ml" ) | TArobArob | TArob | TAny of ( # 77 "parser_cocci_menhir.mly" (Data.clt) -# 650 "parser_cocci_menhir.ml" +# 667 "parser_cocci_menhir.ml" ) | TAndLog of ( # 93 "parser_cocci_menhir.mly" (Data.clt) -# 655 "parser_cocci_menhir.ml" +# 672 "parser_cocci_menhir.ml" ) | TAnd of ( # 96 "parser_cocci_menhir.mly" (Data.clt) -# 660 "parser_cocci_menhir.ml" +# 677 "parser_cocci_menhir.ml" ) | EOF @@ -678,7 +695,7 @@ module Ast0 = Ast0_cocci module Ast = Ast_cocci module P = Parse_aux -# 682 "parser_cocci_menhir.ml" +# 699 "parser_cocci_menhir.ml" let _eRR = Error @@ -692,270 +709,280 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct fun _tok -> match _tok with | EOF -> - 178 + 183 | TAnd _ -> - 177 + 182 | TAndLog _ -> - 176 + 181 | TAny _ -> - 175 + 180 | TArob -> - 174 + 179 | TArobArob -> - 173 + 178 | TAssign _ -> - 172 + 177 | TBang _ -> - 171 + 176 | TBang0 -> - 170 + 175 | TBreak _ -> - 169 + 174 | TCBrace _ -> - 168 + 173 | TCCro _ -> - 167 + 172 | TCEllipsis _ -> - 166 + 171 | TCPar _ -> - 165 + 170 | TCPar0 _ -> - 164 + 169 | TCase _ -> - 163 + 168 | TChar _ -> - 162 + 167 | TComma _ -> - 161 + 166 | TConstant -> - 160 + 165 | TContext -> - 159 + 164 | TContinue _ -> - 158 + 163 | TCppConcatOp -> - 157 + 162 | TDec _ -> - 156 + 161 + | TDeclaration -> + 160 | TDeclarer -> - 155 + 159 | TDeclarerId _ -> - 154 + 158 | TDefault _ -> - 153 + 157 | TDefine _ -> - 152 + 156 | TDefineParam _ -> - 151 + 155 | TDepends -> - 150 + 154 | TDisable -> - 149 + 153 | TDmOp _ -> - 148 + 152 | TDo _ -> - 147 + 151 | TDot _ -> - 146 + 150 | TDotDot _ -> - 145 + 149 | TEllipsis _ -> - 144 + 148 | TElse _ -> - 143 + 147 | TEq _ -> - 142 + 146 | TEqEq _ -> - 141 + 145 | TError -> - 140 + 144 | TEver -> - 139 + 143 | TExists -> - 138 + 142 | TExpression -> - 137 + 141 | TExtends -> - 136 + 140 + | TField -> + 139 | TFinalize -> - 135 + 138 | TFloat _ -> - 134 + 137 | TFor _ -> - 133 + 136 | TForall -> - 132 + 135 | TFresh -> - 131 + 134 | TFunDecl _ -> - 130 + 133 | TFunction -> - 129 + 132 | TGenerated -> - 128 + 131 | TGoto _ -> - 127 + 130 | TIdExpression -> - 126 + 129 | TIdent _ -> - 125 + 128 | TIdentifier -> - 124 + 127 | TIf _ -> - 123 + 126 | TInc _ -> - 122 + 125 | TIncludeL _ -> - 121 + 124 | TIncludeNL _ -> - 120 + 123 | TInitialiser -> - 119 + 122 | TInitialize -> - 118 + 121 | TInt _ -> - 117 + 120 | TInvalid -> - 116 + 119 | TIso -> - 115 + 118 | TIsoArgExpression -> - 114 + 117 | TIsoDeclaration -> - 113 + 116 | TIsoExpression -> - 112 + 115 | TIsoStatement -> - 111 + 114 | TIsoTestExpression -> - 110 + 113 | TIsoToTestExpression -> - 109 + 112 | TIsoTopLevel -> - 108 + 111 | TIsoType -> - 107 + 110 | TIterator -> - 106 + 109 | TIteratorId _ -> - 105 + 108 | TLineEnd _ -> - 104 + 107 | TLocal -> - 103 + 106 | TLogOp _ -> - 102 + 105 | TMPtVirg -> - 101 + 104 | TMetaConst _ -> - 100 + 103 + | TMetaDecl _ -> + 102 | TMetaDeclarer _ -> - 99 + 101 | TMetaErr _ -> - 98 + 100 | TMetaExp _ -> - 97 + 99 | TMetaExpList _ -> - 96 + 98 + | TMetaField _ -> + 97 | TMetaFunc _ -> - 95 + 96 | TMetaId _ -> - 94 + 95 | TMetaIdExp _ -> - 93 + 94 | TMetaInit _ -> - 92 + 93 | TMetaIterator _ -> - 91 + 92 | TMetaLocalFunc _ -> - 90 + 91 | TMetaLocalIdExp _ -> - 89 + 90 | TMetaParam _ -> - 88 + 89 | TMetaParamList _ -> - 87 + 88 | TMetaPos _ -> - 86 + 87 | TMetaStm _ -> - 85 + 86 | TMetaStmList _ -> - 84 + 85 | TMetaType _ -> - 83 + 84 | TMid0 _ -> - 82 + 83 | TMinus _ -> - 81 + 82 | TMinusFile _ -> - 80 + 81 | TMul _ -> - 79 + 80 | TName -> - 78 + 79 | TNever -> - 77 + 78 | TNotEq _ -> - 76 + 77 | TNothing -> - 75 + 76 | TOBrace _ -> - 74 + 75 | TOCro _ -> - 73 + 74 | TOEllipsis _ -> - 72 + 73 | TOInit _ -> - 71 + 72 | TOPar _ -> - 70 + 71 | TOPar0 _ -> - 69 + 70 | TOn -> - 68 + 69 | TOr _ -> - 67 + 68 | TOrLog _ -> - 66 + 67 | TPArob -> - 65 + 66 | TPCEllipsis _ -> - 64 + 65 | TPOEllipsis _ -> - 63 + 64 | TParameter -> - 62 + 63 | TPathIsoFile _ -> - 61 + 62 | TPlus _ -> - 60 + 61 | TPlus0 -> - 59 + 60 | TPlusFile _ -> - 58 + 59 | TPosAny -> - 57 + 58 | TPosition -> - 56 + 57 | TPragma _ -> - 55 + 56 | TPtVirg _ -> - 54 + 55 | TPtrOp _ -> - 53 + 54 | TPure -> - 52 + 53 | TReturn _ -> - 51 + 52 | TRightIso -> - 50 + 51 | TRuleName _ -> - 49 + 50 | TScript -> - 48 + 49 | TScriptData _ -> + 48 + | TShLOp _ -> 47 - | TShOp _ -> + | TShROp _ -> 46 | TSizeof _ -> 45 @@ -1100,6 +1127,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr () | TDec _v -> Obj.repr _v + | TDeclaration -> + Obj.repr () | TDeclarer -> Obj.repr () | TDeclarerId _v -> @@ -1140,6 +1169,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr () | TExtends -> Obj.repr () + | TField -> + Obj.repr () | TFinalize -> Obj.repr () | TFloat _v -> @@ -1212,6 +1243,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr () | TMetaConst _v -> Obj.repr _v + | TMetaDecl _v -> + Obj.repr _v | TMetaDeclarer _v -> Obj.repr _v | TMetaErr _v -> @@ -1220,6 +1253,8 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v | TMetaExpList _v -> Obj.repr _v + | TMetaField _v -> + Obj.repr _v | TMetaFunc _v -> Obj.repr _v | TMetaId _v -> @@ -1318,7 +1353,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 @@ -1412,19 +1449,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Obj.repr _v let default_reduction = - (16, "\000\000\000\000\002\163\000|\000\000\000\000\002\240\001L\000\000\001J\001K\001I\000\000\001N\001M\000\001\000\000\001\140\000\000\000\000\000\140\000\000\000\000\001|\000\165\000\000\000\000\000\152\000\000\000\000\000\157\000\156\000\000\000\153\000\000\000\151\000\000\000\000\000\000\000\155\000\000\000\154\003'\003&\000\000\000\000\000\145\000\000\000\000\000\150\000\149\000\000\000\146\000\000\000\144\000\000\000\000\000\000\000\148\000\000\000\147\000\000\000\159\000\000\000\000\000\164\000\163\000\000\000\160\000\000\000\167\000\000\001F\001E\000\000\000\168\000\000\000\166\000\139\000\000\000\158\000\000\000\173\000\000\000\000\000\000\000\162\000\000\000\000\000\000\003\029\000\000\000\000\000\000\000\000\000\000\003\"\000\000\000\000\000\170\000\000\003$\000\000\000\000\000\000\003\161\002m\000\000\003\159\000\000\002\135\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\158\003\160\002s\001A\002r\001?\001@\002q\002p\002o\002k\000\000\000\000\002l\001\014\000\000\002n\000\000\003\157\000\000\000c\001>\002N\000\000\000\000\002Q\000\000\000\015\000\000\000\000\000\000\000\000\001\015\002j\002v\000[\000\021\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\000\000\000\023\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\002)\000R\001\024\000^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\\\000T\000\000\000S\001\025\000\000\002T\001\026\000\014\000\016\000\000\000\000\000\195\000\000\000\000\000\182\000\000\000\000\000\187\000\186\000\000\000\183\000\000\000\181\000\000\000\000\000\000\000\185\000\000\000\184\000\000\000\000\000\175\000\000\000\000\000\180\000\179\000\000\000\176\000\000\000\174\000\000\000\000\000\000\000\178\000\000\000\177\000\000\000\189\000\000\000\000\000\194\000\193\000\000\000\190\000\000\000\197\000\000\000\000\000\198\000\000\000\196\000\000\000\188\000\000\000\203\000\000\000\000\000\000\000\192\000\000\000\000\000\000\000\000\000\202\000\000\000\000\000\142\000\000\000\000\000\000\000\000\000\000\000\000\002\016\000\211\000\000\000\000\000n\000o\002\015\001\240\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\222\000\217\000\000\001\241\000\000\000\000\000\000\000\000\000\210\000\208\000\223\000\000\001\132\000\000\000\000\003\031\000\000\003\030\000\000\000\000\000\000\000\000\000\000\000\200\000\000\000\000\000\000\000\000\000\201\000\199\000\000\000\000\003!\003%\000\191\000\000\000\000\001\029\000\000\000\000\002O\002R\000\000\002P\002S\003\132\003\133\003\131\000\000\002t\003\130\000\000\002\142\000\000\000\000\002\141\002\140\002\139\002\138\002\137\002\133\000\000\000\000\002\134\000\000\002\136\000\000\000\000\000g\002\\\000\000\000\000\002_\000\000\000\000\002b\000\000\000\000\002]\002`\000\000\002^\002a\002\144\002\132\003\146\003\147\003\145\003\144\000h\000\000\000\000\000W\000\000\000V\001\"\000\000\001\250\000\000\000\000\000\000\000\000\000\000\001\019\002\000\000\000\000\000\001\164\000U\0001\001\012\000_\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\000\000\0003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002u\000\000\000\206\000\000\000\000\001\235\000\000\001\154\001\216\000\000\000\000\001\234\000\000\001\152\001\215\000\000\000\000\000d\000\000\002\143\000\000\000\000\003\149\003\148\000\000\001\251\000\000\000\000\003\135\003\134\000\000\000Q\000\207\000\000\001~\000\000\003 \000\000\000\000\000\000\000\000\000\171\000\169\000\000\001\023\000\000\000\000\000\172\000\161\000\000\000\000\001f\000\000\001e\000\000\001t\000\000\001\142\000\000\000\000\000\000\003W\000\000\000\000\003J\000\000\000\000\003O\003N\000\000\003K\000\000\003I\000\000\000\000\000\000\003M\000\000\003L\000\000\000\000\003C\000\000\000\000\003H\003G\000\000\003D\000\000\003B\000\000\000\000\000\000\003F\000\000\003E\000\000\003Q\000\000\000\000\003V\003U\000\000\003R\000\000\003Y\000\000\000\000\003Z\000\000\003X\000\000\003P\000\000\003_\000\000\000\000\000\000\003T\000\000\000\000\003~\000\000\000\000\000\000\000\000\003^\003S\000\000\003\128\000\000\000\000\003\000\003\127\000\132\000\000\000\251\000\000\000\000\000\000\000\000\003\\\000\000\000\000\000\000\000\000\003]\003[\000\000\000\000\003u\000\000\000\000\003h\000\000\000\000\003m\003l\000\000\003i\000\000\003g\000\000\000\000\000\000\003k\000\000\003j\000\000\000\000\003a\000\000\000\000\003f\003e\000\000\003b\000\000\003`\000\000\000\000\000\000\003d\000\000\003c\000\000\003o\000\000\000\000\003t\003s\000\000\003p\000\000\003w\000\000\000\000\003x\000\000\003v\000\000\003n\000\000\003}\000\000\000\000\000\000\003r\000\000\000\000\000\000\000\000\003|\003q\000\000\000\000\000\000\000\000\003z\000\000\000\000\000\000\000\000\003{\003y\003\025\003\027\003\028\003\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\213\000\212\000\000\000\000\000y\000\000\000\000\000\000\002z\000\000\000\000\000\000\002\130\000\000\000\000\002\129\000\000\003\142\002\128\002\127\002~\002}\002|\001b\002x\000\000\000\000\002y\000\000\002{\000\000\000\000\000\000\000\000\000\000\000e\002U\000\000\000\000\002X\000\000\000\000\002[\000\000\000\000\002V\002Y\000\000\002W\002Z\002\131\002w\000f\003\139\003\140\003\138\003\137\003\141\000\000\000\000\000\000\000\000\001\011\001\n\000\000\000\000\000\000\000\000\000\000\000\000\001W\000\000\001\021\001T\000\000\001\t\000\000\000\000\000\000\001[\000\000\000\000\001\\\000\000\001\136\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000\000%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001`\000\000\000\000\001_\000\000\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000v\000q\000s\000r\001a\001Z\001]\000\000\001Y\001V\000\000\001U\000\000\000\244\000\000\002\234\000\000\000\000\000\240\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\247\000\000\000\000\000\250\000\000\000\000\000\000\000\000\000\000\000\000\001D\000\000\000\000\000\000\000\237\000\000\000\234\000\000\000\000\000\000\000\000\000\000\000\245\000\000\000\241\000\000\000\000\000\000\000\000\000\242\000\000\000\238\000\000\000\000\000\000\002\148\000\000\000\000\000\000\000\000\002\155\000\000\000\000\002\154\002\153\002\152\002\151\002\150\002\146\000\000\000\000\002\147\000\000\002\149\000\000\000\000\000i\002c\000\000\000\000\002f\000\000\000\000\002i\000\000\000\000\002d\002g\000\000\002e\002h\002\157\002\145\003\153\003\154\003\152\003\151\000j\000\000\000\000\000Z\000\000\000Y\000\000\002\156\000\000\001\217\000X\000?\001!\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\156\003\155\000\000\003\016\000\000\003\015\000\000\000\000\000\000\000\000\003\168\000\000\000\000\000\000\003\169\000\000\000\018\000\000\000\000\000\000\003\164\000\000\001\166\000\000\000\000\000\000\000\224\003\006\001z\001y\001P\001O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\016\001\017\001\001\000\000\001\138\000\000\000\000\001\000\000\252\000\000\001\003\000\253\001\002\000\000\003\018\000\000\003\017\003\003\000\000\000\000\000\000\000\000\000\000\003\012\000\000\000\000\000\000\000\000\003\013\003\005\000\000\003\019\000\000\003\007\000\000\000\228\001Q\000\000\003\022\000\000\001S\000\000\000\000\003-\000\000\0034\000\230\000\000\000\235\000\000\003.\000\229\000\000\003/\000\000\0036\000\000\000\000\000\000\000\000\000\248\000\000\000\232\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\246\000\000\000\000\000\249\000\000\000\000\000\000\000\000\001C\000\000\000\000\000\000\000\236\000\000\000\233\000\000\000\000\000\000\000\000\000\000\000\243\000\000\000\239\000\226\000\225\000\000\0037\0038\000\000\0039\000\000\003:\000\000\001R\003\n\000\000\000\000\001\239\000\000\001\162\001\221\000\000\003\004\000\000\000\000\000\000\003\t\000\000\000\000\000\000\0017\000\000\0011\000\000\0012\000\000\001<\0010\001;\000\000\003\021\001=\000\000\000\231\000\000\000\000\000\000\000\000\0019\0014\001\236\000\000\0015\000\000\0016\000\000\001\156\001\218\000\000\000\000\000\000\001\246\000\000\001\244\000\000\000\000\001\248\001\242\000\000\001\249\001\243\000\000\003\023\001\252\000\000\000\227\000\000\000\000\001\237\000\000\001\158\001\219\000\000\003\165\000\000\003\162\000\000\003\163\000\019\000\020\000\000\000\000\002\208\000\000\002\207\000\000\000\000\002\210\000\000\002\209\000\000\000\000\000\000\002\025\000\000\000\000\002\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\002#\000\000\002\019\000\000\000\000\002\022\000\000\000\000\000\000\002\026\000\000\000\000\002\030\000\000\000\000\001\238\000\000\000\000\002\023\000\000\000\000\002\027\002\205\002\020\000\000\002\206\000\000\000\000\000\000\000\000\002!\000\000\002\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\031\000\000\000\000\002\"\000\000\002\018\000\000\000\000\002\021\000\000\000\000\000\000\002\024\000\000\000\000\002\028\000\000\001\160\001\220\000\000\002\211\000\000\000\000\000\000\003\166\000\017\000w\000\000\003\167\000\000\000\000\002\230\000\000\000\000\003\024\000a\000\000\000\000\000\000\000b\000\000\003\014\000\000\001\128\000\000\001\134\003\011\000\000\000\000\001l\000\000\001k\000\000\001u\000\000\001\148\000\000\000\000\000\000\001j\000\000\001i\000\000\001r\000\000\001\146\000\000\000\000\000\000\001q\000\000\000\000\000\000\001n\000\000\001m\000\000\001s\000\000\001\150\000\000\000\000\000\000\001o\000\000\000\000\000\000\001h\000\000\001g\000\000\001v\000\000\001\144\000\000\000\000\000\000\001p\000\002\000\000\000N\000O\000\000\000\000\002\173\002\177\002\181\002\169\002\166\000\000\000\000\002\178\002\185\002\170\002\184\002\168\002\183\002\172\002\164\002\171\002\180\002\167\002\174\002\165\002\176\002\182\002\179\002\175\001\184\001\183\000\130\000\000\000\000\002\252\000\000\000\000\002\224\000\000\000\000\002\226\002\225\002\195\000\000\000\000\003\002\002\187\002\186\002\188\000\000\001\196\000M\001w\000\003\000\000\000\000\002\160\000\000\002'\000\000\000\131\000\000\000\000\002\254\000\000\000\000\000\000\000{\000\000\000\000\002\238\000\000\002\012\002\011\001\178\002\196\000\000\001\212\000\000\002\161\000\000\000\000\000}\000\000\000\000\002\242\000\000\001\193\000\000\000\000\001\189\000\000\000\000\000\000\001\192\000\000\001\191\000\000\000\000\000\000\001\168\001\167\000\000\000\000\000\000\001\213\000\000\001\187\000\000\001\186\000\000\000x\000\000\000\000\002\232\000\000\000\000\001\182\000\000\000\000\000\128\000\000\000\000\002\248\000\000\000\000\002\203\000\000\002\202\000\000\000\000\000\000\002\n\002\t\002\200\002/\002\191\002\201\000\000\001\199\000\000\000\000\000\000\001\195\000\000\001\201\000\000\000\000\001\190\000\000\000\000\000\000\002\193\000\129\000\000\000\000\002\250\000\000\002\192\000\000\001\197\000\000\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\001\214\000\000\001\188\000\000\002\002\000~\000\000\000\000\002\244\000\000\000\000\000\000\000\000\003)\003(\000\000\000\000\001H\000z\001G\000\000\000\000\002\236\000\000\002\004\002\003\002\006\002\189\002+\002\005\000\000\000\127\000\000\000\000\002\246\000\000\000\000\000\000\000\000\002\008\002\007\002\199\002\197\002-\002\190\002\198\000\000\001\206\000\000\001\210\000\000\000\000\001\202\000\000\000\000\000\000\001\194\000\000\001\200\000\000\000\000\000\000\000\000\001\181\000\000\000\000\001\209\000\000\001\208\000\000\000\000\000\000\000\000\001\205\000\000\000\000\001\204\000\000\001\203\000\000\000\000\000\000\000\000\001\207\000\000\001\211\000\000\000\000\001x\000\004\000\000\001\185\000\005\000\000\000\000\001%\000\006\000\000\001\225\001\226\001\224\000\000\001\223\003*\001\174\000\000\000\007\000\000\001\228\001\229\001\227\000\000\000\000\000\000\000\000\001'\000\000\000\000\000\000\000\000\001,\001.\001-\001(\001*\001)\000\000\000\000\000\000\000\000\000\000\0030\003=\000\000\0031\000\000\0032\000\000\000\000\003+\000\000\000\000\000\000\000\000\003<\000\000\000\000\003;\001\233\001\232\000\000\000\000\001\176\001\222\001\230\000\000\000\000\000\000\000\000\002\014\000\000\000\000\000l\000m\002\013\000\000\000\000\000\000\000\220\000\000\001\130\000\000\000\000\000\219\000\215\000\000\000\000\000\000\000\000\001B\000\000\003@\000\000\003A\000\000\000\000\001\255\001\253\000\000\001\254\000\008\000\000\000\t\000\000\002>\002?\002=\000\000\002<\000\000\000\n\000\000\002A\002B\002@\000\000\002D\000\000\000\000\000\000\0026\000\000\000\000\0028\000\000\0022\000\000\0024\000\000\0029\000\000\002:\000\000\0023\0021\002E\001\180\002;\000\000\002G\000\000\002F\000\000\002H\000\000\002\204\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002I\000\000\000\000\002L\000\000\002K\000\000\002J\001\004\000\000\000\000\000\000\000\000\001\005\002M\000\000\000\000\002\215\000\000\000\000\000\000\000\000\002\216\000\000\000\000\001$\000\000\000\000\000\000\000\000\000\000\002\228\000k\000\000\000\000\001\013\000\000\001\031\001\030\000\000\001d\000\000\002\214\001\172\001\170\000\000\000\000\000\000\000\000\002\217\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\213\000\000\000\000\000\000\000\000\000\000\000\000\002\212\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\223\000\000\000\000\000\000\002\222\002\219\000\000\000\000\000\000\000\000\002\220\000\000\000\000\002\221\000\013\000\000\002\218") + (16, "\000\000\000\000\002\171\000\128\000\000\000\000\002\250\001Q\000\000\001O\001P\001N\000\000\001S\001R\000\001\000\000\001\145\000\000\000\000\000\144\000\000\000\000\001\129\000\169\000\000\000\000\000\156\000\000\000\000\000\161\000\160\000\000\000\157\000\000\000\155\000\000\000\000\000\000\000\159\000\000\000\158\0032\0031\000\000\000\000\000\149\000\000\000\000\000\154\000\153\000\000\000\150\000\000\000\148\000\000\000\000\000\000\000\152\000\000\000\151\000\000\000\163\000\000\000\000\000\168\000\167\000\000\000\164\000\000\000\171\000\000\001K\001J\000\000\000\172\000\000\000\170\000\143\000\000\000\162\000\000\000\177\000\000\000\000\000\000\000\166\000\000\000\000\000\000\003'\003(\000\000\000\000\000\000\000\000\000\000\003-\000\000\000\000\000\174\000\000\003/\000\000\000\000\000\000\003\172\002u\000\000\003\170\000\000\002\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\169\003\171\002{\001F\002z\001D\001E\002y\002x\002w\002s\000\000\000\000\002t\001\019\000\000\002v\000\000\003\168\000\000\000g\001C\002V\000\000\000\000\002Y\000\000\000\015\000\000\000\000\000\000\000\000\001\020\002r\002~\000_\000\021\000a\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\000\000\000\000\138\0021\000V\001\029\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000X\000\000\000W\001\030\000\000\002\\\001\031\000\014\000\016\000\000\000\000\000\199\000\000\000\000\000\186\000\000\000\000\000\191\000\190\000\000\000\187\000\000\000\185\000\000\000\000\000\000\000\189\000\000\000\188\000\000\000\000\000\179\000\000\000\000\000\184\000\183\000\000\000\180\000\000\000\178\000\000\000\000\000\000\000\182\000\000\000\181\000\000\000\193\000\000\000\000\000\198\000\197\000\000\000\194\000\000\000\201\000\000\000\000\000\202\000\000\000\200\000\000\000\192\000\000\000\207\000\000\000\000\000\000\000\196\000\000\000\000\000\000\000\000\000\206\000\000\000\000\000\146\000\000\000\000\000\000\000\000\000\000\000\000\002\023\000\215\000\000\000\000\000r\000s\002\022\001\247\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\226\000\221\000\000\001\248\000\000\000\000\000\000\000\000\000\214\000\212\000\227\000\000\001\137\000\000\000\000\003*\000\000\003)\000\000\000\000\000\000\000\000\000\000\000\204\000\000\000\000\000\000\000\000\000\205\000\203\000\000\000\000\003,\0030\000\195\000\000\000\000\001\"\000\000\000\000\002W\002Z\000\000\002X\002[\003\143\003\144\003\142\000\000\002|\003\141\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\000k\002d\000\000\000\000\002g\000\000\000\000\002j\000\000\000\000\002e\002h\000\000\002f\002i\002\152\002\140\003\157\003\158\003\156\003\155\000l\000\000\000\000\000[\000\000\000Z\001'\000\000\002\001\000\000\000\000\000\000\000\000\000\000\001\024\002\007\000\000\000\000\001\169\000Y\0003\001\017\000c\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0004\000\000\0005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002}\000\000\000\210\000\000\000\000\001\242\000\000\001\159\001\223\000\000\000\000\001\241\000\000\001\157\001\222\000\000\000\000\000h\000\000\002\151\000\000\000\000\003\160\003\159\000\000\002\002\000\000\000\000\003\146\003\145\000\000\000U\000\211\000\000\001\131\000\000\003+\000\000\000\000\000\000\000\000\000\175\000\173\000\000\001\028\000\000\000\000\000\176\000\165\000\000\000\000\001k\000\000\001j\000\000\001y\000\000\001\147\000\000\000\000\000\000\003b\000\000\000\000\003U\000\000\000\000\003Z\003Y\000\000\003V\000\000\003T\000\000\000\000\000\000\003X\000\000\003W\000\000\000\000\003N\000\000\000\000\003S\003R\000\000\003O\000\000\003M\000\000\000\000\000\000\003Q\000\000\003P\000\000\003\\\000\000\000\000\003a\003`\000\000\003]\000\000\003d\000\000\000\000\003e\000\000\003c\000\000\003[\000\000\003j\000\000\000\000\000\000\003_\000\000\000\000\003\137\000\000\000\000\000\000\000\000\003i\003^\000\000\003\139\000\000\000\000\003\n\003\138\000\136\000\000\001\000\000\000\000\000\000\000\000\000\003g\000\000\000\000\000\000\000\000\003h\003f\000\000\000\000\003\128\000\000\000\000\003s\000\000\000\000\003x\003w\000\000\003t\000\000\003r\000\000\000\000\000\000\003v\000\000\003u\000\000\000\000\003l\000\000\000\000\003q\003p\000\000\003m\000\000\003k\000\000\000\000\000\000\003o\000\000\003n\000\000\003z\000\000\000\000\003\127\003~\000\000\003{\000\000\003\130\000\000\000\000\003\131\000\000\003\129\000\000\003y\000\000\003\136\000\000\000\000\000\000\003}\000\000\000\000\000\000\000\000\003\135\003|\000\000\000\000\000\000\000\000\003\133\000\000\000\000\000\000\000\000\003\134\003\132\003#\003%\003&\003$\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\217\000\237\000\216\000\000\000\000\000}\000\000\000\000\000\000\002\130\000\000\000\000\000\000\002\138\000\000\000\000\002\137\000\000\003\153\002\136\002\135\002\134\002\133\002\132\001g\002\128\000\000\000\000\002\129\000\000\002\131\000\000\000\000\000\000\000\000\000\000\000i\002]\000\000\000\000\002`\000\000\000\000\002c\000\000\000\000\002^\002a\000\000\002_\002b\002\139\002\127\000j\003\150\003\151\003\149\003\148\003\152\000\000\000\000\000\000\000\000\001\016\001\015\000\000\000\000\000\000\000\000\000\000\000\000\001\\\000\000\001\026\001Y\000\000\001\014\000\000\000\000\000\000\001`\000\000\000\000\001a\000\000\001\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\000\000\000\000\000\000\000\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\001d\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000z\000u\000w\000v\001f\001_\001b\000\000\001^\001[\000\000\001Z\000\000\000\249\000\000\002\244\000\000\000\000\000\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\252\000\000\000\000\000\255\000\000\000\000\000\000\000\000\000\000\000\000\001I\000\000\000\000\000\000\000\242\000\000\000\239\000\000\000\000\000\000\000\000\000\000\000\250\000\000\000\246\000\000\000\000\000\000\000\000\000\247\000\000\000\243\000\000\000\000\000\000\002\156\000\000\000\000\000\000\000\000\002\163\000\000\000\000\002\162\002\161\002\160\002\159\002\158\002\154\000\000\000\000\002\155\000\000\002\157\000\000\000\000\000m\002k\000\000\000\000\002n\000\000\000\000\002q\000\000\000\000\002l\002o\000\000\002m\002p\002\165\002\153\003\164\003\165\003\163\003\162\000n\000\000\000\000\000^\000\000\000]\000\000\002\164\000\000\001\224\000\\\000B\001&\000d\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\167\003\166\000\000\003\026\000\000\003\025\000\000\000\000\000\000\000\000\003\179\000\000\000\000\000\000\003\180\000\000\000\018\000\000\000\000\000\000\003\175\000\000\001\171\000\000\000\000\000\000\000\228\003\016\001\127\001~\001U\001T\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\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\001\021\001\022\001\006\000\000\001\143\000\000\000\000\001\005\001\001\000\000\001\b\001\002\001\007\000\000\003\028\000\000\003\027\003\r\000\000\000\000\000\000\000\000\000\000\003\022\000\000\000\000\000\000\000\000\003\023\003\015\000\000\003\029\000\000\003\017\000\000\000\232\001V\000\000\003 \000\000\001X\000\000\000\000\0038\000\000\003?\000\234\000\000\000\240\000\000\0039\000\233\000\000\003:\000\000\003A\000\000\000\000\000\000\000\000\000\253\000\000\000\236\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\251\000\000\000\000\000\254\000\000\000\000\000\000\000\000\001H\000\000\000\000\000\000\000\241\000\000\000\238\000\000\000\000\000\000\000\000\000\000\000\248\000\000\000\244\000\230\000\229\000\000\003B\003C\000\000\003D\000\000\003E\000\000\001W\003\020\000\000\000\000\001\246\000\000\001\167\001\228\000\000\003\014\000\000\000\000\000\000\003\019\000\000\000\000\000\000\001<\000\000\0016\000\000\0017\000\000\001A\0015\001@\000\000\003\031\001B\000\000\000\235\000\000\000\000\000\000\000\000\001>\0019\001\243\000\000\001:\000\000\001;\000\000\001\161\001\225\000\000\000\000\000\000\001\253\000\000\001\251\000\000\000\000\001\255\001\249\000\000\002\000\001\250\000\000\003!\002\003\000\000\000\231\000\000\000\000\001\244\000\000\001\163\001\226\000\000\003\176\000\000\003\173\000\000\003\174\000\019\000\020\000\000\000\000\002\216\000\000\002\215\000\000\002\025\000\000\002\218\000\000\002\217\000\000\000\000\000\000\002!\000\000\000\000\002%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002(\000\000\000\000\002+\000\000\002\027\000\000\000\000\002\030\000\000\000\000\000\000\002\"\000\000\000\000\002&\000\000\000\000\001\245\000\000\000\000\002\031\000\000\000\000\002#\002\213\002\028\000\000\002\214\000\000\000\000\000\000\000\000\002)\000\000\002\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002'\000\000\000\000\002*\000\000\002\026\000\000\000\000\002\029\000\000\000\000\000\000\002 \000\000\000\000\002$\000\000\001\165\001\227\000\000\002\219\000\000\000\000\000\000\003\177\000\017\000{\000\000\003\178\000\000\000\000\002\240\000\000\000\000\003\"\000e\000\000\000\000\000\000\000f\000\000\003\024\000\000\001\133\000\000\001\139\003\021\000\000\000\000\001q\000\000\001p\000\000\001z\000\000\001\153\000\000\000\000\000\000\001o\000\000\001n\000\000\001w\000\000\001\151\000\000\000\000\000\000\001v\000\000\000\000\000\000\001s\000\000\001r\000\000\001x\000\000\001\155\000\000\000\000\000\000\001t\000\000\000\000\000\000\001m\000\000\001l\000\000\001{\000\000\001\149\000\000\000\000\000\000\001u\000\002\000\000\000R\000S\000\000\000\000\002\181\002\185\002\189\002\177\002\174\000\000\000\000\002\186\002\193\002\178\002\192\002\176\002\191\002\180\002\172\002\179\002\188\002\175\002\182\002\173\002\184\002\190\002\187\002\183\001\189\001\188\000\134\000\000\000\000\003\006\000\000\000\000\002\234\000\000\000\000\002\236\002\235\002\203\000\000\000\000\003\012\002\195\002\194\002\196\000\000\001\203\000Q\001|\000\003\000\000\000\000\002\168\000\000\002/\000\000\000\135\000\000\000\000\003\b\000\000\000\000\000\000\000\127\000\000\000\000\002\248\000\000\002\019\002\018\001\183\002\204\000\000\001\219\000\000\002\169\000\000\000\000\000\129\000\000\000\000\002\252\000\000\001\200\000\000\000\000\001\194\000\000\000\000\000\000\001\199\000\000\001\196\000\000\000\000\000\000\001\173\001\172\000\000\000\000\000\000\001\220\000\000\001\192\000\000\001\191\000\000\000|\000\000\000\000\002\242\000\000\000\000\001\187\000\000\000\000\000\132\000\000\000\000\003\002\000\000\000\000\002\211\000\000\002\210\000\000\000\000\000\000\002\017\002\016\002\208\0027\002\199\002\209\000\000\001\206\000\000\000\000\000\000\001\202\000\000\001\208\000\000\000\000\001\195\000\000\000\000\000\000\002\201\000\133\000\000\000\000\003\004\000\000\002\200\000\000\001\204\000\000\000\000\001\205\000\000\000\000\001\198\000\000\000\000\000\000\000\000\000\000\000\000\001\221\000\000\001\193\000\000\002\t\000\130\000\000\000\000\002\254\000\000\000\000\000\000\000\000\0034\0033\000\000\000\000\001M\000~\001L\000\000\000\000\002\246\000\000\002\011\002\n\002\r\002\197\0023\002\012\000\000\000\131\000\000\000\000\003\000\000\000\000\000\000\000\000\000\002\015\002\014\002\207\002\205\0025\002\198\002\206\000\000\001\213\000\000\001\217\000\000\000\000\001\209\000\000\000\000\000\000\001\201\000\000\001\207\000\000\000\000\001\197\000\000\000\000\000\000\000\000\001\186\000\000\000\000\001\216\000\000\001\215\000\000\000\000\000\000\000\000\001\212\000\000\000\000\001\211\000\000\001\210\000\000\000\000\000\000\000\000\001\214\000\000\001\218\000\000\000\000\001}\000\004\000\000\001\190\000\005\000\000\000\000\001*\000\006\000\000\001\232\001\233\001\231\000\000\001\230\0035\001\179\000\000\000\007\000\000\001\235\001\236\001\234\000\000\000\000\000\000\000\000\001,\000\000\000\000\000\000\000\000\0011\0013\0012\001-\001/\001.\000\000\000\000\000\000\000\000\000\000\003;\003H\000\000\003<\000\000\003=\000\000\000\000\0036\000\000\000\000\000\000\000\000\003G\000\000\000\000\003F\001\240\001\239\000\000\000\000\001\181\001\229\001\237\000\000\000\000\000\000\000\000\002\021\000\000\000\000\000p\000q\002\020\000\000\000\000\000\000\000\224\000\000\001\135\000\000\000\000\000\223\000\219\000\000\000\000\000\000\000\000\001G\000\000\003K\000\000\003L\000\000\000\000\002\006\002\004\000\000\002\005\000\b\000\000\000\t\000\000\002F\002G\002E\000\000\002D\000\000\000\n\000\000\002I\002J\002H\000\000\002L\000\000\000\000\000\000\002>\000\000\000\000\002@\000\000\002:\000\000\002<\000\000\002A\000\000\002B\000\000\002;\0029\002M\001\185\002C\000\000\002O\000\000\002N\000\000\002P\000\000\002\212\000\011\000\000\000\000\000\000\000\000\000\000\000\000\002Q\000\000\000\000\002T\000\000\002S\000\000\002R\001\t\000\000\000\000\000\000\000\000\001\n\002U\000\000\000\000\000\000\002\224\000\000\002\223\000\000\000\000\000\000\000\000\002\225\000\000\000\000\001)\000\000\000\000\000\000\000\000\000\000\002\238\000o\000\000\000\000\001\018\000\000\001$\001#\000\000\001i\000\000\002\222\001\177\001\175\000\000\000\000\000\000\000\000\002\226\000\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\221\000\000\000\000\000\000\000\000\000\000\000\000\002\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\233\000\000\000\000\002\232\000\000\002\229\000\000\000\000\000\000\000\000\000\000\002\230\000\000\000\000\000\000\002\231\000\r\000\000\002\227\000\000\002\228") let error = - (179, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\000\000\000\000\000\000\000\000\000\004\000\134\000\000\004\008`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\128\000\000\000\000\000\000\000=j\188\000\008\000 \000\002\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@J\161\160\n\002\026\160\128\144\204\008\192h\004C\188\018\000\004s!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000.\209\192\000\000\012@\000@\006\004`\016\002\000\132\000\000\000\t\144\196\004\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019(`\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000H\161\128\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023h\224\000\000\006 \000 \003\0020\008\001\000B\000\000\000\004\200b\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\1480\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000$P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\1480\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\001\"\134\000\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\000\128\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\"\000\002! #\000\128\016\004 \000\000\000L\134/Z\175\000\002\000\008\000\000\130\002\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\001\008\000 \000\002\008\008\000\000\000\000\002\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000 \000\128\000\008 \000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\128\000\000\001\000\000\000\000\000\000\003\214\171\192\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\004\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\001\000\004\000\000A\001\000\000\000\000\000@\000\008\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\016\000\002 \000\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\128\008!\016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\000\000A\000\130\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\128\008 \016@\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\t\235U\224\000D\145\000$\026\005A\157\160\000\016\144\008\002\000 \128A=j\188\000\008\146 \004\131@\1683\180\000\002\018\001\000@\004\016\008 \000\000\000\000\018@\000\144h\020\006v\128\000B@ \000\000\130\001\004\245\170\240\000\"H\128\018\013\002\160\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\004\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\004L\019e\146\192\000\005\000 @\000\013\208\016\158\029\192\000\000\000\000\000\000\000\000\000\000\000\128\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$@\t\006\129Pg\232\000\004$\002\000\128\008$\016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\008\136 \192%\128\000\n\000@\000\000\027 \0014;\128\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000\" \155\008\150\000\000(\001\000\000\000l\128\004\240\238\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\" \155\008\150\000\000(\001\000\000\000L\128\004\240n\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000H\000\000\136\130l\"X\000\000\160\004\000\000\0012\000\019\193\184\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\002\"\t\176\137`\000\002\128\016\000\000\004\200\000O\006\224\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\004\128\000\008\136&\194%\128\000\n\000@\000\000\019 \001<\027\128\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\002\"\t\176\137`\000\002\128\016\000\000\004\200\000O\006\224\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\004\128\000\008\136&\194%\128\000\n\000@\000\000\019 \001<\027\128\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000\" \155\008\150\000\000(\001\000\000\000L\128\004\240n\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000H\000\000\136\130l\"X\000\000\160\004\000\000\0012\000\019\193\184\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\001 \000\002\"\t\176\137`\000\002\128\016\000\000\004\200\000O\006\224\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\024\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\004\128\000\008\136&\194%\128\000\n\000@\000\000\019 \001<\027\128\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\018\000\000\" \155\008\150\000\000(\001\000\000\000L\128\004\240n\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000H\000\000\136\130l\"X\000\000\160\004\000\000\0012\000\019\193\184\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\235U\160\000@\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\168\016\000\000\000\128\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 $P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\004\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\002\000\000\000\016\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\004\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\145C\000\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000&P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\004\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\000D\000\004\002@F\001\000 \008@\000\000\000\153\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\001\016\000\016\t\001\024\004\000\128!\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\004\138\024\000\000\000\136\000\008\004\128\140\002\000@\016\128\000\000\0012\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018(`\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\"\000\002\001 #\000\128\016\004 \000\000\000L\134 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\018(`\000\000\002 \000 \018\0020\008\001\000B\000\000\000\004\200b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000H\161\128\000\000\008\128\000\136H\008\192 \004\001\008\000\000\000\019!\139\214\171\192\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000$P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\008\000 \000\002\008\008\000\000\000\000\002\000\000\000\000\000@\007\173W\128\001\000\004\000\000A\001\000\000\000\000\000@\000\008\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\128\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\003\214\171\192\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000 \000\000\000@\000\000\000\004@\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\001\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000@\000\004\000\017\128\000\000\000\000\000\000\128\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\128\001\235U\224\000@\001\000\000\016\000F\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\002\000\008\000\000\128\0020\000\000\000\000\000\000\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\170\208\000 \000\128\000\000\000 \000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\128\000\000\001\000\000\000\000\000\000\003\214\171\192\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000$P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\000\017\000\001\016\144\017\128@\008\002\016\000\000\000&C\023\173W\128\001\000\004\000\000A\001\000\000\000\000\000@\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000H\161\128\000\000\008\128\000\128H\008\192 \004\001\008\000\000\000\019!\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\003\214\171\192\000\137\"\000H4\n\131?@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\000\008 \016@\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\000\000\016@ \128\000\000\000\000I\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000@\129\022I(\000\000@\000\004\000\000\213\001\000A\024\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\001\018D\000\144h\021\006~\128\000B@ \008\000\130A\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\004\000\017`\018\128\000\004\000\000\000\000\013\016\000\004\017\128\000\000\000\000I\000\002A\160P\025\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\128\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\000\128I\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\128\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\001\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\144\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000\018@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\004\000\017`\018\128\000\004\000\000\000\000\t\016\000\004\001\128\000\000\000\000I\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\000\008 \016@\000\000$\000\000@\001\022\001(\000\000@\000\000\000\000\145\000\000@\024\000\000\000\000\004\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\000\008 \016@\000\000$\000\000@\001\022\001(\000\000@\000\000\000\000\145\000\000@\024\000\000\000\000\004\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\144\000\001\000\004X\004\160\000\001\000\000\000\000\002D\000\001\000`\000\000\000\000\018@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\004\000\017`\018\128\000\004\000\000\000\000\t\016\000\004\001\128\000\000\000\000I\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\192\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\004\144\000$\026\005\001\157\160\000\016\144\008\000\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000\144h\020\006v\128\000B@ \000\000\130\001\004\000\000\002@\000\004\000\017`\018\128\000\004\000\000\000\000\t\016\000\004\001\128\000\000\000\000I\000\002A\160P\025\218\000\001\t\000\128\000\002\008\004\016\000\000\t\000\000\016\000E\128J\000\000\016\000\000\000\000$@\000\016\006\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\000\008 \016@\000\000$\000\000@\001\022\001(\000\000@\000\000\000\000\145\000\000@\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\128\000\245\170\240\000 \000\128\000\008\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\000\137\"\000H4\n\131;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000\"H\128\018\013\002\160\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\004\000\000\000\000\000\000\000\000 \000\004@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\"\000\002! #\000\128\016\004 \000\000\000L\134/Z\175\000\002\000\008\000\000\130\002\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\145C\000\000\000\017\000\001\000\144\017\128@\008\002\016\000\000\000&C\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000$P\192\000\000\004@\000@$\004`\016\002\000\132\000\000\000\t\144\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\002\245\170\240\000 \000\128\000\008\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\000\128\002\000\000 \000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 #H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\158\181^\000\004\000\016\000\001\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\129\000\000\000\008\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\016\001\000P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128(\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\002\000 \n\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128(\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001P \000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\001\000P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\002\000 \n\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000@\004\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\001\000P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\002\000 \n\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\002\000 \n\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128(\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128(\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235U\224\000@\001\000\000\016\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000P\016\145\004\000\198 \000\002@\002\029\160\144\000#\000\000\030\181^\000\004\000\016\000\001\004\004\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\008\000\128(\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000 \000\000\000@\000\000\000\000\000\000\245\170\240\000 \000\128\000\008 \000\000\000\000\008\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000@\004\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\t\016@\012b\000\000$\000!\218\t\000\0020\000\001\235U\224\000@\001\000\000\016@@\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\128\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\214\171@\000\128\002\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128(\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001P \000\000\001\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\001\000P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\002\000 \n\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000@\004\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000*\004\000\000\000 \000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \n\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000@\004\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\008\000\128(\008H\130\000C\016\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000 \n\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000@\004\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160!\"\008\001\012@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\001\000\000\000\000\000\000\000\000@\004\001@BD\016\002\024\128\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004$A\000!\136\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000P\016\145\004\000\134 \000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000@\020\004$A\0001\136\000\000\144\000\135h$\000\008\192\000\007\173W\128\001\000\004\000\000A\001\000\000\000\000\000@\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\002\000 \n\002\018 \128\016\196\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000@\000\000\000\128\000\000\000\000\000\001\235U\224\000@\001\000\000\016@@\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\128\008\002\128\132\136 \0041\000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \n\002\018 \128\024\196\000\000H\000C\180\018\000\004`\000\003\214\171\192\000\128\002\000\000 \128\128\000\000\000\000 \000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\001\000\016\005\001\t\016@\008b\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\008\000\210\008\004\003\016\162;\180 \006z\131\000\008\197\016( \000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000\016\000@\000\004\000\016\000\016\000\000\004\000\000\000`\016\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\008\000 \000\002\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\128\000\016\000\000\000\000\000\000\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\001$\000\008\006q@gh\000\012$\002\002\160\008 \144@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\181^\000\004I\016\002A\160T\025\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\016\012\002\128\206\208\000\024H\004\000\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000@0\n\003;@\000a \016\000\000A\000\130\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016OZ\175\000\002$\136\001 \208*\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\146\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\129\002\012\146P\000\000\128\000\008\000\001\n\002\016\0000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\002$\136\001 \208*\012\253\000\000\132\128@\016\001\004\130\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000\144h\020\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\016\000\000\000\000\000\002H\000\018\013\002\128\206\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001\000\206(\012\237\000\001\132\128@T\001\004\018\008\000\000\000\000\004\144\000 \025\197\001\157\160\0000\144\008\n\128 \128A\000\000\000\144\000\001\019\004\217d\176\000\001@\008\016\000\003t\004%\007p\000\000\000 \018@\000\128g\020\006v\128\000\194@ *\000\130\t\004\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\002A\168P\027\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\004\012\016d\146\192\000\004\000\000@\000\012\208\016\144\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\t \000@3\n\003;@\000a \016\017\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\004\144\000 \025\133\001\157\160\0000\144\008\008\128 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000 \000\000@\001\006\001(\000\000@\000\000\000\000\129\000\008\000\024\000\000\000\000\004\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\128\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000\018@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002\000\000\004\000\016`\018\128\000\004\000\000\000\000\008\016\000\128\001\128\000\000\000\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\128\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000\018@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002\000\000\004\000\016`\018\128\000\004\000\000\000\000\008\016\000\128\001\128\000\000\000\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\008\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000 \000\000@\001\006\001(\000\000@\000\000\000\000\129\000\008\000\024\000\000\000\000\004\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\128\000\001\000\004\024\004\160\000\001\000\000\000\000\002\004\000 \000`\000\000\000\000\018@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002\000\000\004\000\016`\018\128\000\004\000\000\000\000\008\016\000\128\001\128\000\000\000\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\008\000\000\016\000A\128J\000\000\016\000\000\000\000 @\002\000\006\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000 \000\000@\001\006\001(\000\000@\000\000\000\000\129\000\008\000\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\018@\000\128g\020\006v\128\000\194@ *\000\130\t\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\002\001\156P\025\218\000\003\t\000\128\168\002\008$\016\000\000\000\000\t \000@3\138\003;@\000a \016\021\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000$\128\001\000\206(\012\237\000\001\132\128@T\001\004\018\008\000\000\000\000\004\144\000 \025\197\001\157\160\0000\144\008\008\128 \130A\000\000\000\000\000\146\000\004\0038\1603\180\000\006\018\001\001P\004\016H \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000I\000\002\001\156P\025\218\000\003\t\000\128\168\002\008$\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\140\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\144\000\000\000\000\000\000\000\000\128\000\016\000\000\000\000\000\000\000\000\016\000\018\000\000\000\000\000\000\000\000\016\000\002\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\000\002\000\008\000\000\128\0020\000\000\000\000\000\000\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\000I\000\002A\168P\027\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029j\180\000\008\000 \000\000\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\128\000\000\000\000\000\000I\000\002A\168P\027\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000 \000\004\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000B\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\007\255_\193\001\026E\000\144j\021\199w\132\000\207P`\t\030\163\013\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\000\000\t \000@0\n\003;@\000a \016\000\000A\000\130z\213x\000\017$@\t\006\129Pgh\000\004$\002\000\128\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\018@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\003\000\1603\180\000\006\018\001\000\000\004\016\008 \000\000\000\000\018@\000\144h\020\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000\000\000$\128\001\000\192(\012\237\000\001\132\128@\000\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\000\000\"`\155,\150\000\000(\001\002\000\000j\128\128\160\238\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\000\137\"\000H4\n\131?@\000! \016\004\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\002\"\t\176\137`\000\002\128\016\000\000\006\136\000\n\014\224\000\000\000\000$\128\001 \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002@\000\004D\019a\018\192\000\005\000 \000\000\t\016\000\020\013\192\000\000\000\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\t\000\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\220\000\000\000\000\004\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\144\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000\018@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\220\000\000\000\000\004\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\144\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003p\000\000\000\000\018@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\002@\000\004D\019a\018\192\000\005\000 \000\000\t\016\000\020\013\192\000\000\000\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\t\000\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\220\000\000\000\000\004\144\000$\026\005\001\157\160\000\016\144\008\003\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\018@\000\128`\020\006v\128\000\194@ \000\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\002\001\128P\025\218\000\003\t\000\128\000\002\008\004\016\000\000\t\000\000\017\016M\132K\000\000\020\000\128\000\000$@\000P7\000\000\000\000\001$\000\008\006\001@gh\000\012$\002\000\000\008 \016@\000\000$\000\000DA6\017,\000\000P\002\000\000\000\145\000\001@\220\000\000\000\000\004\144\000 \024\005\001\157\160\0000\144\008\000\000 \128A\000\000\000\144\000\001\017\004\216D\176\000\001@\008\000\000\002D\000\005\003w\173W\128\001\018D\000\144h\021\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\002\t\006\129@gh\000\004$\002\000\128\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\225\026E\000\128c\021\199w\132\000\207P`\001\026\162\005\004\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\002A\160P\025\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\016\000\000\000\000\000\000\016D\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\128\141\"\128@1\n\227\187\194\000g\1680\000\141Q\002\130\127\245\252\016\017\164P\t\006\161|wx@\012\245\006\000\145\170(PO\254\191\131\1944\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\251\255\015\008\210(\004\003\024\190;\188`\006z\147\000\008\245\028k0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 #H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\159\253\127\004\004i\020\002A\168_\029\222\016\003=A\128$j\138\020\019\255\175\224\128\141\"\128H5\n\227\187\194\000g\1680\004\141Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\002\0004\130\001\000\196(\142\237\008\001\158\160\192\0021D\n\008\000\000\000@\006\144@ \024\133\017\221\161\0003\212\024\000F(\129A\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \016H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128A \208(\012\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131@\1603\180\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000 \003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\004\000i\004\002\001\136Q\029\218\016\003=A\128\004b\136\020\016\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000 \000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\004\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\002A\160P\025\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\008\146 \004\131@\1683\244\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000 \003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\001\026E\000\144j\021\199w\140\000\207P`\t\026\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\240\141\"\128@1\139\227\187\198\000g\1690\000\143Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\008\008\210(\004\003\024\174;\188`\006z\131\000\008\213\016( \000\000\000\000\000\000\000\016\008\000\000\000\008\000\000\000\000\008\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\004i\020\002\001\140W\029\2220\003=A\128\004j\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\000\000D\1936Y,\000@P\002\004\128\000\221\001\001A\220\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000@\000\000\000\000@\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\004i\020\002A\168W\029\2220\003=A\128$j\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164P\008\0061\\wx\192\012\245\006\000\017\170 V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\008\146 \004\131@\1683\244\000\002\018\001\000@\004\018\008 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\016\000\001\024\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000 \000\128\000\008\000#\000\000\000\000\000\000\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$\128\001 \212(\013\237\000\000\132\128@\016\001\004\002\008\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000 \000\128\000\008\000#\000\000\000\000\000\000\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000@\000\008\000\000\000\000\000\000\004\144\000$\026\133\001\189\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\214\171@\000\128\002\000\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000@\000\008\000\000\000\000\000\000\004\144\000$\026\133\001\189\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\130\0024\138\001 \212+\142\239\024\001\158\160\192\0185D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \016\008\000\000\000\008\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\004i\020\002A\168W\029\2220\003=A\128$j\136\020\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\002\000\000#\000\128\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\001\000\026A\000\128b\020Gv\132\000\207P`\001\024\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\007\255\127\225\001\026G\000\152j\023\199w\140\001\207R`\025\030\163\173f\000\000\000 \003H \016\012B\136\238\208\128\025\234\012\000#\020@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\128\141\"\128@1\139\227\187\194\000g\1680\000\143Q\198\130\000\000\000\000\000\000\000\001\000\128\000\000\000\000\000\000\000\000\128\000\000\000\015\254\191\130\0024\138\001\000\198/\142\239\008\001\158\160\192\002=G\026\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 #H\160\018\013B\248\238\240\128\025\234\012\001#\212q\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\175\224\128\141\"\128H5\011\227\187\194\000g\1680\004\143Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\008\000\015\254\191\130\0024\138\001\000\198/\142\239\008\001\158\160\192\0025E\n\008\000\000\000\000\000\000\000\004\002\000\128\000\000\000\000\000\000\002\000\000 \000?\250\254\008\008\210(\004\003\024\190;\188 \006z\131\000\008\213\020( \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\008\004\001\000\000\000\000\000\000\000\004\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\191\130\0024\138\001 \212/\142\239\008\001\158\160\192\0185E\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\128\008\008\192\000\000\001\000\000\000\000\002\000\000\000\000\000\000\000\001\000\012\004\000\000\000\000\000\128\000\000\004\000\000\016\001\127\245\252\016\017\164P\008\0061\\wx@\012\245\006\000\017\170 P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\136\006\002\000\000\000\000\000@\000\000\002\000\000\008\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\001\026G\000\152j\021\199w\132\001\207P`\t\026\162%\006\255\235\248 #H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164p\t\134\161\\wx@\028\245\006\000\145\170\"P`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\008\000\015\254\191\130\0024\138\001 \212/\142\239\008\001\158\160\192\0185E\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\001\000\128\000\000\000\128\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@F\145@$\026\133q\221\227\0003\212\024\002F\168\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\253\127\000\004I\020\002\001\128T\025\222\000\003\t\000\128\000\n\136\020\016\000\000\000\000\t \016H4\n\003;@\000! \016\004\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=\250\254\000\008\146(\004\003\000\1683\188\000\006\018\001\000\000\021\016( \000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000@\000\004\000\016\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000\144j\020\006\246\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\024\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\007\173W\128\001\000\004\000\000@\001\024\000\000\000\000\000\000\008\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\t\006\161@oh\000\004$\002\000\128\008 \016@\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000\016\000@\000\000\000\016\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000\144j\020\006\246\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000@\000{\245\252\000\017$P\008\006\001Pgx\000\012$\002\000\000* P@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\128\000\008\024 \201%\128\008\008\000\000\144\000\024\160 #\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002H\000\018\013B\128\222\208\000\008H\004\001\000\016@ \128\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000\"H\128\018\013\002\160\207\208\000\008H\004\001\000\016H \128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000@\000\004`\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\003\214\171\192\000\128\002\000\000 \000\140\000\000\000\000\000\000\004\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\000\004\131P\1607\180\000\002\018\001\000@\004\016\008 \000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\t\006\161@oh\000\004$\002\000\128\008 \016@\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029j\180\000\008\000 \000\000\000\008\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t \000H5\n\003{@\000! \016\004\000A\000\130\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\001\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\002\000\002\000 #\000\000\000\004\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\002\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\008 \000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240@F\145@ \024\197q\221\225\0003\212\024\000F\168\129A\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\002A\160P\025\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\127\245\252\016\017\164P\t\006\161\\wx@\012\245\006\000\145\2340\208@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\001\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\000\004\000\016\000\001\000\004\000\004\000\000\001\000\000\000\024\004 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\005\255\215\240@F\145@ \024\197q\221\225\0003\212\024\000F\168\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255_\193\001\026E\000\128c\021\199w\132\000\207P`\001\026\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000\018@\000\144h\020\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\002A\160P\025\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000\144h\020\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000@\000\000\000\000\000\000\000 \000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\164\016\008\006!Dwh@\012\245\006\000\017\138 P@\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004\000\000\000@\006\144@ \024\133\017\221\161\0003\212\024\000F(\129A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\026A\000\128b\020Gv\132\000\207P`\001\024\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\016\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\144\000$\026\005\001\157\160\000\016\144\008\002\000 \128A\000\000\000\000\000\000\016\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\000\004\000\016\000\001\000\004\000\004\000\000\001\000\000\000\008\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\127\245\252\000\016\000@\000\004\000\016\000\016\000\000\004\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\215\240\000@\001\000\000\016\000@\000@\000\000\016\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\t\006\129@gh\000\004$\002\000\128\008 \016@\000\000\000\000\000\004\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\128p\016\145$\008@ \000\002@\002\020\160\144\000#\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\001\000\016\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\008\000\128(\008\008\130\000\002\000\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\128\000\000\002\000 \n\002\018 \128\000\128\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\002\000\000@\000\000\000\000\000\000\004\008\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\004@\000\000\000\000\000\000\004\008\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\028\004$A\002\016\008\000\000\144\000\133 $\000\008\192\000\007\173W\128\003\128\132\000 B\001\000\000\018\000\016\164\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \n\002\0180\128\000\128\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128(\008H\130\000\002\000\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\001\000\000\000\004\000@\020\004$A\000\001\000\000\000\144\000\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\008\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\016\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\016\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\028\004$\001\002\016\008\000\000\144\000\133 $\000\008@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000p\016\128\004\008@ \000\002@\002\020\128\144\000!\000\000\000\002\000 \n\002\018 \128\000\128\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000@\128\000\001\000\016\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\128(\008H\130\000\002\000\000\001 \001\014\208H\000\017\128\000\000\001\000\016\005\001\t\016@\000@\000\000\164\000!\218\t\000\0028\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \n\002\018 \128\000\128\000\000H\000C\180\018\000\004`\000\000\000@\004\001@BD\016\002\016\000\000)\000\008v\130@\000\142\000\000\000\008\000\128(\008H\130\000\002\000\000\001 \005\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\128\008\002\128\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000=j\188\000\008\000 \000\002\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\030\181^\000\004\000\016\000\001\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\001\000\016\005\001\t\016@\008`\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\000\000\000\000\000\000\128\008\002\128\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\016\000\000\000@\004\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\192\000\000\000\001\000\000\000\128\000\000\000\000\000\000\008\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \n\002\018 \128\008\128\000\000H\000C\180\018\000\004`\000\000\000@\004\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000 \002\000\184!\"\008\000(\000\000\020\128\004;A \000G\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\004\160!\"\008\000\008\000\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\002\000\000\000\008\000\129(\008H\130\000\002\000\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\000\000\000 \000\000\016\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \n\002\018 \128\000\128\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\t\016@\000`\000\000$\000!\218\t\000\0020\000\000\000 \002\000\161!\"\008\001(\000\000\020\128\004;A \000G\000\000\000\004\000@\020\004$A\000\001\000\000\000\144\002\135h$\000\008\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\016\001\000P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \002\000\160!\"\008\000\012\000\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\128\000\000\002\000 \n\002\018 \128\000\128\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\008\000\000\004\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\008\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\001\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 @\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\000P\016\145\004\000\004\000\000\002@\002\029\160\144\000#\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\002\000\000\000\008\000\128(\008H\130\000\002\000\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\000\000\000\000 \000\000\016\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\008\002\128\132\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\016\001\000\\\016\145\004\000\020\000\000\n@\002\029\160\144\000#\128\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\235u\226\000\224!\"\008\016\136@\000\004\128\004;A \000F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\128\008\002\128\128\136 \000 \000\000\018\000\016\237\004\128\001\024\000\000\000\016\001\000\\\144\145\004\000\022\000\000\n@\002\029\160\144\000#\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\004\001@BD\016\000\016\000\000\t\000\008v\130@\000\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\245\186\241\000p\016\145\004\008F \000\002@\002\029\160\144\000#\000\000\000\002\000 \n\002\018 \128\000\128\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\016\005\001\t\016@\000@\000\000$\000!\218\t\000\0020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000 \n\002\018 \128\016\128\000\000H\000C\180\018\000\004`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\008\000\128(\008H\130\000\002\000\000\001 \001\014\208H\000\017\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015Z\175\008\007\001\t\018@\132\002\000\000$\000!J\t\000\0020\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000\144h\028\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000\144h\020\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164P\t\007\161\220wx@\012\245&\000\145\170 V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\132\004i\020\002A\232W\029\222\016\003=I\128$j\136\021\155\223\191\240\000\128\002\000\000 \000\128\000\000\000\000\001\000\000\000\000\000\000{\247\254\000\016\000@\000\004\000\016\000\000\000\000\000 \000\000\000\000\000\015~\255\192\002\000\008\000\000\128\002\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\145C\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\018(`\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\002E\012\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000H\161\128\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248<#H\160\016\012b\184\238\240\128\025\234\012\000#T@\160\159\253\127\004\004i\020\002\001\140W\029\222\016\003=A\128\004j\136\020\016\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164P\008\0061\\wx@\012\245\006\000\017\170 V`\000\000\000\000\000\000\000 \016\000\000\000\000\000\000\000\000\016\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \016\008\000\000\000\000\000\000\000\000\008\000\000\000b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\127\004\004i\020\002A\168W\029\222\016\003=A\128$j\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\008\006q@gh\000\012$\002\002\160\008 \016@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\250\254\015\008\210(\004\003\024\174;\188 \006z\131\000\008\213\016('\255_\193\001\026E\000\128c\021\199w\132\000\207P`\001\026\162\005\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\031\253\127\004\004i\020\002\001\140W\029\222\016\003=A\128\004j\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030\017\164P\008\0061\\wx@\012\245\006\000\017\170 PO\254\191\130\0024\138\001\000\198+\142\239\008\001\158\160\192\0025D\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\247\239\252\000 \000\128\000\008\000 \000\000\000\000\008@\000\000\000\000\000\000H\161\128\000\000\000\000\000\128\000\008\192\000\000\001\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\245\170\240\000 \000\128\000\008\000#\000\000\000\000\000\000\001\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\016\000@\000\004\000\017\128\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000 \000\000\000@\000\000\000\004@\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\016\000=j\188\000\008\000 \000\002\000\008\192\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164P\t\006\161\\wx@\012\245\006\000\145\170 \208@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000@\000\000\003\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\255\235\248 #H\160\018\013B\184\238\240\128\025\234\012\001#T@\172\192\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\0200\000\000\000\016\000\016\000\001\024\000\000\000!\000\000\000\000\0001\000\000\000\000\000\001\001\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000I\000\002A\160p\025\218\000\001\t\000\128 \002\008\004\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018@\000\144h\020\006v\128\000B@ \008\000\130\001\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\132\004i\020\002A\232w\029\222\016\003=I\128$j\136\021\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\255\127\225\001\026E\000\144z\021\199w\132\000\207R`\t\026\162\005f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\031\253\255\132\004i\020\002\001\140W\029\222\016\003=I\128\004j\136\021\152\000\000\000\000\000\000\000\008\004\000\000\000\000\000\000\000\000\004\000\000\0001\127\247\254\016\017\164P\008\0061\\wx@\012\245&\000\017\170 V`\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\255\223\248@F\145@$\026\133q\221\225\0003\212\152\002F\168\129Y\191\251\255\008\008\210(\004\003\024\174;\188 \006z\147\000\008\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\000\000\000\000\000\000\000\000\001\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\128\141\"\128H5\n\227\187\194\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\254\255\194\0024\138\001 \212+\142\239\008\001\158\164\192\0185D\n\204\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\251\255\008\008\210(\004\131P\174;\188 \006z\147\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002E\012\000\000\000\004\000\004\000\000F\000\000\000\008@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?\251\255\008\008\210(\004\131P\174;\188 \006z\147\000H\213\016+0\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\002\001\000\000\000\000\000\000\000\000\001\000\000\000\012@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\255\191\240\128\141\"\128H5\n\227\187\194\000g\1690\004\141Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\192\000\000\000@\000@\000\004`\000\000\000\132\000\000\000\000\000\196\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\008\000\000\000\000\000\000\000\000 H\158\000`\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\016\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000@\128\000\000\000\000\000\000\002\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\008\000\000\000\008\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\002\000@\000\000\000\000\000\004\000\000 @\000\000\000\000\000\000\001\000\000\000\001\000\000\000\000\001\000\000\000\000@\000\000\000\000\000\000\000\016\192\008\000\008\005\000\000\000\000\000\000\016\000\000\129\000\000\000\000\000\000\000\004\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\004\000\000\000\000\000\000\000\001\012\000\128\000\000P\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\001\028\000\192\000\000@\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\134\000`\000\000 \000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\016\192\008\000\000\004\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000 \002\000\016\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0040\002\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\024\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\017\192\012\000\000\004\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\002\024\001\128\000\000\128\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008`\004\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\012\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\016\192\012\000\000\004\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\002\024\001\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000C\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008`\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") + (184, "\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\001\006\000\000\002\0040\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\128\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\252\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001*\134\128(\b5A\001!\152\017\1284\002!\222\004\128\001\014d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001v\142\000\000\0001\000\001\000\024\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001v\142\000\000\0001\000\001\000\024\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\002\016\000 \000\002\b\b\000@\000\000\000\128\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000 \000\000\000\000\000\000\000\000 \000\002 \000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\b\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\019\004\217d\176\000\000P\002\004\000\000n\128Bxw\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\185\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\017\004\024\004\176\000\000P\002\000\000\000l\128\002hw\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000l\128\002xw\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\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\004\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000L\128\002x7\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0012\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\000\000\000\004\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\000\000\000\128\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\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\002 \000z\213x\000\017$ \004\131@\1683\185\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\002\004Y$\160\000\000@\000\004\000\000j\128@\016F\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\185\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000h\128\000\016F\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\002\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\b\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\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\004\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\000\000A\000\130\000\000\001 \000\003\000\004X\004\160\000\000@\000\000\000\000H\128\000\016\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\017\000\001\016\144\017\128\016\002\000\132\000\000\000\002d1z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\001\"\134\000\000\000\017\000\001\000\144\017\128\016\002\000\132\000\000\000\002d1\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\001\000\000\000\000\128\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000T\b\000\000\000 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\024\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\001\000\000\000\000\128\000\000\000\000\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\0001\136\000\000$\000!\218\004\128\001\012\000\000z\213x\000\016\000 \000\002\b\b\000@\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\136\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\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\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000\016\000 \000\002\000\b\000\006\000\000\000\128\000\000\006\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\003\002\004\025$\160\000\000@\000\004\000\000B\128B\000\006\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\185\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\b\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\000\130\000\000\001 \000\003\019\004\217d\176\000\000P\002\004\000\000n\128BPw\000\000\000\002\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\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\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\003\004\025$\176\000\000@\000\004\000\000f\128B@F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\001$\000\004\0030\1603\153\000\001\132\128@\"\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\001$\000\004\0030\1603\153\000\001\132\128@\"\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001\000\000\003\000\004\024\004\160\000\000@\000\000\000\000@\128\002\000\006\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@\"\000A\004\130\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\004\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\001\000\000\017\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\001 \000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\001\000\001 \000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\004\000\132\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\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\030Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\019\004\217d\176\000\000P\002\004\000\000j\128@Pw\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\185\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000h\128\000Pw\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\131@\1603\153\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\004\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7\000\000\000\000\001$\000\004\003\000\1603\153\000\001\132\128@\000\000A\000\130\000\000\001 \000\003\017\004\216D\176\000\000P\002\000\000\000H\128\000P7z\213x\000\017$ \004\131@\1683\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\001\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\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\127\245\252\030\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\004\000\000\000\000\000\000\001\002 \000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\016\174;\159\b\001\158\160\192\001\026Q\002\130\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\026QB\130\127\245\252\030\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\030\017\164(\004\003\024\190;\159\024\001\158\164\192\001\030Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\026QB\130\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\026Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\001\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\001\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002 \000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\185\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\024\001\158\160\192\t\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\030\017\164(\004\003\024\190;\159\024\001\158\164\192\001\030Q\198\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\024\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\128@\000\000\000\016\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\024\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\019\004\217d\176\001\000P\002\004\128\000n\128@Pw\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\016\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\024\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\024\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\185\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\001\000\000\017\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\002\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\127\245\252\016\017\164(\004\131P\174;\159\024\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\024\001\158\160\192\t\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\001\000\000\017\128\016\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\127\247\254\016\017\1648\004\195P\190;\159\024\003\158\164\192\025\030Q\214\179\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\190;\159\b\001\158\160\192\001\030Q\198\130\000\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000\b\000\000\000\000\127\245\252\016\017\164(\004\003\024\190;\159\b\001\158\160\192\001\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\030Q\198\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000@\000\127\245\252\016\017\164(\004\003\024\190;\159\b\001\158\160\192\001\026QB\130\000\000\000\000\000\000\000\000\128@\016\000\000\000\000\000\000\000\b\000\000@\000\127\245\252\016\017\164(\004\003\024\190;\159\b\001\158\160\192\001\026QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\016\000\000\000\000\000\000\000\b\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\026QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\017\128\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\016\000\192@\000\000\000\000\002\000\000\000\b\000\000\016\001\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\000\192@\000\000\000\000\002\000\000\000\b\000\000\016\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\1648\004\195P\174;\159\b\003\158\160\192\t\026Q\018\131\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\1648\004\195P\174;\159\b\003\158\160\192\t\026Q\018\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\127\245\252\016\017\164(\004\131P\190;\159\b\001\158\160\192\t\026QB\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\016\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\024\001\158\160\192\t\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\245\252\000\017$(\004\003\000\1683\159\000\001\132\128@\000\002Q\002\130\000\000\000\000\001$\001\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\017$(\004\003\000\1683\159\000\001\132\128@\000\002Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\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\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\017\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\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\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000{\245\252\000\017$(\004\003\000\1683\159\000\001\132\128@\000\002Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001 \000\003\003\004\025$\176\001\000@\000\004\128\000b\128@@F\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\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\017$ \004\131@\1683\185\000\000\132\128@\b\000A \130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\001\000\000\017\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000:\213h\000\016\000 \000\000\000\b\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\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\001$\000\004\131P\1607\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\016\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\001\000\001\000\016\017\128\000\000\000\128\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\002\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\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\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\030Q\134\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\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\127\245\252\000\016\000 \000\002\000\b\000\006\000\000\000\128\000\000\006\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\001\164\b\004\003\016\162;\153\b\001\158\160\192\001\024Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\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\016\000 \000\002\000\b\000\006\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\127\245\252\000\016\000 \000\002\000\b\000\006\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\000\016\000 \000\002\000\b\000\006\000\000\000\128\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\016\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@8\b$I\002\016\b\000\000$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\128(\b\004A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000 \000\002\000\000\000\000\000\000\000 \000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\213x\0008\b$A\002\016\b\000\000$\000!H\020\128\001\140\000\000z\213x\0008\b \001\002\016\b\000\000$\000!H\020\128\001\140\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$a\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\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\002\004\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\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\0008\b$\001\002\016\b\000\000$\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\000z\213x\0008\b \001\002\016\b\000\000$\000!H\020\128\001\132\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\004\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\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\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\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\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000\001\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000!\000\000\000\164\000!\218\004\128\001\014\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\004\000z\213x\000\016\000 \000\002\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\b\000\128(\b$A\000!\128\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\000H\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128(\b$A\000\017\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\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\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128.\b$A\000\005\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\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\129(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\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\128\000\000\000\000\000\000\002\000\000\000\b\000\129(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\000\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\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\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\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\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\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\128(\b$A\000\001\128\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(H$A\000%\000\000\000\164\000!\218\004\128\001\014\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000\161\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\128(\b$A\000\001\128\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\128\000\000\000\000\000\000\002\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000@\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\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\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\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\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\002\004\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\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\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\002\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006@\000\000\000\004\000\000\000\128\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\016\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\128\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\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\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128.\b$A\000\005\000\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\221x\1288\b$A\002\017\b\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\002\000\000\000\000\000\b\000\128(\b\004A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128.H$A\000\005\128\000\000\164\000!\218\004\128\001\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\221x\1288\b$A\002\017\136\000\000$\000!\218\004\128\001\012\000\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\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\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\b\000\128(\b$A\000!\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\b\000\000\b\000\128(\b$A\000\001\000\000\000$\000!\218\004\128\001\012\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000z\213x@8\b$I\002\016\b\000\000$\000!J\020\128\001\140\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\131@\2243\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131\208\238;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\127\247\254\016\017\164(\004\131\208\174;\159\b\001\158\164\192\t\026Q\002\179{\247\254\000\016\000 \000\002\000\b\000\000\000\000\000\004\000\000\000\000\000\000{\247\254\000\016\000 \000\002\000\b\000\000\000\000\000\004\000\000\000\000\000\000{\247\254\000\016\000 \000\002\000\b\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\"\134\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\001\"\134\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\127\245\252\030\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001$\000\004\0038\1603\153\000\001\132\128@*\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\127\245\252\030\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\030\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\127\245\252\016\017\164(\004\003\024\174;\159\b\001\158\160\192\001\026Q\002\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000{\247\254\000\016\000 \000\002\000\b\000\000\000\000\000\132\000\000\000\000\000\000\001\"\134\000\000\000\000\000\001\000\000\017\128\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\017\128\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002 \000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\001\000\000\000\000\128\000\000\000\002 \000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002 \000z\213x\000\016\000 \000\002\000\b\192\000\000\000\000\000\000\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\026Q\006\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\245\252\016\017\164(\004\131P\174;\159\b\001\158\160\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\001\000\001\000\000\017\128\000\000\000\132\000\000\000\000\0001\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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@\2243\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001$\000\004\131@\1603\153\000\000\132\128@\b\000A\000\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131\208\238;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\127\247\254\016\017\164(\004\131\208\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\003\024\174;\159\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\127\247\254\016\017\164(\004\003\024\174;\159\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\127\247\254\016\017\164(\004\003\024\174;\159\b\001\158\164\192\001\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\001\000\001\000\000\017\128\000\000\000\132\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\128@\000\000\000\000\000\000\000\000\b\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\127\247\254\016\017\164(\004\131P\174;\159\b\001\158\164\192\t\026Q\002\179\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\134\000\000\000\001\000\001\000\000\017\128\000\000\000\132\000\000\000\000\0001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\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\004\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\128\000\000 \000\000\016\000\000\000\000\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000 \004\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\128\000\000\000\016\000\000\000\000\000\000\000\001\006\000@\000 \020\000\000\000\000\000\000 \000\001\002\000\000\000\000\000\000\000\001\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\000\000\000\000\000\001\006\000@\000\000\020\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000 \000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\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\001\014\000`\000\000\016\000\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\006\000`\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\002\000\016\000\000\000\000\000 \000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000\000\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\001\014\000`\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000`\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\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\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\016\000\000\000\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\001\006\000`\000\000\016\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\006\000@\000\000\016\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\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\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000@\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\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\001\000\000 \000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\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\002\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\001\000\000\000\000\000\000\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\001\000\000\000\000\000\000\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\001\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\128\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") let action = - ((16, "\000F\000\197\000\000\000\000\000\234\000\197\000\000\000\000\000?\000\000\000\000\000\000\001-\000\000\000\000\000\000\000F\000\000\000\244\024\018\000\000\018\200\018\200\000\000\000\000,\224\018\200\000\0002\014\018\200\000\000\000\000\018\200\000\000\018\200\000\000\000\227\000\006\018\200\000\000\018\200\000\000\000\000\000\000-\146\018\200\000\000?D\018\200\000\000\000\000\018\200\000\000\018\200\000\000\000\002\000X\018\200\000\000\018\200\000\000\018\200\000\000?\142\018\200\000\000\000\000\018\200\000\000\018\200\000\000\000O\000\000\000\000\018\200\000\000\018\200\000\000\000\000\018\200\000\000\018\200\000\000\0008\000\156\018\200\000\000\024\0182\014/\208\000\000\026\132\001\130/\208\000O/\208\000\000\001.\018\200\000\000L\012\000\000\000O\004*0\004\000\000\000\000<\\\000\000@B\000\000@\2060\0040\004\020,\020,@B\020,\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000<\2320\004\000\000\000\000<\232\000\000<\232\000\0000\004\000\000\000\000\000\000\023b\000O\000\000\020,\000\000-\2300\004\028:0\004\000\000\000\000\000\000\000\000\000\000\000\000 V0\004!`0\004!\1860\004\"\1880\004\000\0000\004\000\0000\004#\0220\004$\0240\004$r0\004%t0\004%\2060\004\001\1600\004\000\000\000\000\000\000\000\000\000\0000\004&\2080\004'*0\004(,0\004\000\000\000\0000\004\000\000\000\000\002\020\000\000\000\000\000\000\000\0004\130\018\200\000\000\003\128\018\200\000\000A\148\018\200\000\000\000\000\018\200\000\000\018\200\000\000\002\168\002\226\018\200\000\000\018\200\000\000\003\246\018\200\000\000A\160\018\200\000\000\000\000\018\200\000\000\018\200\000\000\003B\003\202\018\200\000\000\018\200\000\000\018\200\000\000A\188\018\200\000\000\000\000\018\200\000\000\018\200\000\000\000O\018\200\000\000\018\200\000\000\018\200\000\000\018\200\000\000\003\166\003\250\018\200\000\000?D/\208\003\226\018\200\000\000LdL6\000\000\000'\004\160\000O\004\002\004\234Ld\000\000\000\000\000\239\031,\000\000\000\000\000\000\000\000\004\132\004\218\000\015\005\026Ld\000xLd\000\000\000\000\004x\000\000\004\134\005\186Ld\005\014\000\000\000\000\000\000\000\239\000\000\005\028\006\002\000\000\006\004\000\0004\130\000E/\208\0056\018\200\000\000?\142/\208\005@\018\200\000\000\000\000\000O\006(\000\000\000\000\000\000\000\184\020,\000\0000\004\005R\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\005Z\000\000\000\000\005z\000\000\005\132@B\000\000\000\000\000\000\000\000\000\000\000\000B\1460\004\000\000B\146\000\000B\146@B\000\000\000\000B\224\000O\000\000\020,\005\192\000\0000\004\005\210\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\030\0000\004\000\0000\004\000\000\000\000\005\214\000\000\000A=\146\006\1480\004\006^\000\000\000\000@B\000A\000\000\000\000\000\000\000\000\000\000L\244@BM\194@BN\028@BNz@B\000\000@B\000\000@BN\212@BO2@BO\140@BO\234@BPD0\004\006\016@B\000\000@BP\162@BP\252@BQZ\005\236\000\000\005\238\000\000\002\0000\004\000\000\002\000\000\000\000\000\001\182\024\018\000\000\001\182\000\000\000\000\006\0040\004\000\000\006\008\000\000\020,\006\018\000\000\000\000\006\230\000\000\020,\006$\000\000\000\000\006&\000\000\000\000\004*\000\000\007\020\000\000A\160/\208\006:\018\200\000\000\000\000\006\188\000\000\006B\018\200\000\000\000\000\000\250\024\018\000\000\024\018\000\000\006<\000\000\000\250\000\000\016\174\027\134\018\196\000\000\007\238\018\196\000\000\018\196\018\196\000\000\000\000\018\196\000\000\018\196\000\000\006\154\006\208\018\196\000\000\018\196\000\000\008p\018\196\000\000\018\200\018\196\000\000\000\000\018\196\000\000\018\196\000\000\006\168\006\212\018\196\000\000\018\196\000\000\018\196\000\000,\024\018\196\000\000\000\000\018\196\000\000\018\196\000\000\000O\018\196\000\000\018\196\000\000\018\196\000\000\018\196\000\000\006\172\006\216\018\196\000\000\024\018\006\142\000\000\018\228/\208\006\136\018\196\000\000\000\000\000&\000\000\000\174\000&\000\000\000\000\000\000\007t\000\000\001\250/\208\006\158\018\196\000\0001\236/\208\006\164\018\196\000\000\000\0005\222\018\196\000\000\008\210\018\196\000\0001\236\018\196\000\000\000\000\018\196\000\000\018\196\000\000\006\212\007\008\018\196\000\000\018\196\000\000\t\016\018\196\000\0002b\018\196\000\000\000\000\018\196\000\000\018\196\000\000\006\226\007\016\018\196\000\000\018\196\000\000\018\196\000\0002v\018\196\000\000\000\000\018\196\000\000\018\196\000\000\000O\018\196\000\000\018\196\000\000\018\196\000\000\018\196\000\000\006\232\007\020\018\196\000\0002b/\208\006\196\018\196\000\000\000\000\002f/\208\006\202\018\196\000\0002v/\208\006\204\018\196\000\000\000\000\000\000\000\000\000\000\000\000\007\1460\004\006\222\021\162\007\1600\004\006\230\007\160/\208\000\000\000\000/\208\000O\000\000\002N0\004(x\000\000C`0\004\006\244\000\000\020,\006\244\000\000\006\246\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000D\n0\004\000\000D\n\000\000D\nD\150\020,\006\252D\150\000\000\000\000\020z\000O\000\000\020,\007\000\000\0000\004\007\004\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0000\004\000\1480\004\007 \000\000\000\000)L(x\025\212\0312\007\2180\004\000\000\007\180\000\000\000\000\000O\000\000>$\007l(x\000\000\007l(x\000\000\000\162\000\000\000\000,\168D\150-ZD\150C$D\150D\004D\150\000\000D\150\000\000D\150Q\180D\150Q\242D\150R\020D\150RzD\150R\166D\150R\202D\150S\008D\150Sv\000\000\007N)\246\000\000*\160*\160\007P*\160+J*\160\000\000\007X*\160\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007N\000\000\000\000\007P\000\000\0086\000\000\000O\000\000\002N\008<\000\000\000%\008\014\000O\007d\008&Ld\007j\000v\000\0000\004\008R\000\000\005\156\006\184\0084Ld\007x\008X\000\000\004\2480\004\008Z\000\000\008\\\000\0004\130\000O\005n0\004\008^\000\000\008`\000\000\000O\005\1340\004\008d\000\000\008l\000\000\000\179\007\184\006\242\000\000E\"E\174\020,\007\146\000\000\007\148E\174\000\000\000\000\000\000\000\000\000\000\000\000F:0\004\000\000F:\000\000F:E\174\000\000\000\000\026\214\000O\000\000\020,\007\164\000\0000\004\007\162\000\000\000\000\000O\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000.\2320\004\000\0000\004\000\000\007\170\000\000\002\000\000\000\000\000\000\000\000\000\000\0003VE\1743\176E\1744\178E\1745\012E\174\000\000E\174\000\000E\1746\014E\1746hE\1747jE\1747\196E\1748\1980\004\007\212E\174\000\000E\1749 E\174:\"E\174:|\020,\007\184\000\000\000\0000\004\000\000\008\152\000\000\001b\008n0\004\008>\000\000\008\1360\004\008T\000\000\000\031\000\000\006\242\006\242\001b\000\000\001b\000\000\016\174\006\242\006\242\000\000\000\000\000\000\000\000\000\000\000\000\008\1600\004\007\228\021\162\022r\000O\008\196\000\000\008\166;D\008\202;D\008\2060\004\007\250\021\162\021\162\000\238\002\168\000'\000\000\000\000\000\000\002\168\000\000\003\204\000\238\000\000\000\000\008\004\000\000\000\000\000\000\008\230\000\000\008\236\000\000\000\000\t$\008\2080\004\008\"\t\002\000\000\008\228\020,\008*\021\162\000\000\000\000\008X\000\000\000\015\000\000\005\142\000\000\000\000\001b\000\000\008\174\000\000\012\130\005~\000\000\012\130\000\000\000\000\024\198\000\000\005~\000\000\000\000\t\186\000\000\012\130\000\000\008\252\020,\008B\t$\000\000\000R\000\000\008\246\000O\008L\t\012Ld\008R\001$\000\0000\004\t2\000\000\t\020Ld\008Z\t:\000\000\005\1380\004\t>\000\000\tB\000\0004\130\000O\005\1420\004\tD\000\000\tH\000\000\000\000\000\000\t\186\000\000\000\000\0042\000\000\006\242\000\000\001\182\000\000\000\000\002\184\022r\000\000\002\184\000\000\000\000\008\138\000\000\002T\000\003\021\162\000\000\004*\000\015\004*\000\000\000\015\000\000\006\242\000\000\006\242\000\000\000\000\000\000\008\134\000\000\000\000\008\158\000\000\002\210\005\142\001\230\004*\000\000\000\000\000\000\005T\000\000\006\242\000\000\002\210\000\000\000\000\001\182\000\015\016\174\000\000\000\015\000\000\008V\016\174\000\000\000\000\008V\000\000\000\000\008\156\000\000\000\000\008\162\000\000\003\240\006\242\000\000\003\240\000\000\000\000\t\028\000\000\0042\000\000\006\242\000\000\000\000\000\000\018\006;\208\000\000\t\130\000\000\018\006\t\134\000\000\t\136\000\000/\208\000O\003\008\000\0000\004\t\138\000\000\003\240\tZ\000O\008\176\tpLd\008\180\003Z\000\0000\004\t\150\000\000\004\226\000\0000\004\t\152\000\0004\130\000O\005z\000\0000\004\t\154\000\000\003\252\018\006\000\000\024\198\005\150\000\0000\004\t\160\000\000\000\000\000\000\003@\000\000\t\132\020,\008\200\t\170\000\000\001\228\000\000\tz\000O\008\208\t\146Ld\008\216\005\158\000\0000\004\t\184\000\000\005\164\000\0000\004\t\186\000\0004\130\000O\005\208\000\0000\004\t\188\000\000\003\252\000\000\000\000\008\226\000\000\003@\003\026\t\\\000\000\000\000\000\000\t^\000\000\004\006\000\031\000\000\016\174\t\176\000\000\000\0000\004\t\018\006\242\000\000\008\230\000\000\000\179\000\000/\208\000\000\000\000\005\194\016\174\000\000\016\174\000\000\008\214\000\000\005\194\000\0000\004\005\2460\004\000\0000\004\000\000\008\216\000\000\005\246\000\0000\004\005\246\008\218\000\000\021\162\006\000\021\162\000\000\021\162\000\000\008\220\000\000\006\000\000\0000\004\005\246\008\222\000\000/\208\006\008/\208\000\000/\208\000\000\008\228\000\000\006\008\000\0000\004\005\246\008\232\000\000\000\000\024\198\000\000\000\000\tX0\208\000\000\000\000\000\000\000\000\000\000\t.\004*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005:0\208\000\000\003H\001\146\000\000\t0\000\197\000\000\000\000\000\000\0032\001\146\000\000\000\000\000\000\000\000\t\140\000\000\000\000\000\000\000\000\028:\029\158\000\000F\208\000\0000\208\000\000\005t0\208\000\000\000?\001|\001|\000\000\002\008\001|\000\000\t\n\000\000\000\000\000\000\000\000\t\148\000\000\030\162\000\000 V0\208\000\000\002\1520\208\000\000\t\156\000\0000\208\t\158\000\000HX1^\t\160\000\000\t\168\000\000ID>\1480\208\000\000\000\000\t,0\208\t\186\000\000\t\188\000\000\t\190\000\000\024\018\000\000\002b\024\018\000\000\t>\018\196\000\000\001~0\208\000\000\005\1460\208\000\000\000~\n<\000\000\n>\000\0000\2080\208\tD\000\000\000\000\000\000\000\000\000\000\000\000\t\204\000\000I\1460\208\t\206\000\000\t\208\000\0000\208\t\210\000\0000\208\tz\000\197\000\000\000\000\006`0\208\000\000\000~\000\000\t\214\000\0000\208\t\220\000\000G\0301^0\208\tZ0\208\t\232\000\000\t\236\000\000H\n\000\000\000\000\006~0\208\000\000\003\196\004\244\001|\tj\000\000\000\000\001~\001~\000\000\000\000\000\000\003\184\001~\000\000\tl\000\000\000\000\000\000\000\000\000\000\000\0000\208\000\000\006\1680\208\000\000\001\228\000\128\000\197\tn\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t\246\000\000\t\248\000\0000\208\t\254\000\000J~0\208\n\000\000\000\n\002\000\000\0218\t\170J\204,\024\000\0000\208\n\006\000\000\n\008\000\000\t\216\02180\208\n\012\000\0000\208\n\014\000\000\n\018\000\0000\208\t\1440\208\n\024\000\000\n\026\000\000\000\197\t\138\000\000\000\000\024\198\000\000\000\000\002~\nx\000\000\000\000\000\241\000\000\000\000\000\0000\004\000\000\000\000\000\000\002\198\000\000\002F\000\000\000\000\000\000\004*/\208/\208/\208\000\000\000\030\000\030\000\030\000\030\000\000\000\000\000\000\000\000\000\000\000\000\001b\016\174\np\013\230\001(\000\000\000\000\001(\000\000\t\186\000\000(x\t\164\000\000\001b\016\174\t\172\015J\000\000\001b\013\230\000\000\000\000\000\000/\208\000\030\000\000\000\000\000\000\t\246\000\240\npM\020\000\000\004@M\196\000\000\000\000\000\000\0050\nb\000O\000\000\004@\000\000\005 M\020\000\000\000\000\t\184\np\006\242\t\182\000\000\001(\000\000\t\186\000\000\011b\0070\000\000\000\000\n\\\000\000\000\000\002~\000\000\002\170\000\000\000\000\000\0000\004\000\000\002\198\000\000\003~\000\000\000\000\000\000\005\142\000\000\011\030\002\148\011\030\000\000\006\242\011\030\000\000\002\148\000\000\006\242\000\000\006\242\000\000\006\242\000\000\011b\000\000\000\000\000\000\000\000\000\000\006\242\000\000\002\148\000\000\006\242\000\000\014*\000\000\000\000\008V\t\232\000\197\001\216\n\134\006\220\000\000\006\220\n\176\000\000\n\182\000\000\n\184\000\000\000\000\001\184\006\220\004\182\006\220\000\000\000\000\006(\t\218\000\000\n*\000\197\001\216\t\242\000\000\006N\n\238\000\000\002\"\004\196\n\254\003V\n\254\000\000\000\000\006\180\000\197\000\000\003\248\000\000\000\000\002\130\000\000\t\250\000\000\000\000\000\000\n6\000\197\001\216\t\254\000\000\000\000\006N\002\"\004\196\006\180\003\248\002\130\n\000\000\000\002\"\004\196\006\180\003\248\002\130\n\002\000\000\001\178\001\162\n\030\000\197\n\024\011\n\004H\nD\000\197\n\160\000\000\nP\000\197\n\176\000\000\000\000\n:\002\206\n<\011\n\000\000\n>\011\n\000\000\000\000\011\n\000\000"), (16, "\012\029\012\029\012\029\012\029\012\029\012\029\012\029\012\029\012\029\012\029\012\029\000&\012\029\012\029\012\029\012\029\012\029\012\029\012\029\012\029\012\029\012\029\nR\0007\000;\nV\012\029\000\n\015\026\025\146\000*\nZ\006\137\000\150\012\029\001~\n^\025\150\012\029\012\029\004\222\012\029\004^\007\209\012\029\022\026\006\t\016.\012\029\012\029\012\029\004>\012\206\025G\025K\001\"\014\242\007\209\025O\012\029\001\"\015\030\012\029\012\029\013n\015&\000\006\000\"\012\029\012\029\006\193\012\029\001\230\012\029\020\026\001\"\012\250\001\242\012\029\005\249\012\029\012\029\012\029\012\029\012\029\012\206\000\n\001\"\012\029\012\029\012\029\000\n\012\029\012\029\012\029\016\162\012\029\012\029\012\029\012\029\023\n\023\018\008\210\012\029\012\029\001\230\000\n\000\n\007\209\012\250\001\242\016\166\006\026\012\234\012\029\012\029\012\029\018r\000\n\012\029\012\029\012\029\012\029\018v\012\029\015\170\012\029\018z\000\154\012\029\006\193\001\230\012\029\012\029\006\137\012\250\001\242\016>\024R\023\026\000\n\011\249\017v\012\029\000\n\004\169\012\029\000\226\011\185\011\185\012\029\012\029\012\029\012\029\011n\012\029\000.\012\029\004~\007\209\019\238\012\029\012\029\012\029\008\181\012\029\000\n\012\029\012\029\000\230\012\029\007\209\012\029\012\029\001R\007\150\012\029\012\029\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\000\n\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\006\145\016\194\012\238\016.\001V\006\145\014\246\015\006\015\022\006)\006)\001\230\014\242\006\145\001\"\001\238\001\242\006\145\006\145\011v\006\145\015&\004\138\006\145\006\025\008\181\003q\006\145\011\174\006\145\000N\007\182\020j\020\146\020\162\020\202\020\218\021\002\006\145\011\185\021>\007\158\011\130\028\154\021\170\000\n\000\n\006\145\006\145\008\218\011\185\021\174\006\145\006\145\005\030\011\185\011\185\006\145\004m\006\145\006\145\006\145\006\145\006\145\015\162\022\030\023\254\006\145\006\145\006\145\001v\006\145\006\145\006\145\016\162\006\145\006\145\006\145\006\145\000\022\023\n\023\018\006\145\006\145\023\230\003\245\011\185\027\178\028\150\016\198\016\166\011\185\011\185\016>\006\145\006\145\021\186\019j\006\145\006\145\006\145\006\145\006\246\006\145\0061\006\145\004\025\014\242\006\145\024\002\001\230\006\145\006\145\019n\012\250\001\242\015&\000\n\008\145\024N\001\138\022\242\012\201\012\201\017F\006\145\004\221\012\201\008\246\006\145\006\145\006\145\006\145\001\230\006\145\000\n\006\145\012\250\001\242\006\222\006\145\006\145\006\145\000\n\008\173\000\n\006\145\006\145\001\"\006\145\011\161\006\145\006\145\016.\002\206\006\145\006\145\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\000\n\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\000\n\006\177\006\222\n*\006\177\006Y\016.\027\194\027\130\016>\006\177\006\177\006\177\006\177\028\218\014\242\006\177\006\177\027\186\006\177\006\177\0256\006\177\001\"\015&\008\173\006\177\004\025\006\177\004\221\006\177\006\177\004\025\004\025\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006\177\006a\022*\004\025\027\130\006\177\006\177\006\177\006\177\011\177\006\177\017R\003\026\000\n\011\193\006\177\0256\006\177\n\158\006\177\006\177\006\177\006\177\018\174\017\198\006\177\006\177\006\177\004\025\006\177\006\177\006\177\019j\006\177\006\177\006\177\006\177\012\182\003:\028*\003B\006\177\003R\006a\006\177\025o\025s\022\218\019n\003Z\025w\019N\006\177\006\177\011\153\016>\006\177\006\177\006\177\006\177\006\246\006\177\006\177\006\177\018\222\000\n\006\177\003f\001\230\006\177\006\177\006\177\012\250\001\242\022f\003j\005\137\006\177\003b\006\222\006\177\011\193\015\166\006\177\008\209\008\209\006!\006\177\006\177\008\209\006\177\012\001\006\177\006\129\006\177\026\199\026\203\003~\006\177\003\134\026\207\003\150\011\005\000\n\023\230\006\177\006i\006\177\003\158\006\177\006\177\018\178\003r\006\177\006\177\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\021*\001\014\025~\001\022\nZ\001\030\0012\001:\001>\n^\025\130\003\166\021.\023\250\011\137\nb\006Y\021\166\003\170\011\137\011\137\021\198\0212\001F\0216\012\001\018\226\001\166\nr\018\194\013v\011\137\021:\013z\028\174\006a\011\005\001N\008\165\014\226\021F\018F\005\241\028\002\021J\003\182\016.\019\"\001\178\001\230\021N\025\182\028\190\012\250\001\242\014\242\011\137\015:\013\130\025\226\025\238\001\162\015>\017\130\015&\003\174\021R\001\218\004\014\001\222\004\185\001b\0166\015F\011\145\026\231\026\235\013\150\001\230\015J\026\239\013\154\011\142\001\242\000\n\013\158\013\162\n\134\013\166\004\018\004\021\021V\024\018\015N\021Z\028\030\012\201\027\250\008\165\011\169\004}\028\"\015\194\004v\n\226\013\170\003\249\021^\015R\015V\013\174\015Z\021b\000\n\021f\015n\021j\021n\004\149\021r\004&\015z\013\182\006q\004\021\021v\004B\001\"\021z\006y\005\241\020\002\026\002\004J\018\242\015\154\016>\004}\021>\015\158\015\218\004\185\n\138\021~\013\186\011\161\015\222\021\130\021\134\005\241\013\190\004\185\004\185\005\241\004N\004z\004\185\015\230\000\n\013\194\026B\006\185\006\185\023\234\006\001\002\"\006\185\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\004\130\001\014\025~\001\022\nZ\001\030\0012\001:\001>\n^\025\130\026V\004\021\016.\004\154\nb\003A\004\021\004\021\006\161\003A\004\162\014\242\001F\006\161\006\161\011\161\001\166\nr\004\021\013v\015&\019\014\013z\016.\001\"\006\161\001N\011\161\014\226\011\161\004\221\011\161\014\242\018\246\004\021\0192\011\233\001\178\005\021\019\138\014\242\015&\019\158\004\021\013\026\027\186\015:\013\130\025\226\015&\006\161\015>\017\202\020J\004\249\000\n\001\218\005\021\001\222\004\201\001b\0166\015F\012\182\019\186\011\241\013\150\001\230\015J\004\166\013\154\011\142\001\242\012\201\013\158\013\162\n\134\013\166\004\174\020r\011\217\016:\015N\026n\020\170\004\198\004\029\003e\020\226\004\202\004\210\003A\016>\n\226\013\170\003A\021\154\015R\015V\013\174\015Z\004\230\000\n\013:\015n\004\137\004\250\004\149\005\014\019\018\015z\013\182\004\221\016>\005.\013V\005R\016\234\020R\017\n\027\178\016>\012\182\0196\015\154\022\014\005\021\019\142\015\158\015\218\019\162\n\138\005^\013\186\012\182\015\222\012\182\005f\012\182\013\190\022\254\004\201\012\201\012\201\020z\005\021\015\230\012\201\013\194\020\178\006\201\006\201\019\190\020\234\002\"\006\201\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\005\186\001\014\025~\001\022\nZ\001\030\0012\001:\001>\n^\025\130\005\198\006\018\005\017\006I\nb\011\225\006\"\006*\004\029\006\170\006\206\006\214\001F\004\029\004\029\027\138\001\166\nr\004\245\013v\011\201\005\017\013z\007\014\007\026\004\029\001N\004\137\014\226\006A\007&\027\234\004\137\004\137\006Q\0072\027\142\001\178\0069\007>\014\242\011\209\007J\027\146\004\137\004\137\015\"\013\130\007^\015&\004\029\015>\027\186\007n\007~\026\167\001\218\007\134\001\222\004\229\001b\015B\015F\026\171\007\171\023\130\013\150\001\230\015J\004\137\013\154\011\142\001\242\026\174\013\158\013\162\n\134\013\166\006\169\007\246\023\218\012\209\015N\006\169\006\169\007\250\008:\008>\008\158\008\162\005\017\008\178\008\194\n\226\013\170\028\018\008\238\015R\015V\013\174\015Z\024B\000\n\008\254\015n\027\154\t\018\004\149\tZ\005\017\015z\013\182\007\202\t^\007\210\t\158\007\226\t\162\n\002\n\006\006\169\016>\n\026\007\234\015\154\n2\nF\nf\015\158\015\218\004\229\n\138\nn\013\186\nv\015\222\n~\027\162\n\130\013\190\004\229\004\229\n\182\n\194\n\202\004\229\015\230\011\014\013\194\011.\008\217\008\217\007\242\011:\002\"\008\217\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\011~\001\014\011\154\001\022\nZ\001\030\0012\001:\001>\n^\008\014\011\166\008\022\011\190\008&\nb\011\202\012R\012f\008\002\004\137\008.\012z\001F\012\158\012\170\012\178\001\166\nr\012\198\013v\012\210\012\218\013z\012\222\012\230\027v\001N\007\217\014\226\012\246\013\006\013\014\013\018\013\"\013*\013B\013J\001\178\013^\0086\014\242\007\217\013f\013r\013\138\013\146\015\"\013\130\t.\015&\t6\015>\tF\013\230\013\242\014:\001\218\014\178\001\222\tN\001b\015B\015F\014\218\014\238\014\250\013\150\001\230\015J\015\002\013\154\011\142\001\242\008F\013\158\013\162\n\134\013\166\015\n\tr\015\018\tz\015N\t\138\015^\015f\015v\015~\tV\015\134\t\146\015\142\007\217\n\226\013\170\027\210\015\150\015R\015V\013\174\015Z\015\210\000\n\015\226\015n\027\230\015\234\015\246\015\250\004\137\015z\013\182\028>\027\234\004\137\004\137\016\002\016\006\016\014\t\154\016\022\016>\tf\016&\015\154\016J\004\137\004\137\015\158\015\218\016\142\n\138\016\150\013\186\016\154\015\222\016\170\016\178\016\182\013\190\016\190\016\206\016\214\007\217\016\222\016\226\015\230\016\242\013\194\016\250\017\018\004\137\017\026\t\170\002\"\007\217\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\017j\001\014\017\178\001\022\nZ\001\030\0012\001:\001>\n^\017\190\0182\018>\018^\018\138\nb\018\150\018\158\018\186\018\198\018\206\018\210\018\218\001F\018\234\018\254\019\026\001\166\nr\019>\013v\019V\019^\013z\019b\019r\019z\001N\019~\014\226\019\134\019\150\019\170\019\198\019\218\019\234\019\250\020\018\001\178\020\"\020.\014\242\020_\020\135\020\159\020\191\020\215\015\"\013\130\020\247\015&\021\015\015>\021&\021B\021\178\021\223\001\218\0226\001\222\022K\001b\015B\015F\022s\022\127\022\143\013\150\001\230\015J\022\151\013\154\011\142\001\242\022\178\013\158\013\162\n\134\013\166\022\187\022\195\022\203\012\209\015N\022\230\023\014\023\022\023&\023C\023S\023[\023g\023r\023\151\n\226\013\170\023\163\023\182\015R\015V\013\174\015Z\023\191\000\n\023\199\015n\023\242\024\030\024Z\024{\024\131\015z\013\182\024\143\024\159\024\167\024\178\024\199\024\207\024\214\024\227\024\239\016>\024\247\025\002\015\154\025\011\025\019\025\031\015\158\015\218\025:\n\138\025\194\013\186\025\234\015\222\025\250\026.\0266\013\190\026Z\026~\026\130\026\138\026\179\027z\015\230\027\134\013\194\027\150\012\209\012\209\027\158\027\166\002\"\012\209\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\027\207\001\014\025~\001\022\nZ\001\030\0012\001:\001>\n^\025\130\027\214\027\227\027\238\027\254\nb\0283\028B\028O\028s\028\143\028\158\028\166\001F\028\170\028\178\028\187\001\166\nr\nR\013v\028\194\nV\013z\028\203\028\214\025\146\001N\nZ\014\226\028\222\028\234\000\000\n^\025\150\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015:\013\130\000\000\000\000\000\000\015>\026\254\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\0166\015F\000\000\000\000\016\162\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\016\166\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\001\230\000\n\000\000\015n\012\250\001\242\004\149\000\000\000\000\015z\013\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\154\000\000\000\000\000\000\015\158\015\218\000\000\n\138\000\000\013\186\000\000\015\222\000\n\000\000\000\000\013\190\000\000\004\169\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\008\189\008\189\000\000\000\000\002\"\008\189\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\007\153\007\153\000\000\000\000\000\000\007\153\001F\000\000\000\000\000\000\001\166\nr\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\001N\000\000\014\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015:\013\130\000\000\000\000\000\000\015>\016R\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\0166\015F\000\000\000\000\000\000\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\012\173\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\000\000\000\n\000\000\015n\000\000\000\000\000\000\000\000\000\000\015z\013\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\154\000\000\000\000\000\000\015\158\015\218\000\000\n\138\000\000\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\000\000\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\012\173\012\173\000\000\000\000\002\"\012\173\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\nR\013v\000\000\nV\013z\000\000\000\000\025\146\001N\nZ\014\226\000\000\000\000\000\000\n^\025\150\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015:\013\130\000\000\000\000\000\000\015>\025\198\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\0166\015F\000\000\000\000\016\162\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\016\166\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\001\230\000\n\000\000\015n\012\250\001\242\000\000\000\000\000\000\015z\013\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\154\000\000\000\000\000\000\015\158\015\218\000\000\n\138\000\000\013\186\000\000\015\222\000\n\000\000\000\000\013\190\000\000\004\169\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\012\249\012\249\000\000\000\000\002\"\012\249\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\t\t\t\t\000\000\000\000\000\000\t\t\001F\000\000\000\000\000\000\001\166\nr\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\001N\000\000\014\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015:\013\130\000\000\000\000\000\000\015>\025\198\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\0166\015F\000\000\000\000\000\000\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\000\000\000\n\000\000\015n\000\000\000\000\000\000\000\000\000\000\015z\013\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\154\000\000\000\000\000\000\015\158\015\218\000\000\n\138\000\000\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\000\000\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\012\245\012\245\000\000\000\000\002\"\012\245\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\nr\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\001N\000\000\014\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015:\013\130\000\000\000\000\000\000\015>\017\254\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\0166\015F\000\000\000\000\000\000\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\000\000\000\n\000\000\015n\000\000\000\000\000\000\000\000\000\000\015z\013\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015\154\000\000\000\000\000\000\015\158\015\218\000\000\n\138\000\000\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\000\000\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\000R\000V\000f\000\170\002\"\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\000\000\001\022\nZ\001\030\0012\001:\001>\n^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\001N\000\000\018~\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\142\013\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\000\000\000\000\000\000\000\000\013\150\001\230\000\000\000\000\013\154\001\238\001\242\000\000\013\158\013\162\n\134\013\166\000\000\000\000\000\000\005\233\000\000\007\214\005\233\008\026\005\233\000\000\005\233\000\000\005\233\000\000\000\000\n\226\013\170\005\233\005\233\000\000\005\233\013\174\005\233\000\000\000\n\000\000\000\000\000\000\005\233\000\000\005\233\000\000\005\233\013\182\005\233\000\000\000\000\000\000\005\233\000\000\005\233\000\000\000\000\005\233\005\233\005\233\005\233\000\000\005\233\000\000\005\233\000\000\005\233\n\138\005\233\013\186\005\233\018\146\005\233\005\233\000\000\013\190\005\233\000\000\000\000\000\000\005\233\005\233\018\154\005\233\013\194\000\000\005\233\000Z\005\233\000Z\002\"\005\233\005\233\005\233\000\000\000\000\000\000\005\233\008\186\000\000\005\233\000\000\005\233\000Z\005\233\005\233\000\000\005\233\000\000\000\000\000\000\005\233\000\000\005\233\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\005\233\000\000\005\233\005\233\000\000\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\000\000\005\233\000\000\005\233\000\000\005\233\005\233\005\233\005\233\000\000\005\233\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\000\005\233\000\000\005\233\005\233\005\233\000\000\005\233\005\233\005\233\005\233\005\233\000\000\000\000\005\233\005\233\000\000\000\000\005\233\005\233\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\005\233\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\014\029\001\182\000\000\000\000\000\000\000\000\000\000\001\206\001\202\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\001b\000\000\014\029\000\000\000\000\000\000\001\226\001\230\000\000\011\030\001\234\001\238\001\242\002F\001\246\001\250\014\029\001\254\000\000\000\000\000\000\000\000\014\029\014\029\000\000\000\000\011&\000\000\000\000\0112\000\000\000\000\014\029\000\000\002\002\014\029\000\000\014\029\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\014\000R\007\190\007\198\000\170\000\000\000\174\014\029\008\n\008N\002\018\008V\021*\008f\000\000\008n\000\000\008v\008\130\001:\008\138\000\000\002\022\000\000\021.\000\000\000\000\011>\002\026\000\000\000\000\004i\000\000\000\000\0212\008\146\0216\002\030\000\000\000\000\000\000\000\000\000\000\002\"\021:\000\000\014\029\000\000\000\000\024\174\000\000\011B\021F\014\029\000\000\000\000\021J\000\000\000\000\000\000\000\000\011J\021N\000\000\000\000\000\000\014\029\000\000\000\000\008\170\000\000\000\000\000\000\000\000\022\206\000\000\000\000\000\000\021R\023\202\nb\014\029\014\029\008\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\nr\000\000\013v\000\000\000\000\013z\000\000\000\000\000\000\000\000\021V\014\226\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\021^\000\000\000\000\015j\013\130\021b\000\n\021f\015>\021j\021n\000\000\021r\001\218\000\000\001\222\000\000\000\000\021v\015F\000\000\021z\000\000\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\000\000\013\166\000\000\021~\000\000\000\000\015N\021\130\021\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\000\000\000\n\000\000\015n\000\000\000\000\000\000\nb\000\000\015z\013\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\nr\000\000\013v\015\154\000\000\013z\000\000\015\158\015\218\000\000\000\000\014\226\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\001\178\000\000\000\000\000\000\000\000\015\230\000\000\013\194\000\000\013~\013\130\000\000\000\000\002\"\015>\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\015F\000\000\000\000\000\000\013\150\001\230\015J\000\000\013\154\011\142\001\242\000\000\013\158\013\162\000\000\013\166\000\000\000\000\000\000\000\000\015N\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\013\170\000\000\000\000\015R\015V\013\174\015Z\000\000\000\n\000\000\015n\000\000\000\000\000\000\000\000\000\000\015z\013\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\001\000\000\000\000\014\001\015\154\000\000\000\000\000\000\015\158\015\218\000\000\000\000\000\000\013\186\000\000\015\222\000\000\000\000\000\000\013\190\000\000\000\000\000\000\014\001\000\000\000\000\015\230\014\001\013\194\000\000\002:\014\001\000\000\000\000\002\"\000\000\000\000\014\001\000\000\000\000\014\001\014\001\000\000\014\001\014\001\000\000\000\000\002B\000\000\014\001\005&\000\000\000\000\014\001\000\000\000\000\014\001\000\000\014\001\014\001\000\000\000\000\000\000\000\000\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\014\001\001\022\014\001\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\014\001\000\000\000\000\000\000\000\000\000\000\000\000\0052\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\014\001\014\001\000\000\014\001\014\001\0056\000\000\014\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005>\001^\000\000\000\000\000\000\014\001\000\000\000\000\014\001\014\001\014\001\014\001\000\000\000\000\000\000\001b\014\001\014\001\014\001\000\000\014\001\014\001\014\001\001=\001=\001=\001=\000\000\001=\000\000\001=\001=\000\000\001=\000\000\001=\000\000\001=\000\000\001=\001=\001=\001=\000\000\000\000\004\245\000\000\021\026\004\245\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001=\000\000\004\245\000\000\000\000\001=\004\245\000\000\001=\004\245\004\245\000\000\001=\000\000\000\000\021\030\004\245\000\000\001=\004\245\004\245\000\000\004\245\004\245\000\000\001=\004\245\000\000\004\245\004\245\001=\000\000\004\245\000\000\000\000\004\245\000\000\004\245\004\245\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\245\001=\004\245\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\245\000\000\000\000\000\000\001=\000\000\000\000\004\245\000\000\001=\000\n\001=\000\000\000\000\001=\000\000\021\"\000\000\000\000\000\000\000\000\000\000\001=\000\000\000\000\001=\004\245\004\245\000\000\004\245\005\017\004\245\000\000\004\245\000\000\000\000\000\000\000\000\000\000\000\000\001=\004\245\000\000\004\249\001=\001=\004\249\000\000\000\000\004\245\000\000\004\245\000\000\000\000\000\000\021\226\000\000\004\245\004\245\004\245\000\000\004\245\004\245\004\245\000\000\000\000\004\249\000\000\000\000\000\000\004\249\000\000\000\000\004\249\004\249\000\000\000\000\000\000\000\000\000\000\004\249\000\000\000\000\004\249\004\249\000\000\004\249\004\249\000\000\000\000\004\249\000\000\004\249\004\249\000\000\000\000\004\249\000\000\000\000\004\249\000\000\004\249\004\249\000\000\000\000\000\000\000\000\000\000\000\000\004U\004U\004U\004U\000\000\004U\000\000\004U\004U\000\000\004U\000\000\004U\004\249\004U\004\249\004U\004U\004U\004U\000\000\000\000\000\000\000\000\000\000\000\000\004\249\000\000\000\000\001r\000\000\000\000\000\000\004\249\004U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004U\000\000\000\000\000\000\004\249\004\249\000\000\004\249\005\021\004\249\000\000\004\249\000\000\000\000\000\000\014U\000\000\000\000\014U\004\249\004U\000\000\000\000\000\000\004\249\000\000\004U\004\249\000\000\004\249\000\000\000\000\000\000\000\000\004U\004\249\004\249\004\249\014U\004\249\004\249\004\249\014U\000\000\000\000\013\214\014U\000\000\000\000\000\000\000\000\000\000\014U\000\000\000\000\014U\014U\000\000\014U\014U\000\000\000\000\013\222\000\000\014U\013\234\000\000\000\000\014U\000\000\000\000\014U\000\000\014U\014U\000\000\004U\000\000\000\000\000\000\000\000\000R\007\190\007\198\000\170\000\000\000\174\000\000\008\n\008N\000\000\008V\000\000\008f\014U\008n\014U\008v\008\130\001:\008\138\000\000\000\000\000\000\000\000\000\000\000\000\014U\000\000\000\000\000\000\000\000\000\000\000\000\013\246\008\146\000\000\000\000\000\000\004U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\154\000\000\000\000\000\000\014U\014U\000\000\014U\000\000\013\250\000\000\014U\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\002\008\170\000\000\000\000\000\000\000\000\000\000\000\000\014U\000\000\014U\000\000\000\000\000\000\000\000\008\182\014U\014U\014U\000\000\014U\014U\014U\n\133\n\133\n\133\n\133\000\000\n\133\000\000\n\133\n\133\000\000\n\133\000\000\n\133\000\000\n\133\000\000\n\133\n\133\n\133\n\133\000\000\000\000\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\133\n\133\n\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\133\000\000\001\137\000\000\000\000\n\133\001\137\000\000\021\242\000\000\001\137\000\000\021\250\000\000\000\000\000\000\001\137\000\000\n\133\001\137\001\137\000\000\001\137\001\137\000\000\n\133\000\000\000\000\001\137\000\000\n\133\000\000\001\137\000\000\000\000\001\137\000\000\001\137\001\137\n\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\n\133\001\137\000\000\n\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\n\133\000\000\000\000\000\000\000\000\n\133\000\000\n\133\000\000\000\000\n\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\133\000\000\000\000\n\133\001\137\002V\000\000\001\137\001\137\000\000\000\000\001\137\000\000\000\000\000\000\000\000\000\000\000\000\n\133\000\000\000\000\000\000\022N\n\133\001\137\000\000\000\000\001\137\001\137\001\137\001\137\000\000\000\000\000\000\000\000\002\254\001\137\001\137\000\000\001\137\001\137\001\137\nu\nu\nu\nu\000\000\nu\000\000\nu\nu\000\000\nu\000\000\nu\000\000\nu\000\000\nu\nu\nu\nu\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nu\nu\nu\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nu\000\000\000\000\000\000\000\000\nu\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nu\000\000\000\000\000\000\000\000\000\000\000\000\nu\000\000\000\000\001\153\000\000\nu\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nu\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\nu\000\000\000\000\nu\000\000\000\000\001\153\000\000\000\000\000\000\001\153\000\000\001\153\001\153\000\000\000\000\nu\000\000\000\000\000\000\000\000\nu\001\153\nu\000\000\001\153\nu\001\153\ny\ny\ny\ny\000\000\ny\nu\ny\ny\nu\ny\000\000\ny\000\000\ny\000\000\ny\ny\ny\ny\001\153\000\000\000\000\000\000\nu\000\000\000\000\000\000\021\246\nu\000\000\000\000\000\000\ny\ny\ny\000\000\000\000\000\000\000\000\000\000\000\000\000\000\ny\000\000\000\000\000\000\000\000\ny\000\000\000\000\022R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\005\250\ny\001\153\000\000\000\000\000\000\001\153\000\000\ny\000R\000V\000f\000\170\ny\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\ny\001\022\001\153\001\030\0012\001:\001>\000\000\006\002\000\000\000\000\000\000\001\153\001\153\000\000\000\000\000\000\000\000\000\000\011\150\ny\001F\000\000\ny\000\000\000\000\000\000\000\000\004M\000\000\000\000\004M\000\000\000\000\004M\001N\ny\000\000\000\000\000\000\000\000\ny\000\000\ny\000\000\000\000\ny\000\000\000\000\004M\000\000\000\000\000\000\000\000\ny\001^\000\000\ny\004M\004M\000\000\000\000\004M\004M\004M\000\000\000\000\000\000\004M\001b\004M\000\000\ny\004R\004V\000\000\000\000\ny\004M\004M\000\000\000\000\004M\004M\004M\000\000\004M\004M\000\000\004M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004M\004M\000\000\000\000\000\000\000\000\004M\000\000\000\000\004M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004M\000\000\000\000\000\000\000\000\000\000\000\000\004b\004M\000\000\004M\000\000\004M\000R\007\190\007\198\000\170\000\000\000\174\000\000\008\n\008N\004M\008V\000\000\008f\000\000\008n\004M\008v\008\130\001:\008\138\000\000\004M\002v\000\000\004M\002\198\000\000\000\000\000\000\000\000\004M\000\000\000\000\022Z\008\146\022v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\130\000\000\002~\000\000\000\000\008\154\002\017\000\000\000\000\000\000\002\017\000\000\000\000\000\000\000\000\000\000\002\134\000\000\022\154\002\017\002\017\000\000\002\230\002\238\000\000\008\170\000\000\000\000\002\017\000\000\022\206\000\000\002\166\000\000\000\000\002\142\000\000\002\158\002\017\008\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\174\022\238\002\017\000\000\023F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\017\000\000\000\000\000\000\023^\000\000\000\000\000\000\000\000\023j\000\000\008\141\000\000\000\000\023\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023\166\000\000\000\000\024\134\002\182\000\000\000\000\002\017\002\017\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\000\000\024\146\000}\000\000\000\000\000}\024\170\002\017\000\000\000\000\002\017\002\017\002\017\002\017\000\000\000\000\000\000\000\000\000\000\002\017\002\017\000\000\002\246\002\190\002\017\002~\000\000\000\000\000\000\000}\000\000\000\000\000\000\000}\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000}\000}\000\000\000}\000}\000e\000\000\000\000\000e\000}\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002\174\000\000\000}\002\134\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000}\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\002\142\000\000\002\158\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000}\000}\000\000\000e\002\150\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000}\000\000\000\000\000}\000}\000}\000}\000\000\000\000\000\000\000\000\000\000\000}\000}\000\000\000}\002\190\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000\000\000\000\002\150\000\000\000\000\000\000\000]\000\000\000\000\000]\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000e\000e\000e\000\000\000\000\000\000\000\000\000\000\000e\000e\000]\000e\000e\000e\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000a\000\000\000\000\000a\000]\000\000\000\000\000\000\000]\000\000\000\000\002\142\000\000\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\000]\000\000\000]\000a\000\000\000\000\000a\000a\000\000\000a\000a\000\000\000\000\000]\000\000\000a\000\000\000\000\000\000\000a\000\000\000\000\002\142\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000a\002\150\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000]\000\000\000\000\000]\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000]\000]\000\000\000]\000]\000]\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000\000\000\000\002\150\000\000\000\000\000\000\000q\000\000\000\000\000q\000\000\000\000\000\000\000\000\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000\000\000\000\000\000\000a\000a\002~\000a\000a\000a\000q\000\000\000\000\000\000\000q\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000q\000q\000\000\000q\000q\000i\000\000\000\000\000i\000q\000\000\000\000\000\000\000q\000\000\000\000\002\142\000\000\002\158\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\174\000\000\000q\002\134\000\000\000\000\000i\000i\000\000\000i\000i\000\000\000\000\000q\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\142\000\000\002\158\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000q\000\000\000\000\000q\000q\000\000\000i\002\150\000i\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000q\000q\000\000\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000\000\000\000\002\150\000\000\000\000\000\000\000m\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000\000\000\000\000\000\000i\000i\002~\000i\000i\000i\000m\000\000\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000m\000m\000\000\000m\000m\000u\000\000\000\000\000u\000m\000\000\000\000\000\000\000m\000\000\000\000\002\142\000\000\002\158\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000\000\000\000\002\174\000\000\000m\002\134\000\000\000\000\000u\000u\000\000\000u\000u\000\000\000\000\000m\000\000\000u\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\002\174\002\150\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000u\000m\000\000\000\000\000m\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000m\000m\000\000\000m\000m\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000u\000u\000\000\000\000\002\150\000\000\000\000\000\000\002v\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\000\000\000\000\000\000u\000u\002~\000u\000u\000u\000\133\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\133\000\133\000\000\000\133\002\238\002v\000\000\000\000\000y\000\133\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002~\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\002\174\000\000\000\133\002\134\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\133\000\000\000y\000\000\000\000\000\000\002\166\000\000\000\000\002\142\000\000\002\158\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000\133\000\133\000\000\002\174\002\150\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\000\000\000\000\000\000\000\133\000\133\000\000\002\246\002\190\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\182\000\000\000\000\000y\000y\000\000\000\000\002\150\000\000\000\000\000\000\002v\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000y\000y\000y\000\000\000\000\000\000\000\000\000\000\000y\000y\002~\000y\002\190\000y\000\129\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\002\134\000\000\000\000\000\129\000\129\000\000\000\129\002\238\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\000\002\166\001\166\000\000\002\142\n\166\002\158\000\129\n\170\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\002\174\000\000\000\129\000\000\000\000\n\174\011\006\000\000\000\000\011n\011\134\011\138\000\000\000\129\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\142\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\002\182\000\000\000\000\000\129\000\129\000\000\000\000\002\150\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\129\000\000\000\n\000\129\000\129\000\129\000\129\000\000\000\000\000\000\000\000\n\242\000\129\000\129\000\000\000\129\002\190\000\129\000\000\006\025\000\000\011\146\001\166\011\174\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\000\000\n\246\000\000\000\000\000\000\000\000\000\000\n\250\000\000\000\000\000\000\001\178\000\000\012\162\000\000\000\000\n\254\000\000\000\000\000\000\n\174\011\006\002\"\000\000\011n\011\134\011\138\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\206\001\230\000\000\000\000\n\210\011\142\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\025\000\000\011\146\001\178\011\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\011\138\000\000\n\250\000\000\001\218\000\000\001\222\000\000\012\146\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\142\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\025\000\000\011\146\001\178\011\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\012^\000\000\n\250\000\000\001\218\000\000\001\222\000\000\005u\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\142\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\000\000\000\n\170\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\025\000\000\011\146\001\178\011\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\174\011\006\n\246\000\000\011n\011\134\012n\000\000\n\250\000\000\001\218\000\000\001\222\000\000\001\189\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\011\142\001\242\000\000\n\214\n\218\000\000\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008Z\005\233\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\n\242\000\000\000\000\005\233\000\000\005\233\n\137\n\137\006\025\000\000\n\137\000\000\011\174\005\233\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\n\246\000\000\000\000\005\233\000\000\000\000\n\250\000\000\000\000\005\233\000\000\000\000\001\205\000\000\000\000\n\254\000\000\000\000\000\000\000\000\005\233\002\"\000\000\n\137\000\000\005\233\000Z\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\226\000\000\000\000\000\000\000\000\000\000\n\137\000\000\005\233\000\000\000\000\005\233\0031\000\000\000j\0031\000r\000\000\000\130\0031\000\000\0031\000\000\011\234\005\233\000\138\0031\0031\000\000\005\233\005\233\005\233\000\000\005\233\005\233\000\000\005\233\011\242\000\000\000\000\000\000\000\000\005\233\0122\012:\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\018\000\146\0031\011\250\000\000\012\n\0031\005\233\000\000\000\000\000\000\005\233\005\233\n\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0031\000\000\000\000\000\000\012\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0031\000\162\000\181\000\000\000\000\000\000\000\000\000\000\0031\000\000\000\000\000\000\0031\0031\003-\000\000\000\182\003-\000\190\000\000\000\206\003-\0031\003-\000\000\011\234\000\000\000\214\003-\003-\000\000\012\"\000\000\0031\000\000\000\000\000\000\000\000\012\002\011\242\000\000\000\000\000\000\0031\000\000\000\181\000\181\000\000\0031\000\000\000\000\005]\000\000\000\000\000\000\012\018\000\222\003-\011\250\000\000\012\n\003-\000\000\000\000\000\000\000\000\012B\012*\000\000\000\000\000\000\000\000\001\137\000\000\000\000\001\137\000\000\003-\000\000\0031\000\000\012\026\0031\0031\000\000\000\000\0031\000\000\000\000\003-\000\238\0031\0031\000\000\000\000\001\137\0031\003-\000\000\001\137\000\000\003-\003-\001\137\000\000\000\000\000\000\000\000\000\000\001\137\000\000\003-\000\000\000\000\000\000\001\137\001\137\000\000\000\000\000\000\012\"\000\000\003-\000\000\000\000\001\137\000\000\012\002\001\137\000\000\001\137\001\137\003-\000\000\000\000\000\000\000\000\003-\000\000\000\000\000\181\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\001\137\000\000\000\181\012*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\000\000\003-\000\000\000\000\003-\003-\000\000\000\000\003-\000\000\000\000\000\000\000\000\003-\003-\000\000\000\000\000\000\003-\000\000\000\000\000\000\000\000\001\137\002N\000\000\001\137\001\137\000\000\000\000\001\137\000\000\000\000\000\000\001\161\000\000\000\000\001\161\000\000\000\000\000\000\000\000\000\000\001\137\000\000\000\000\001\137\001\137\000\000\001\137\000\000\000\000\000\000\000\000\003\n\001\137\001\137\001\161\001\137\001\137\001\137\001\161\000\000\000\000\000\000\001\161\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000\000\001\161\001\161\000\000\001\161\001\161\000\000\000\000\000\000\000\000\001\161\000\000\000\000\000\000\001\161\000\000\000\000\001\161\000\000\001\161\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\001\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\000\000\000R\000V\000f\000\170\007\186\000\174\nR\000\178\000\246\nV\000\254\000\000\001\014\025~\001\022\nZ\001\030\0012\001:\001>\n^\025\130\000\000\000\000\001\161\014&\000\000\001\161\000\000\000\000\000\000\001\161\000\000\000\000\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\161\001N\001\161\000\000\000\000\000\000\000\000\000\000\014.\001\161\001\161\000\000\001\161\001\161\001\161\000\000\000\000\001\166\000\000\000\000\001\170\001^\000\000\001\174\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\014\230\000\000\000\000\001b\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\198\001\202\000\000\001\210\n\134\n\162\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\011\158\001\234\001\238\001\242\000\000\001\246\001\250\000\n\001\254\000\000\000\000\000\000\004\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021*\000\000\000\000\002\002\001n\000\000\000\000\000\000\002\006\000\000\000\000\000\n\021.\006\017\n\138\000\000\000\000\000\000\000\000\023n\002\014\000\000\0212\006\017\0216\n\221\n\221\000\000\006\017\000\000\002\018\008\157\021:\000\000\000\000\000\000\000\000\021>\000\000\000\000\021F\000\000\002\022\000\000\021J\000\000\000\000\000\000\002\026\000\000\021N\008\157\000\000\008\157\000\000\000\000\000\000\002\030\000\000\000\000\000\000\024\254\023\030\002\"\n\221\000\000\021R\000\000\000\000\000\000\000\000\021*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021.\000\000\000\000\000\000\000\000\000\000\n\221\000\000\021V\000\000\0212\021Z\0216\000\000\000\000\000\000\000\000\n\177\000\000\000\000\021:\000\000\022\166\000\000\021^\021>\000\000\000\000\021F\021b\000\n\021f\021J\021j\021n\000\000\021r\000\000\021N\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\000\000\000\000\023\174\000\000\000\000\n\177\000\000\021R\000\000\000\000\000\000\t:\005\233\021~\000\000\000\000\000\000\021\130\021\134\n\221\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\000v\000\000\n\177\005\233\021V\005\233\005\233\021Z\005\233\000\000\005\233\005\233\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\021^\005\233\000\000\000\000\005\233\021b\000\n\021f\005\233\021j\021n\000\000\021r\000\000\005\233\000\000\000\000\000\000\021v\005\233\000\000\021z\t~\005\233\000\000\005\233\t\n\000\000\000\000\000\000\005\233\000Z\t\190\005\233\000\000\005\233\021~\000\000\000\000\005\233\021\130\021\134\n\177\001f\000\000\005\233\000\000\005\233\000Z\000\000\000\000\005\233\000\000\000\000\000\000\005\233\000\000\005\233\005\233\005\233\005\233\000\000\000\000\005\233\005\233\005\233\000\000\005\233\000\000\000\000\005\233\005\233\000\000\005\233\000\000\000\000\005\233\005\233\005\233\000\000\005\233\005\233\000\000\005\233\005\233\n\018\000\000\000\000\000\000\005\233\000Z\000\000\005\233\000\000\005\233\n>\000\000\000\000\000\000\005\233\000Z\000\000\000\000\000\000\005\233\000\000\000\000\005\233\000\000\000\000\000\000\005\233\005\233\000\000\005\233\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\000\000\000\000\005\233\000\000\000\000\005\233\005\233\005\233\005\233\005\233\000\000\005\233\005\233\000\000\005\233\005\233\000\000\005\233\005\233\005\233\005\233\005\233\005\233\005\233\005\233\000\000\000\000\000\000\014Z\000\000\005\233\014\170\000\000\005\233\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\005\233\000\000\000\000\014b\005\233\005\233\000\000\002!\000\000\000\000\000\000\002!\000\000\000\000\000\000\000\000\000\000\014j\000\000\000\000\002!\002!\000\000\014\186\014\194\001%\000\000\000\000\001%\002!\000\000\000\000\000\000\014\138\000\000\000\000\014r\000\000\014\130\002!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014b\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\000\000\014\146\000\000\002!\014j\000\000\000\000\001%\001%\000\000\001%\001%\000\000\000\000\002!\000\000\001%\000\000\000\000\000\000\014\138\000\000\000\000\014r\000\000\014\130\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\154\000\000\000\000\002!\000\000\000\000\014\146\014z\001%\000\000\000\000\003.\0036\000\170\000\000\000\174\000\000\003z\003\190\001%\003\198\000\000\003\214\002!\003\222\002!\003\230\003\242\000\000\003\250\000\000\000\000\002!\002!\000\000\014\202\014\162\002!\000\000\000\000\000\000\000\000\000\000\000\000\004\002\014\154\000\000\000\000\001%\000\000\000\000\000\000\014z\000\000\000\000\000\000\001\013\000\000\004\n\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\001%\001%\001\013\001%\014\162\001%\001\013\000\000\000\000\000\000\001\013\000\000\000\000\000\000\000\000\004\026\014j\000\000\000\000\001\013\001\013\000\000\001\013\001\013\001\005\000\000\000\000\001\005\001\013\000\000\000\000\000\000\001\013\000\000\000\000\014r\000\000\014\130\001\013\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\000\000\000\000\001\005\000\000\000\n\001\013\000\000\001\013\001\005\000\000\000\000\001\005\001\005\000\000\001\005\001\005\000\000\000\000\001\013\000\000\001\005\000\000\000\000\000\000\001\005\000\000\000\000\014r\000\000\001\005\001\005\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\013\000\000\000\000\001\013\000\000\000\000\001\005\014z\001\005\000\000\000\000\t\"\t*\000\170\000\000\000\174\000\000\tn\t\178\001\005\t\186\000\000\t\202\001\013\t\210\001\013\t\218\t\230\000\000\t\238\000\000\000\000\001\013\001\013\000\000\001\013\001\013\001\013\000\000\000\000\000\000\000\000\000\000\000\000\t\246\001\005\000\000\000\000\001\005\000\000\000\000\000\000\014z\000\000\000\000\000\000\001\t\000\000\t\254\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\005\000\000\001\005\000\000\000\000\000\000\000\000\000\000\000\000\001\005\001\005\001\t\001\005\001\005\001\005\001\t\000\000\000\000\000\000\001\t\000\000\000\000\000\000\000\000\n\014\001\t\000\000\000\000\001\t\001\t\000\000\001\t\001\t\001\025\000\000\000\000\001\025\001\t\000\000\000\000\000\000\001\t\000\000\000\000\014r\000\000\001\t\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014b\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\001\t\000\000\001\t\014j\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\000\000\001\t\000\000\001\025\000\000\000\000\000\000\001\025\000\000\000\000\014r\000\000\014\130\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\t\000\000\000\000\001\t\000\000\000\000\014\146\014z\001\025\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\000\000\001\t\000\000\001\t\000\000\000\000\000\000\000\000\000\000\000\000\001\t\001\t\000\000\001\t\001\t\001\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\000\000\001\025\000\000\000\000\000\000\014z\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\000\001\025\001\025\014b\001\025\001\025\001\025\001\017\000\000\000\000\000\000\001\017\000\000\000\000\000\000\000\000\000\000\014j\000\000\000\000\001\017\001\017\000\000\001\017\001\017\001\021\000\000\000\000\001\021\001\017\000\000\000\000\000\000\001\017\000\000\000\000\014r\000\000\014\130\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014b\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\001\017\000\000\001\017\014j\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\001\017\000\000\001\021\000\000\000\000\000\000\001\021\000\000\000\000\014r\000\000\014\130\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\017\000\000\000\000\001\017\000\000\000\000\014\146\014z\001\021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\017\000\000\001\017\000\000\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\001\017\001\017\001\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\000\000\014z\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\001\021\000\000\000\000\000\000\000\000\000\000\000\000\001\021\001\021\014b\001\021\001\021\001\021\001\029\000\000\000\000\000\000\001\029\000\000\000\000\000\000\000\000\000\000\014j\000\000\000\000\001\029\001\029\000\000\001\029\001\029\014Z\000\000\000\000\001-\001\029\000\000\000\000\000\000\014\138\000\000\000\000\014r\000\000\014\130\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014b\000\000\000\000\000\000\001-\000\000\000\000\000\000\001-\000\000\000\000\014\146\000\000\001\029\014j\000\000\000\000\001-\001-\000\000\001-\014\194\000\000\000\000\001\029\000\000\001-\000\000\000\000\000\000\014\138\000\000\000\000\014r\000\000\014\130\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\154\000\000\000\000\001\029\000\000\000\000\014\146\014z\001-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\001\029\001\029\001\029\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\154\000\000\000\000\001-\000\000\000\000\000\000\014z\000\000\000\000\000\000\014Z\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001-\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\000\001-\001-\014b\014\202\014\162\001-\001!\000\000\000\000\000\000\001!\000\000\000\000\000\000\000\000\000\000\014j\000\000\000\000\001!\001!\000\000\001!\001!\014Z\000\000\000\000\001)\001!\000\000\000\000\000\000\014\138\000\000\000\000\014r\000\000\014\130\001!\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014b\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\000\000\014\146\000\000\001!\014j\000\000\000\000\001)\001)\000\000\001)\014\194\000\000\000\000\001!\000\000\001)\000\000\000\000\000\000\014\138\000\000\000\000\014r\000\000\014\130\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\154\000\000\000\000\001!\000\000\000\000\014\146\014z\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001)\000\000\000\000\000\000\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\000\001!\001!\000\000\001!\014\162\001!\000\000\000\000\000\000\000\000\000\000\001\166\000\000\014\154\001\170\000\000\001)\001\174\000\000\000\000\014z\000\000\000\000\000\000\000\000\000\000\008\157\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\001)\000\000\001)\000\000\000\000\001\198\001\202\000\000\001\210\001)\001)\000\000\001)\014\162\001)\001\218\000\000\001\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\226\001\230\000\000\000\000\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\018\130\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\002\014\000\000\000\000\000\000\000\000\001\198\001\202\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\002\030\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\002\014\000\000\000\000\000\000\000\000\001\198\0076\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\002\030\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\001\170\000\000\000\000\001\174\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\002\014\000\000\000\000\000\000\000\000\001\198\002\n\000\000\001\210\000\000\002\018\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\002\022\000\000\000\000\001\226\001\230\000\000\002\026\001\234\001\238\001\242\000\000\001\246\001\250\000\000\001\254\002\030\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\030\000\000\002\002\000\000\000\000\000\000\000\000\002\006\000\000\004E\000\n\000\000\004E\000\000\000\000\004E\000\000\000\000\000\000\002\014\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\018\004E\000\000\000\000\004E\000\000\000\000\000\000\000\000\000\000\004E\004E\002\022\004E\000\000\000\000\000\000\000\000\002\026\000\000\004E\000\000\004E\000\000\000\000\000\000\000\000\002\030\000\000\000\000\004E\004E\000\000\002\"\004E\004E\004E\004\245\004E\004E\004\245\004E\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004E\000\000\004\245\000\000\000\000\004E\000\000\000\000\004E\004\245\004\245\000\000\000\000\000\000\000\000\000\000\004\245\004E\000\000\000\000\000\000\000\000\004\245\004\245\021*\000\000\004\245\000\000\000\000\004\245\000\000\000\000\004\245\000\000\000\000\004\245\021.\004\245\004\245\004E\000\000\000\000\000\000\000\000\000\000\004E\0212\000\000\0216\000\000\000\000\000\000\000\000\000\000\004E\000\000\021:\000\000\004\245\000\000\004E\021>\000\000\000\000\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\000\000\000\000\000\000\004\245\000\000\000\000\000\000\000\000\000\000\000\000\022\162\000\000\000\000\000\000\000\000\021R\000\000\000\000\000\000\000\000\000\000\000\000\004\245\004\245\000\000\000\000\005\017\004\245\000\000\004\245\000\000\000\000\005\233\000\000\000\000\005\233\000\194\004\245\n\177\005\233\021V\005\233\004\245\021Z\000\000\004\245\005\233\005\233\000\000\000\000\000\000\000\000\000\000\004\245\000\000\000\000\021^\004\245\004\245\000\000\000\000\021b\000\n\021f\000\000\021j\021n\000\000\021r\005\233\000\000\000\000\005\233\001\002\021v\005\233\005\233\021z\005\233\005\233\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021~\000\000\000\000\005\233\021\130\021\134\n\177\004\030\000\000\000\000\000\000\000\000\000Z\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\000\000\000\000\000\000\004\242\000\000\000\000\000\000\005\233\000Z\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\005\233\000\000\005\233\000\000\000\000\005\233\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\005\233\000\000\005\233\005\233\001\166\005\233\005\233\001\186\000\000\000\000\001\190\005\233\005\233\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\001\194\001\214\005\233\001\210\000\000\005\233\005\233\000\000\000\000\005\233\001\218\000\000\001\222\000\000\005\233\005\233\000\000\000\000\000\000\005\233\005j\001\230\000\000\000\000\005n\001\238\001\242\000\000\005r\005v\000\000\005z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\001\186\000\000\000\000\001\190\000\000\005~\000\000\000\000\000\000\000\000\005\130\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\001\182\005\138\000\000\000\000\000\000\000\000\001\194\007\030\000\000\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\005\142\000\000\000\000\005j\001\230\000\000\005\146\005n\001\238\001\242\000\000\005r\005v\000\000\005z\005\150\000\000\000\000\000\000\000\000\005\233\002\"\000\000\005\233\003F\000\000\005\233\005\233\000\000\005\233\003\138\005~\000\000\005\233\005\233\005\233\005\130\000\000\000\000\000\n\005\233\005\233\000\000\005\233\003\202\000\000\000\000\005\233\005\138\005\233\000\000\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\005\233\000\000\005\233\005\142\000\000\000\000\005\233\000\000\000\000\005\146\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\005\150\000\000\005\233\000\000\005\233\000\000\002\"\000Z\007f\000\000\005\233\000\000\000\000\000Z\000\000\000\000\005\233\000\000\005\233\000\000\000\000\000\000\005\233\005\233\005\233\000\000\000\000\000Z\005\233\005\233\005\233\000\000\005\233\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\005\233\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\005\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\233\000\000\000\000\005\233\005\233\001\166\005\233\005\233\001\186\005\233\005\233\001\190\005\233\005\233\000\000\000\000\000\000\005\233\005\233\005\233\005\233\000\000\000\000\005\233\005\233\000\000\001\178\005\233\0149\001\182\000\000\0149\005\233\005\233\000\000\001\194\005\134\005\233\001\210\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\0149\000\000\000\000\000\000\005j\001\230\000\000\005\170\005n\001\238\001\242\000\157\005r\005v\0149\005z\000\000\000\000\0149\000\000\0149\0149\000\000\000\000\005\178\000\000\000\000\005\190\000\000\000\000\0149\000\000\005~\0149\000\157\0149\000\000\005\130\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\005\138\000\000\000\000\000\000\000\000\000\157\000\157\0149\001\166\000\000\000\000\n\166\000\000\000\000\n\170\000\157\000\000\000\000\011\250\000\000\012\n\000\000\005\142\000\000\000\000\000\000\000\000\005\202\005\146\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\150\n\174\n\186\000\000\000\157\000\000\002\"\000\000\000\000\0149\0149\001\218\0149\001\222\005\206\000\000\0149\000\000\000\000\000\000\000\000\n\206\001\230\000\000\005\214\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\000\000\0149\000\000\000\000\000\149\000\000\000\000\0149\000\000\000\000\000\157\0149\0149\000\000\000\000\n\226\n\230\012\002\000\000\000\000\000\000\n\234\000\000\001\166\000\n\000\000\n\166\000\149\000\000\n\170\000\157\000\000\000\000\n\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\149\000\000\000\000\001\178\000\157\000\157\000\149\000\149\000\000\000\000\000\000\000\000\n\174\n\238\n\246\000\000\000\149\000\000\000\000\011\250\n\250\000\149\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\254\000\000\000\000\n\206\001\230\000\000\002\"\n\210\001\238\001\242\000\000\n\214\n\218\000\149\n\222\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\166\000\000\000\000\n\166\000\000\000\000\n\170\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\149\n\174\011\006\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\246\000\000\000\149\n\206\001\230\000\000\n\250\n\210\001\238\001\242\000\000\n\214\n\218\000\000\n\222\n\254\000\000\000\149\000\149\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013v\000\000\000\000\013z\n\226\n\230\000\000\000\000\000\000\000\000\n\234\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\n\242\000\000\000\000\000\000\000\000\013~\014\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\n\246\000\000\000\000\013\150\001\230\000\000\n\250\013\154\001\238\001\242\000\000\013\158\013\162\000\000\013\166\n\254\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013v\000\000\000\000\013z\n\226\013\170\000\000\000\000\000\000\000\000\013\174\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\013\182\000\000\000\000\000\000\000\000\013~\013\130\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\013\186\000\000\000\000\013\150\001\230\000\000\013\190\013\154\001\238\001\242\000\000\013\158\013\162\000\000\013\166\013\194\000\000\000\000\000\000\000\000\000\000\002\"\000\000\001\166\000\000\000\000\013v\000\000\000\000\013z\n\226\013\170\000\000\000\000\000\000\000\000\013\174\000\000\000\000\000\n\000\000\000\000\000\000\000\000\001\178\000\000\000\000\000\000\013\182\000\000\000\000\000\000\000\000\013~\013\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\218\000\000\001\222\000\000\000\000\000\000\000\000\013\186\008\149\000\000\013\150\001\230\000\000\013\190\013\154\001\238\001\242\000\000\013\158\013\162\008\149\013\166\013\194\000\000\000\000\000\000\000\000\000\000\002\"\000\000\008\149\000\000\008\149\000\000\000\000\000\000\000\000\n\226\013\170\000\000\008\149\000\000\000\000\013\174\000\000\008\149\000\n\023\170\008\149\000\000\000\000\000\000\008\149\021\254\000\000\013\182\000\000\000\000\008\149\021.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\0216\000\000\000\000\008\149\000\000\000\000\013\186\000\000\021:\000\000\000\000\000\000\013\190\021>\000\000\000\000\021F\000\000\000\000\000\000\021J\013\194\000\000\000\000\000\000\000\000\021N\002\"\008\149\000\000\000\000\008\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021R\023\202\008\149\000\000\000\000\000\000\000\000\008\149\008\149\008\149\000\000\008\149\008\149\000\000\008\149\000\000\000\000\000\000\000\000\000\000\008\149\000\000\000\000\008\149\000\000\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\149\000\000\000\000\021^\008\149\008\149\000\000\000\000\021b\000\n\021f\000\000\021j\021n\008\001\021r\000\000\000\000\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\008\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\001\000\000\008\001\021~\000\000\000\000\000\000\021\130\021\134\000\000\008\001\000\000\000\000\000\000\000\000\008\001\000\000\022\134\008\001\000\000\000\000\000\000\008\001\000\000\000\000\000\000\000\000\000\000\008\001\021.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\0216\000\000\000\000\008\001\023\202\000\000\000\000\000\000\021:\000\000\000\000\000\000\000\000\021>\000\000\000\000\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\000\000\008\001\000\000\000\000\008\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021R\000\000\008\001\000\000\000\000\000\000\000\000\008\001\008\001\008\001\000\000\008\001\008\001\000\000\008\001\000\000\000\000\000\000\000\000\000\000\008\001\000\000\000\000\008\001\000\000\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\001\000\000\000\000\021^\008\001\008\001\000\000\000\000\021b\000\n\021f\000\000\021j\021n\022\158\021r\000\000\000\000\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\021.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\0216\021~\000\000\000\000\000\000\021\130\021\134\000\000\021:\000\000\000\000\000\000\000\000\021>\000\000\021*\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\021.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\0216\000\000\000\000\021R\000\000\000\000\000\000\000\000\021:\000\000\000\000\000\000\000\000\021>\000\000\000\000\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\000\000\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023J\000\000\021^\000\000\000\000\000\000\000\000\021b\000\n\021f\000\000\021j\021n\000\000\021r\000\000\000\000\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021~\000\000\000\000\021^\021\130\021\134\000\000\000\000\021b\000\n\021f\000\000\021j\021n\021*\021r\000\000\000\000\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\021.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\0216\021~\000\000\000\000\000\000\021\130\021\134\000\000\021:\000\000\000\000\000\000\000\000\021>\000\000\021*\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\021.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0212\000\000\0216\000\000\000\000\024\150\000\000\000\000\000\000\000\000\021:\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021F\000\000\000\000\000\000\021J\000\000\000\000\000\000\000\000\000\000\021N\000\000\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021R\000\000\021^\000\000\000\000\000\000\000\000\021b\000\n\021f\000\000\021j\021n\000\000\021r\000\000\000\000\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\021V\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021~\000\000\000\000\021^\021\130\021\134\000\000\000\000\021b\024\182\021f\000\000\021j\021n\000\000\021r\000\000\000\000\000\000\000\000\000\000\021v\000\000\000\000\021z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021~\000\000\000\000\000\000\021\130\021\134\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\001F\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000R\000V\000f\000\170\001N\000\174\000\000\000\178\000\246\000\000\000\254\001F\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\001^\001N\000\000\000\000\000\000\000\000\001j\000\000\000\000\000\000\001F\000\000\000\000\000\000\001b\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\000\000\001N\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001^\000\000\000\000\000\000\000\000\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\n\000\000\001b\000\000\000\000\000\000\004R\004V\000R\000V\000f\000\170\000\000\000\174\006R\000\178\000\246\006\162\000\254\001n\001\014\000\n\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\001n\000\000\001F\012\137\000\n\000\000\000\000\000\000\000\000\000\000\000\000\006b\000\000\000\000\000\000\002\025\001N\006\178\006\186\000\000\000\000\000\000\000\000\004Z\0029\000\000\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\000\001^\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003]\000\000\000\000\0021\000\000\000\000\001b\000\000\000\000\006\138\026:\004V\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\006\146\000\000\000\000\002\025\000\000\000\000\000\000\006r\006Z\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\000\000\026>\000\000\000\000\006b\000\000\000\000\002\025\000\237\000\000\000\237\000\237\000\213\000\000\001^\000\213\000\000\006\194\006\154\000\000\006\130\000\000\003U\006j\000\000\006z\000\000\000\000\001b\000\000\000\000\000\000\026:\004V\000\000\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006\138\000\000\000\000\006b\000\000\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\000\205\000\000\000\000\000\205\000\000\000\000\000\213\000\000\000\000\006j\000\000\006z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\205\000\000\000\000\006\146\000\000\000\000\000\237\026F\000\000\000\213\006r\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\205\000\000\000\205\000\205\000\209\000\000\000\000\000\209\000\000\000\000\000\237\000\000\000\205\000\000\000\000\006j\000\000\000\205\000\000\000\000\000\237\006\154\000\000\000\000\000\000\000\000\000\000\000\209\000\000\000\000\000\213\000\000\000\000\000\213\000\000\000\000\000\000\006r\000\205\000\000\000\000\000\209\000\000\000\000\000\000\000\209\000\000\000\209\000\209\000\000\000\000\000\225\000\000\000\000\000\225\000\213\000\000\000\209\000\000\000\000\006j\000\000\000\209\000\000\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\205\000\000\000\000\000\205\000\000\000\000\000\209\006r\000\000\000\000\000\000\006b\000\000\000\000\000\000\000\225\000\000\000\225\000\225\000\217\000\000\000\000\000\217\000\000\000\000\000\205\000\000\000\225\000\000\000\000\006j\000\000\006z\000\000\000\000\000\205\000\205\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\209\000\000\000\000\000\209\000\000\000\000\000\000\006r\006\138\000\000\000\000\006b\000\000\000\000\000\000\000\217\000\000\000\217\000\217\000\000\000\000\000\221\000\000\000\000\000\221\000\209\000\000\000\217\000\000\000\000\006j\000\000\006z\000\000\000\000\000\209\000\209\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\225\000\000\000\000\000\225\000\000\000\000\000\217\006r\000\000\000\000\000\000\006b\000\000\000\000\000\000\000\221\000\000\000\221\000\221\000\229\000\000\000\000\000\229\000\000\000\000\000\225\000\000\000\221\000\000\000\000\006j\000\000\006z\000\000\000\000\000\225\000\225\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\217\000\000\000\000\000\217\000\000\000\000\000\000\006r\006\138\000\000\000\000\006b\000\000\000\000\000\000\000\229\000\000\000\229\000\229\000\000\000\000\006R\000\000\000\000\000\245\000\217\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\217\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\000\006\138\006r\000\000\000\000\000\000\006b\000\000\000\000\000\000\000\245\000\000\000\245\006\186\006R\000\000\000\000\000\233\000\000\000\000\000\221\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\006\146\000\000\000\000\000\229\000\000\000\000\000\000\006r\006\138\000\000\000\000\006b\000\000\000\000\000\000\000\233\000\000\000\233\000\233\000\000\000\000\006R\000\000\000\000\000\241\000\229\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006Z\000\000\000\000\006\146\000\000\000\000\000\245\000\000\000\000\006\138\006r\000\000\000\000\000\000\006b\000\000\000\000\000\000\000\241\000\000\000\241\006\186\000\153\000\000\000\000\000\000\000\000\000\000\000\245\000\000\006\130\000\000\000\000\006j\000\000\006z\000\000\000\000\006\194\006\154\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\006\146\000\000\000\000\000\233\000\000\000\169\000\000\006r\006\138\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\161\000\000\000\000\000\233\000\000\000\153\011\234\000\000\011\250\000\000\000\153\000\000\000\000\000\233\006\154\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\000\011\234\000\000\006\146\000\169\000\169\000\241\000\000\000\000\000\153\006r\000\000\000\000\000\000\000\169\011\242\000\000\011\250\000\000\012\n\000\000\000\161\000\161\000\000\000\000\000\000\000\000\000\000\000\241\000\165\000\000\000\161\000\000\000\000\011\250\000\000\012\n\000\000\000\241\006\154\012\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\173\011\234\000\000\000\000\012\002\000\000\000\161\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\242\000\000\000\153\011\226\000\000\000\000\000\165\000\165\011\234\000\000\000\000\000\000\000\000\000\169\000\000\000\000\000\165\000\153\000\153\011\250\012\002\012\n\011\242\000\000\000\000\000\000\011\234\000\000\000\173\000\173\000\161\000\000\000\000\000\169\011\226\000\000\000\000\012\002\012\018\000\000\011\242\011\250\012\026\012\n\000\000\000\000\000\189\012:\000\169\000\169\000\161\000\000\000\000\000\000\000\000\000\000\012\018\011\234\000\000\011\250\000\000\012\n\000\000\000\000\012\026\000\161\000\161\000\000\000\000\000\000\000\000\011\242\000\000\000\000\000\000\000\000\000\000\000\177\000\177\000\000\000\000\000\165\012\026\000\000\000\000\000\000\000\000\012\018\012\002\011\226\011\250\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\165\000\000\012\"\000\000\000\000\000\000\000\000\000\000\000\000\012\002\000\000\011\234\012\026\000\000\000\000\000\165\000\165\000\000\000\000\000\000\012\"\000\000\000\173\000\000\000\000\011\242\000\000\012\002\000\000\000\000\000\000\000\185\012:\000\000\000\000\000\000\000\000\000\173\000\173\000\000\000\189\012\018\000\000\000\000\011\250\000\000\012\n\000\000\000\000\000\000\000\000\012\"\000\000\000\000\000\000\012B\012*\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\026\000\000\000\000\000\000\000\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\012*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\"\000\000\000\000\000\000\000\000\000\000\000\000\012\002\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\012*")) + ((16, "\000\240\000\193\000\000\000\000\n\228\000\193\000\000\000\000\000'\000\000\000\000\000\000\001)\000\000\000\000\000\000\000\240\000\000\000u\027<\000\000\019x\019x\000\000\000\000/\002\019x\000\000@\218\019x\000\000\000\000\019x\000\000\019x\000\000\000\179\000g\019x\000\000\019x\000\000\000\000\000\000/\204\019x\000\000A,\019x\000\000\000\000\019x\000\000\019x\000\000\000u\000\005\019x\000\000\019x\000\000\019x\000\000A`\019x\000\000\000\000\019x\000\000\019x\000\000\000y\000\000\000\000\019x\000\000\019x\000\000\000\000\019x\000\000\019x\000\000\000\130\000\240\019x\000\000\027<@\218L\232\000\000\000\000L>\001\1840\220\001@L\232\000\000\001\004\019x\000\000L\232\000\000\000y\000x0\194\000\000\000\000>\174\000\000BH\000\000B\1600\1940\194\020\230\020\230BH\020\230\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000?,0\194\000\000\000\000?,\000\000?,\000\0000\194\000\000\000\000\000\000\025$\000y\000\000\020\230\000\000-\0220\194\031J0\194\000\000\000\000\000\000\000\000\000\000\000\000 \1500\194!\1700\194\"\0120\194# 0\194\000\0000\194\000\0000\194#\1300\194$\1500\194$\2480\194&\0120\194&n0\194'\1300\194\001J0\194\000\000\000\000\000\000\000\000\000\0000\194'\2280\194(\2480\194)Z0\194\000\000\000\0000\194\000\000\000\000\002\n\000\000\000\000\000\000\000\000\018\182\019x\000\000\001\002\019x\000\000C\\\019x\000\000\000\000\019x\000\000\019x\000\000\002\160\002\240\019x\000\000\019x\000\000\001\244\019x\000\000Ch\019x\000\000\000\000\019x\000\000\019x\000\000\003\148\004\n\019x\000\000\019x\000\000\019x\000\000Cx\019x\000\000\000\000\019x\000\000\019x\000\000\000y\019x\000\000\019x\000\000\019x\000\000\019x\000\000\003\242\004V\019x\000\000A,L\232\004\002\019x\000\000N\182M0\000\000\002\186\005J\000y\004\166\005rN\182\000\000\000\000\000\199\028\014\000\000\000\000\000\000\000\000\001`\005v\000\\\005\252N\182\001<\029|\000\000\000\000\005B\000\000\005v\006JN\182\005\166\000\000\000\000\000\000\000\199\000\000\005\172\006\160\000\000\006\162\000\000\018\182\001JL\232\005\198\019x\000\000A`L\232\006\002\019x\000\000\000\000\000y\006\250\000\000\000\000\000\000\001\130\020\230\000\0000\194\006\024\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\006\"\000\000\000\000\006(\000\000\0062BH\000\000\000\000\000\000\000\000\000\000\000\000D\1340\194\000\000D\134\000\000D\134BH\000\000\000\000E\028\000y\000\000\020\230\0066\000\0000\194\006:\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\2140\194\000\0000\194\000\000\000\000\006@\000\000\000\000?\170\007\0000\194\006\202\000\000\000\000BH\000\000\000\000\000\000\000\000\000\000\000\0004JBH5\190BH72BH8\166BH\000\000BH\000\000BHOFBHPNBHP^BHP\198BHQrBHQ\1780\194\006\130BH\000\000BHQ\242BHR2BHRr\006\\\000\000\006j\000\000\000\0210\194\000\000\000\021\000\000\000\000\000\017\027<\000\000\000\017\000\000\000\000\006j0\194\000\000\006t\000\000\020\230\006~\000\000\000\000\007R\000\000\020\230\006\130\000\000\000\000\006\134\000\000\000\000\000x\000\000\007x\000\000C\\L\232\006\142\019x\000\000\000\000\007 \000\000\006\158\019x\000\000\000\000\000\\\027<\000\000\027<\000\000\006\144\000\000\000\\\000\000\017&\028V\019N\000\000\003\154\019N\000\000\019N\019N\000\000\000\000\019N\000\000\019N\000\000\006\212\007\002\019N\000\000\019N\000\000\006\186\019N\000\000\019t\019N\000\000\000\000\019N\000\000\019N\000\000\006\216\007\006\019N\000\000\019N\000\000\019N\000\000\019x\019N\000\000\000\000\019N\000\000\019N\000\000\000y\019N\000\000\019N\000\000\019N\000\000\019N\000\000\006\220\007\n\019N\000\000\027<\006\186\000\000\019bL\232\006\182\019N\000\000\000\000\0002\000\000\000r\0002\000\000\000\000\000\000\007\168\000\000\004&L\232\006\190\019N\000\000\019xL\232\006\200\019N\000\000\000\000!L\019N\000\000\006\240\019N\000\000\b\0200\194\000\000\007\232\000\000\000\000\000y\000\000\026P\007\156*\200\000\000\007\152*\200\000\000\000\190\000\000\000\000\021dF\1560\"F\156;\004F\156;\222F\156\000\000F\156\000\000F\156C\244F\156J\208F\156N\178F\156R\242F\156S`F\156S\132F\156S\148F\156T\024F\156T|\000\000\007x+\220\000\000,f,f\007z,f-d,f\000\000\007~,f\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007r\000\000\000\000\007t\000\000\bd\000\000\000y\000\000\001J\bf\000\000\000\246\b6\000y\007\134\bPN\182\007\154\002<\000\0000\194\b\130\000\000\006.\007\218\bdN\182\007\160\b\142\000\000\002\0240\194\b\148\000\000\b\150\000\000\018\182\000y\004@0\194\b\152\000\000\b\154\000\000\000y\004H0\194\b\156\000\000\b\162\000\000\002\166\007\236\007$\000\000F\244G~\020\230\007\196\000\000\007\198G~\000\000\000\000\000\000\000\000\000\000\000\000G\2140\194\000\000G\214\000\000G\214G~\000\000\000\000\028\212\000y\000\000\020\230\007\200\000\0000\194\007\210\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000.d0\194\000\0000\194\000\000\007\218\000\000\000\021\000\000\000\000\000\000\000\000\000\0001\194G~2\"G~36G~3\150G~\000\000G~\000\000G~4\170G~5\nG~6\030G~6~G~7\146G~7\2420\194\b\004G~\000\000G~9\006G~9fG~:z\020\230\007\220\000\000\000\000=Z\000\000\b\210\000\000\001l\b\1680\194\bn\000\000\b\1780\194\b~\000\000\002\156\000\000\007$\007$\001l\000\000\001l\000\000\017&\007$\007$\000\000\000\000\000\000\000\000\000\000\000\000\b\2000\194\b\014\022\234\023\194\000y\b\246\000\000\b\216=\216\b\250=\216\b\254=Z\b\026\022\234\022\234\000y\002\228\001J\000\000\000\000\000\000\002\228\000\000\0030\000y\000\000\000\000\b\028\000\000\000\000\000\000\t\004\000\000\t\006\000\000\000\000\t@\b\2340\194\b&\t\014\000\000\b\246\020\230\b2\022\234\000\000\000\000\bf\000\000\000\021\000\000\005\182\000\000\000\000\001l\000\000\b\190\000\000\012\220\003\028\000\000\012\220\000\000\000\000\026P\000\000\003\028\000\000\000\000\n\000\000\000\012\220\000\000\t\012\020\230\bH\t2\000\000\0002\000\000\t\b\000y\bX\t N\182\b\\\004\b\000\0000\194\tD\000\000\t*N\182\bh\tP\000\000\005\0260\194\tT\000\000\tV\000\000\018\182\000y\005\1440\194\tX\000\000\t^\000\000\000\000\000\000\n\000\000\000\000\000\003\028\000\000\007$\000\000\001\194\000\000\000\000\002l\023\194\000\000\002l\000\000\000\000\b~\000\000\000\021\000\003\022\234\000\000\004H\000Q\004H\000\000\002\030\000\000\007$\000\000\007$\000\000\000\000\000\000\bx\000\000\000\000\b\132\000\000\002\134\005\182\002\208\004H\000\000\000\000\000\000\007\188\000\000\007$\000\000\002\134\000\000\000\000\005\148\000Q\017&\000\000\002\030\000\000\b\146\017&\000\000\000\000\b\146\000\000\000\000\b\132\000\000\000\000\b\138\000\000\003@\007$\000\000\003@\000\000\000\000\t\b\000\000\003\028\000\000\007$\000\000\000\000\000\000\018\136>V\000\000\tt\000\000\018\136\000\000\tv\000\000\tx\000\000\028\014\000y\004\170\000\0000\194\t|\000\000\003\006\tL\000y\b\156\tfN\182\b\162\004\252\000\0000\194\t\140\000\000\005\000\000\0000\194\t\142\000\000\018\182\000y\005\014\000\0000\194\t\174\000\000\004&\018\136\000\000\026P\005v\000\0000\194\t\190\000\000\000\000\000\000\000\250\000\000\t\160\020\230\b\220\t\196\000\000\004t\000\000\t\148\000y\b\228\t\172N\182\b\232\005\154\000\0000\194\t\208\000\000\006l\000\0000\194\t\212\000\000\018\182\000y\006\144\000\0000\194\t\214\000\000\004&\000\000\000\000\b\250\000\000\000\250\005\234\t|\000\000\000\000\000\000\t\128\000\000\005\028\002\156\000\000\017&\t\214\000\000\000\0000\194\t2\007$\000\000\t\004\000\000\002\166\000\0000\220\000\000\000\000\004B\017&\000\000\017&\000\000\b\242\000\000\004B\000\0000\194\004D0\194\000\0000\194\000\000\b\244\000\000\004D\000\0000\194\004D\b\248\000\000\022\234\004\190\022\234\000\000\022\234\000\000\b\252\000\000\004\190\000\0000\194\004D\b\254\000\0000\220\005\2340\220\000\0000\220\000\000\t\000\000\000\005\234\000\0000\194\004D\t\002\000\000\000\000\025$\000\000\000\000\tt:\250\000\000\000\000\000\000\000\000\000\000\tH\004H\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\206:\250\000\000\000v\000~\000\000\tJ\000\193\000\000\000\000\000\000\002\176\000~\000\000\000\000\000\000\000\000\t\168\000\000\000\000\000\000\000\000\028\212\030B\000\000Hp\000\000:\250\000\000\001~:\250\000\000\003H\004`\004`\000\000\000\146\004`\000\000\t\"\000\000\000\000\000\000\000\000\t\174\000\000\030\192\000\000 @:\250\000\000\000}:\250\000\000\t\178\000\000:\250\t\180\000\000I\216;\192\t\182\000\000\t\184\000\000J\138@^:\250\000\000\000\000\t8:\250\t\200\000\000\t\202\000\000\t\204\000\000\027<\000\000\004\204\027<\000\000\tD\019N\000\000\002\022:\250\000\000\002\206:\250\000\000\000\020\nN\000\000\nR\000\000:\250:\250\tT\000\000\000\000\000\000\000\000\000\000\000\000\t\224\000\000J\226:\250\t\226\000\000\t\234\000\000:\250\t\242\000\000:\250\t\152\000\193\000\000\000\000\004\026:\250\000\000\000\020\000\000\n\000\000\000:\250\n\002\000\000:\250\n\004\000\000H\200;\192:\250\t\130:\250\n\012\000\000\n\014\000\000Iz\000\000\000\000\005\200:\250\000\000\005\148\006\012\004`\t\134\000\000\000\000\001\212\001\212\000\000\000\000\000\000\004\222\001\212\000\000\t\136\000\000\000\000\000\000\000\000\000\000\000\000:\250\000\000\006\024:\250\000\000\000\003\004(\000\193\t\138\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\022\000\000\n\024\000\000:\250\n\026\000\000K\148:\250\n\028\000\000\n\"\000\000:\250\n$\000\000\022H\t\210Ml\019b\000\000:\250\n2\000\000\n6\000\000\n\006\022H:\250\n:\000\000:\250\n<\000\000\n>\000\000:\250\t\188:\250\nF\000\000\nH\000\000\000\193\t\180\000\000\000\000\025$\000\000\000\000\002\142\n\166\000\000\000\000\000\216\000\000\000\000\000\0000\194\000\000\000\000\000\000\002\218\000\000\002\198\000\000\000\000\000\000\004H0\2200\2200\220\000\000\000\246\000\246\000\246\000\246\000\000\000\000\000\000\000\000\000\000\000\000\001l\017&\n\156\014J\001R\000\000\000\000\002\166\000\000\n\000\000\000*\200\t\198\000\000\001l\017&\t\208\015\184\000\000\001l\014J\000\000\000\000\000\0000\220\000\246\000\000\000\000\000\000\n \001\212\n\158N\224\000\000\004\232P:\000\000\000\000\000\000\004&\n\144\000y\000\000\004\232\000\000\006\nN\224\000\000\000\000\t\222\n\158\007$\t\224\000\000\002\166\000\000\n\000\000\000/n\003\174\000\000\000\000\n\144\000\000\000\000\002\142\000\000\004\138\000\000\000\000\000\0000\194\000\000\002\218\000\000\004\174\000\000\000\000\000\000\005\182\000\000\011n\002\192\011n\000\000\007$\011n\000\000\0048\000\000\007$\000\000\007$\000\000\007$\000\000\t\138\000\000\000\000\000\000\000\000\000\000\007$\000\000\0048\000\000\007$\000\000S\022\000\000\000\000\006\142\n\022\000\193\000\200\n\186\004@\000\000\004@\n\228\000\000\n\230\000\000\n\232\000\000\000\000\005\162\004@\007\206\004@\000\000\000\000\002\b\000\200\t\234\000\000\t\236\000\000\n*\000\193\000\200\t\240\000\000\000\192\n\244\000\000\004\218\006R\011\006\005l\011\006\000\000\000\000\003l\000\193\000\000\000\227\000\000\000\000\001\242\000\000\t\248\000\000\000\000\000\000\n8\000\193\000\200\n\002\000\000\000\000\000\192\004\218\006R\003l\000\227\001\242\n\004\000\000\004\218\006R\003l\000\227\001\242\n \000\000\004\012\003\250\nP\000\193\nJ\006\150\000\t\nt\000\193\000\000\nv\000\193\000\000\n\214\000\000\n\\\006\130\nV\006\150\n\220\000\000\nZ\006\150\n\224\000\000\000\000\006\150\000\000\n\226\000\000"), (16, "\012E\012E\012E\012E\012E\012E\012E\012E\012E\012E\012E\007\237\012E\012E\012E\012E\012E\012E\012E\012E\012E\012E\028n\000&\015\026\007\237\012E\028\254\004\145\028r\0007\000;\000\n\015N\012E\001\"\0236\023>\012E\012E\024\030\012E\011\233\000*\012E\016V\029\n\0236\023>\012E\012E\012E\000N\007\202\020\150\020\190\020\206\020\246\021\006\021.\012E\000\150\011\142\012E\012E\006\157\004\145\004j\000\n\012E\012E\006\029\012E\006\242\012E\007\n\024\134\000\154\007\237\012E\016\202\012E\012E\012E\012E\012E\011\154\023F\015\202\012E\012E\012E\000\226\012E\012E\012E\016\206\007\170\012E\012E\012E\012E\012E\b\205\022\146\021\214\012E\012E\016f\b\230\004\t\011\233\012!\021\218\b\213\006\005\001\234\012E\012E\012E\r\026\001\246\012E\012E\012E\012E\000\230\012E\004\157\012E\nf\007\237\012E\nj\001\166\012E\012E\025\214\003F\nn\003N\001\"\003^\007\237\nr\025\218\017\158\012E\006&\003f\012E\000\006\000\"\000\n\012E\012E\012E\012E\021\230\006u\012E\006m\012E\011%\007\178\b\205\012E\012E\012E\011\134\012E\006\157\012E\012E\000\n\012E\b\213\012E\012E\003n\019z\012E\012E\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\012\238\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\006\165\021\210\006\005\012\017\006\242\006\165\015\030\015.\015>\003~\001\234\001R\004\138\006\165\r\026\001\246\011\201\006\165\006\165\b\238\006\165\011%\006\005\006\165\000\n\006E\006\005\004\157\006\165\015\026\006\165\001\130\028:\004\157\004\157\022V\004\234\006-\015N\006\165\000.\011\198\011\217\004\130\001V\004\157\004\157\000\n\006\165\006\165\027\198\001\"\004\189\006\165\006\165\003\138\001\"\003\146\006\165\003\162\006\165\006\165\006\165\006\165\006\165\021\198\003\170\001\"\006\165\006\165\006\165\004\157\006\165\006\165\006\165\004-\016\202\006\165\006\165\006\165\006\165\006\165\025\139\025\143\000\n\006\165\006\165\025\147\0041\000\n\006u\012\025\016\206\001z\006=\006=\003\178\006\165\006\165\001\142\000\n\006\165\006\165\006\165\006\165\0246\006\165\n\182\006\165\015\210\002\218\006\165\001\234\016f\006\165\006\165\r\026\001\246\007\237\011\201\004\150\001\234\016V\027\246\003\129\001\242\001\246\012\214\017n\006\165\003\194\015\026\007\237\006\165\006\165\006\165\006\165\r\n\003Q\006\165\015N\006\165\003Q\012\245\012\245\006\165\006\165\006\165\012\245\000\n\024:\006\165\006\165\022:\006\165\005*\006\165\006\165\000\n\004\129\006\165\006\165\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\015B\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\006\197\007\237\028z\006\197\006\197\017z\016V\0041\b\177\006\197\006\197\023\030\006\197\0041\0041\015\026\006\197\006\197\017\238\006\197\025z\006\197\006\197\015F\015N\0041\r:\006\197\015\026\006\197\006\197\016f\004J\006\197\006\197\006\197\015\026\015N\006\197\006\197\005\157\006\197\006\197\003&\r\014\015N\012\214\006\197\006\197\006\197\006\197\0041\006\197\027\254\007\237\004\241\001\"\006\197\025z\006\197\012)\006\197\006\197\006\197\006\197\016V\007\237\006\197\006\197\006\197\018\238\006\197\006\197\006\197\015\026\012\001\006\197\006\197\006\197\006\197\006\197\018\154\007\222\015N\007\230\006\197\007\246\006\197\018\158\000\n\001\234\006\149\018\162\007\254\r\026\001\246\006\197\006\197\003r\016f\006\197\006\197\006\197\006\197\006}\006\197\006\197\006\197\r\142\022F\006\197\018n\016f\006\197\006\197\006\197\003v\012\245\021\242\020F\016f\006\197\012)\b\006\006\r\006\197\020\026\000\n\006\197\012\245\012\245\026\235\006\197\006\197\012\245\006\197\006\213\023*\006\197\026\239\006\197\004\241\b\241\b\241\006\197\025\179\025\183\b\241\015\206\026\242\025\187\006\197\0065\006\197\028\234\006\197\006\197\b\022\016f\006\197\006\197\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\021V\001\014\025\194\001\022\nn\001\030\0012\001:\001>\nr\025\198\016\234\021Z\006\189\015\234\nv\012\245\012\245\004\r\006\189\006\189\012\245\021^\001F\021b\006\133\006\213\001\170\n\134\028\230\r\150\028b\021f\r\154\027\206\016V\020v\020\158\001N\011\201\015\n\021r\026\154\011\201\015\026\021v\t\n\024\138\003\182\001\182\021j\021z\025\250\015N\019N\027\210\n>\006\189\015b\r\162\026&\0262\027\214\015f\017\170\019\150\001\"\021~\001\222\012\t\001\226\004\205\001b\016^\015n\022J\001\"\000\n\r\182\001\234\015r\019\154\r\186\011\166\001\246\003\186\000\n\r\190\r\194\n\154\n\158\r\198\018\218\004-\021\130\004\026\015v\021\134\020\214\000\n\000\n\001\234\016\238\020~\020\166\r\026\001\246\n\250\r\202\000\n\021\138\015z\015~\r\206\015\130\021\142\000\n\021\146\015\150\021\150\021\154\004\169\021\158\004\030\015\162\r\214\0042\027\222\016f\021\162\rZ\023\174\021\166\019\n\rv\019\030\026F\003Q\000\n\015\194\006\141\003Q\019:\015\198\016\002\004\205\n\162\021\170\011\201\r\218\012\214\016\006\021\174\021\178\012\214\r\222\004\205\004\205\b\241\b\241\027\230\004\205\016\014\b\241\r\226\020\222\006\205\006\205\006]\006U\002&\006\205\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\018\222\001\014\025\194\001\022\nn\001\030\0012\001:\001>\nr\025\198\019^\024\030\004-\004N\nv\027\011\027\015\011\185\004-\004-\027\019\004V\001F\011\201\004Z\016\202\001\170\n\134\019\182\r\150\004-\027\198\r\154\027+\027/\004\134\023\006\001N\0273\015\n\019\014\016\206\019\"\011\193\027\246\024J\006e\0242\001\182\019>\026\134\015\026\011\209\007\n\006\021\017\018\004-\015b\r\162\026&\015N\001\234\015f\017\242\021\014\r\026\001\246\001\222\019\150\001\226\004\221\001b\016^\015n\b\197\012\214\020.\r\182\001\234\015r\021j\r\186\011\166\001\246\019\154\011\177\r\190\r\194\n\154\n\158\r\198\011\177\011\177\004\142\016b\015v\007\n\028J\000\n\004\166\011\241\019b\005)\011\177\001\234\024\"\n\250\r\202\r\026\001\246\015z\015~\r\206\015\130\0172\000\n\028R\015\150\005\r\019\186\004\169\005)\029&\015\162\r\214\004\174\b\"\004\157\b*\011\177\b:\021\022\004\178\019\202\012\214\016f\b\197\bB\015\194\006m\011\249\000\n\015\198\016\002\027\186\n\162\028\250\028\006\r\218\004\186\016\006\019\230\004\210\tB\r\222\tJ\004\221\tZ\027\254\004\214\004\222\016\014\024\018\r\226\tb\006\221\006\221\bJ\004\242\002&\006\221\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\006m\001\014\025\194\001\022\nn\001\030\0012\001:\001>\nr\025\198\005)\tj\026\178\006M\nv\005\006\003u\006\181\bZ\024z\029O\005\026\001F\006\181\006\181\005:\001\170\n\134\005^\r\150\005)\005j\r\154\028\"\000\n\006\181\005r\001N\005\198\015\n\000\n\019\206\005\210\0286\006\030\tz\006.\004\157\001\182\0066\028\142\015\026\028:\004\157\004\157\006\190\006\226\015J\r\162\019\234\015N\006\181\015f\006\234\007\"\004\157\004\157\001\222\007.\001\226\004\249\001b\015j\015n\007:\007F\007R\r\182\001\234\015r\007^\r\186\011\166\001\246\007r\007\130\r\190\r\194\n\154\n\158\r\198\004\157\007\146\007\154\012\253\015v\007\191\b\n\b\014\bN\bR\b\178\b\182\b\198\004)\b\214\n\250\r\202\t\002\t\018\015z\015~\r\206\015\130\t&\000\n\tn\015\150\016V\tr\004\169\t\178\t\182\015\162\r\214\n\022\t\134\015\026\t\142\n\026\t\158\n.\nF\005%\nZ\016f\015N\t\166\015\194\004)\nz\n\130\015\198\016\002\004\249\n\162\004\241\n\138\r\218\005\t\016\006\n\146\005%\n\150\r\222\004\249\004\249\n\206\n\218\n\226\004\249\016\014\011&\r\226\011F\b\249\b\249\t\174\011R\002&\b\249\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\011\150\001\014\011\178\001\022\nn\001\030\0012\001:\001>\nr\011\190\011\214\011\226\012r\012\134\nv\012\154\012\190\012\202\t\190\012\210\012\230\012\242\001F\012\250\004)\012\254\001\170\n\134\016f\r\150\004)\004)\r\154\r\006\r\022\r&\r.\001N\007\245\015\n\r2\005%\004)\rB\rJ\rb\rj\r~\001\182\004\241\r\134\015\026\007\245\r\146\r\170\r\178\014\006\015J\r\162\004)\015N\005%\015f\014\018\014Z\014\218\015\002\001\222\004)\001\226\027\254\001b\015j\015n\015\022\015\"\015*\r\182\001\234\015r\0152\r\186\011\166\001\246\015:\015\134\r\190\r\194\n\154\n\158\r\198\015\142\015\158\015\166\015\174\015v\015\182\015\190\015\250\016\n\016\018\016\030\016\"\016*\016.\007\245\n\250\r\202\0166\016>\015z\015~\r\206\015\130\016N\000\n\016r\015\150\nf\016\182\016\190\nj\016\194\015\162\r\214\025\214\016\210\nn\016\218\016\222\016\230\016\246\nr\025\218\016\254\016f\017\006\017\n\015\194\017\026\017\"\017:\015\198\016\002\017B\n\162\017\146\017\218\r\218\017\230\016\006\018Z\018f\018\134\r\222\018\178\018\194\018\202\007\245\018\230\018\242\016\014\018\250\r\226\018\254\019\006\016\202\019\022\019*\002&\007\245\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\016\206\001\014\019F\001\022\nn\001\030\0012\001:\001>\nr\019j\019\130\019\138\019\142\019\158\nv\019\166\019\170\019\178\019\194\001\234\019\214\019\242\001F\r\026\001\246\020\006\001\170\n\134\020\022\r\150\020&\020>\r\154\020N\020Z\020\139\020\179\001N\020\203\015\n\020\235\021\003\021#\021;\021R\021n\021\222\022\011\001\182\022b\022w\015\026\022\159\022\171\022\187\022\195\000\n\015J\r\162\022\222\015N\004\189\015f\022\231\022\239\022\247\023\018\001\222\023:\001\226\023B\001b\015j\015n\023R\023o\023\127\r\182\001\234\015r\023\135\r\186\011\166\001\246\023\147\023\158\r\190\r\194\n\154\n\158\r\198\023\195\023\207\023\219\012\253\015v\023\238\023\247\023\255\024*\024V\024\146\024\179\024\187\024\199\024\215\n\250\r\202\024\223\024\235\015z\015~\r\206\015\130\024\246\000\n\025\011\015\150\025\019\025\026\025'\0253\025;\015\162\r\214\025F\025O\025W\025c\025~\026\006\026.\011\225\011\225\026>\016f\026r\026z\015\194\026\158\026\194\026\198\015\198\016\002\026\206\n\162\026\247\027\190\r\218\027\202\016\006\027\218\027\226\027\234\r\222\028\023\028\031\028&\0283\028>\028N\016\014\028\131\r\226\028\146\012\253\012\253\028\159\028\195\002&\012\253\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\028\223\001\014\025\194\001\022\nn\001\030\0012\001:\001>\nr\025\198\028\238\028\246\029\002\029\014\nv\029\027\029\"\029*\0293\029:\029C\029W\001F\000\000\000\000\000\000\001\170\n\134\000\000\r\150\000\000\000\000\r\154\000\000\000\000\000\000\000\000\001N\000\000\015\n\000\000\000\000\011\225\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\000\000\000\000\000\011\225\000\000\000\000\000\000\015b\r\162\011\225\011\225\000\000\015f\027B\000\000\000\000\000\000\001\222\000\000\001\226\000\000\001b\016^\015n\000\000\000\000\000\000\r\182\001\234\015r\000\000\r\186\011\166\001\246\000\022\000\000\r\190\r\194\n\154\n\158\r\198\011\225\000\000\000\000\000\000\015v\011\225\011\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\000\000\000\000\015z\015~\r\206\015\130\000\000\000\n\000\000\015\150\000\000\000\000\004\169\000\000\000\000\015\162\r\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\000\000\015\194\000\000\000\000\000\000\015\198\016\002\000\000\n\162\000\000\000\000\r\218\000\000\016\006\000\000\000\000\000\000\r\222\000\000\000\000\000\000\000\000\000\000\000\000\016\014\000\000\r\226\000\000\b\221\b\221\000\000\000\000\002&\b\221\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\000\000\001\014\000\000\001\022\nn\001\030\0012\001:\001>\nr\000\000\000\000\000\000\000\000\000\000\nv\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\170\n\134\000\000\r\150\000\000\000\000\r\154\000\000\000\000\000\000\000\000\001N\000\000\015\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015b\r\162\000\000\000\000\000\000\015f\016z\000\000\000\000\000\000\001\222\000\000\001\226\000\000\001b\016^\015n\000\000\000\000\000\000\r\182\001\234\015r\000\000\r\186\011\166\001\246\000\000\000\000\r\190\r\194\n\154\n\158\r\198\000\000\000\000\000\000\012\217\015v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\000\000\000\000\015z\015~\r\206\015\130\000\000\000\n\000\000\015\150\000\000\000\000\000\000\000\000\000\000\015\162\r\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\000\000\015\194\000\000\000\000\000\000\015\198\016\002\000\000\n\162\000\000\000\000\r\218\000\000\016\006\000\000\000\000\000\000\r\222\000\000\000\000\000\000\000\000\000\000\000\000\016\014\000\000\r\226\000\000\012\217\012\217\000\000\000\000\002&\012\217\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\000\000\001\014\000\000\001\022\nn\001\030\0012\001:\001>\nr\000\000\000\000\000\000\000\000\000\000\nv\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\170\n\134\000\000\r\150\000\000\000\000\r\154\000\000\000\000\000\000\000\000\001N\000\000\015\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015b\r\162\000\000\000\000\000\000\015f\026\n\000\000\000\000\000\000\001\222\000\000\001\226\000\000\001b\016^\015n\000\000\000\000\000\000\r\182\001\234\015r\000\000\r\186\011\166\001\246\000\000\000\000\r\190\r\194\n\154\n\158\r\198\000\000\000\000\000\000\000\000\015v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\000\000\000\000\015z\015~\r\206\015\130\000\000\000\n\000\000\015\150\000\000\000\000\000\000\000\000\000\000\015\162\r\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\000\000\015\194\000\000\000\000\000\000\015\198\016\002\000\000\n\162\000\000\000\000\r\218\000\000\016\006\000\000\000\000\000\000\r\222\000\000\000\000\000\000\000\000\000\000\000\000\016\014\000\000\r\226\000\000\r%\r%\000\000\000\000\002&\r%\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\000\000\001\014\000\000\001\022\nn\001\030\0012\001:\001>\nr\000\000\000\000\000\000\000\000\000\000\nv\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\170\n\134\000\000\r\150\000\000\000\000\r\154\000\000\000\000\000\000\000\000\001N\000\000\015\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015b\r\162\000\000\000\000\000\000\015f\026\n\000\000\000\000\000\000\001\222\000\000\001\226\000\000\001b\016^\015n\000\000\000\000\000\000\r\182\001\234\015r\000\000\r\186\011\166\001\246\000\000\000\000\r\190\r\194\n\154\n\158\r\198\000\000\000\000\000\000\000\000\015v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\000\000\000\000\015z\015~\r\206\015\130\000\000\000\n\000\000\015\150\000\000\000\000\000\000\000\000\000\000\015\162\r\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\000\000\015\194\000\000\000\000\000\000\015\198\016\002\000\000\n\162\000\000\000\000\r\218\000\000\016\006\000\000\000\000\000\000\r\222\000\000\000\000\000\000\000\000\000\000\000\000\016\014\000\000\r\226\000\000\r!\r!\000\000\000\000\002&\r!\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\000\000\001\014\000\000\001\022\nn\001\030\0012\001:\001>\nr\000\000\000\000\000\000\000\000\000\000\nv\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\170\n\134\000\000\r\150\000\000\000\000\r\154\000\000\000\000\000\000\000\000\001N\000\000\015\n\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\015b\r\162\000\000\000\000\000\000\015f\018&\000\000\000\000\000\000\001\222\000\000\001\226\000\000\001b\016^\015n\000\000\000\000\000\000\r\182\001\234\015r\000\000\r\186\011\166\001\246\000\000\000\000\r\190\r\194\n\154\n\158\r\198\000\000\000\000\000\000\000\000\015v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\000\000\000\000\015z\015~\r\206\015\130\000\000\000\n\000\000\015\150\000\000\000\000\000\000\000\000\000\000\015\162\r\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\000\000\015\194\000\000\000\000\000\000\015\198\016\002\000\000\n\162\000\000\000\000\r\218\000\000\016\006\000\000\000\000\000\000\r\222\000\000\000\000\000\000\000\000\000\000\000\000\016\014\000\000\r\226\000\000\000R\000V\000f\000\170\002&\000\174\nf\000\178\000\246\nj\000\254\000\000\001\014\000\000\001\022\nn\001\030\0012\001:\001>\nr\000\000\000\000\000\000\003:\003B\000\170\000\000\000\174\000\000\003\134\003\202\000\000\003\210\001F\003\226\000\000\003\234\001\170\003\242\003\254\r\150\004\006\000\000\r\154\000\000\000\000\000\000\000\000\001N\000\000\018\166\000\000\000\000\000\000\000\000\000\000\004\014\000\000\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\018\182\r\162\000\000\004\022\000\000\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\000\000\001b\000\000\000\000\000\000\000\000\000\000\r\182\001\234\000\000\000\000\r\186\001\242\001\246\000\000\000\000\r\190\r\194\n\154\018\186\r\198\000\000\000\000\000\000\004&\000\000\000\000\007\234\005\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\005\253\000\000\005\253\000\000\r\206\000\000\005\253\000\n\b.\005\253\bn\005\253\005\253\005\253\005\253\005\253\r\214\000\000\000\000\000\000\005\253\005\253\005\253\005\253\005\253\n\169\n\169\000\000\005\253\n\169\000\n\005\253\005\253\005\253\000\000\005\253\000\000\n\162\005\253\000\000\r\218\005\253\018\190\005\253\000\000\005\253\r\222\005\253\000\000\005\253\005\253\005\253\005\253\018\198\005\253\r\226\005\253\005\253\000Z\000\000\005\253\002&\005\253\b\206\000\000\n\169\000\000\005\253\000Z\000\000\005\253\005\253\005\253\005\253\t\030\000\000\005\253\000Z\005\253\000Z\000\000\005\253\005\253\005\253\005\253\000\000\000\000\005\253\000\000\000\000\005\253\000\000\n\169\000\000\005\253\005\253\000\000\005\253\000\000\000\000\005\253\000\000\000\000\005\253\000\000\005\253\005\253\005\253\005\253\005\253\005\253\000\000\005\253\000\000\000\000\005\253\005\253\005\253\000\000\005\253\005\253\005\253\005\253\000\000\005\253\005\253\005\253\005\253\005\253\005\253\005\253\005\253\005\253\005\253\000\000\000\000\000\000\005\253\005\253\000\000\005\253\005\253\005\253\005\253\000\000\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\005\253\n\169\000\000\005\253\000\000\005\253\000\000\000\000\005\253\005\253\005\253\005\253\005\253\000\000\000\000\005\253\005\253\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\005\253\000\000\000\000\000\000\005\253\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\000\000\001\170\000\000\000\000\001\174\000\000\000\000\001\178\000\000\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\182\000\000\000\000\001\186\000\000\000\000\000\000\000\000\000\000\001\210\001\206\000\000\001\214\000\000\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\000\000\001b\000\000\011\250\000\000\000\000\000\000\001\230\001\234\000\000\000\000\001\238\001\242\001\246\000\000\002J\001\250\001\254\000\000\000\000\002\002\000\000\000\000\000\000\000\000\000\000\012\002\012*\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\012\n\002\n\000\000\000\000\000\n\000\000\012R\012Z\000\000\000\000\000\000\000\000\000\000\002\018\000\000\000\000\0122\000\000\000\000\012\018\000\000\012\"\000\000\000\000\002\022\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\002\030\012:\000\000\004}\000\000\000\000\000\000\000\000\000\000\002\"\000\000\000R\007\210\007\218\000\170\002&\000\174\000\000\b\030\bb\000\000\bj\021V\bz\000\000\b\130\000\000\b\138\b\150\001:\b\158\000\000\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\012B\000\000\000\000\021^\b\166\021b\000\000\012\026\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\000\000\000\000\000\000\024\242\000\000\005q\021r\000\000\000\000\000\000\021v\000\000\000\000\000\000\000\000\000\000\021z\000\000\000\000\000\000\012b\012J\000\000\b\190\000\000\000\000\000\000\000\000\022\250\000\000\000\000\000\000\021~\024\002\000\000\000\000\000\000\b\202\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\130\000\000\nv\021\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\170\n\134\021\138\r\150\000\000\000\000\r\154\021\142\000\n\021\146\000\000\021\150\021\154\015\n\021\158\000\000\000\000\000\000\000\000\000\000\000\000\021\162\001\182\000\000\021\166\000\000\000\000\000\000\000\000\000\000\000\000\015\146\r\162\000\000\000\000\000\000\015f\000\000\000\000\021\170\000\000\001\222\000\000\001\226\021\174\021\178\000\000\015n\000\000\000\000\000\000\r\182\001\234\015r\000\000\r\186\011\166\001\246\000\000\000\000\r\190\r\194\000\000\000\000\r\198\000\000\000\000\000\000\000\000\015v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\000\000\000\000\015z\015~\r\206\015\130\000\000\000\n\000\000\015\150\000\000\000\000\000\000\000\000\nv\015\162\r\214\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\170\n\134\000\000\r\150\015\194\000\000\r\154\000\000\015\198\016\002\000\000\000\000\000\000\015\n\r\218\000\000\016\006\000\000\000\000\000\000\r\222\000\000\001\182\000\000\000\000\000\000\000\000\016\014\000\000\r\226\000\000\r\158\r\162\000\000\000\000\002&\015f\000\000\000\000\000\000\000\000\001\222\000\000\001\226\000\000\000\000\000\000\015n\000\000\000\000\000\000\r\182\001\234\015r\000\000\r\186\011\166\001\246\000\000\000\000\r\190\r\194\000\000\000\000\r\198\000\000\000\000\000\000\000\000\015v\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\250\r\202\000\000\000\000\015z\015~\r\206\015\130\000\000\000\n\000\000\015\150\000\000\000\000\000\000\000\000\000\000\015\162\r\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\000\000\015\194\000\000\000\000\000\000\015\198\016\002\000\000\000\000\000\000\000\000\r\218\000\000\016\006\000\000\000\000\000\000\r\222\000\000\000\000\000\000\000\000\000\000\000\000\016\014\000\000\r\226\000\000\001M\001M\001M\001M\002&\001M\000\000\001M\001M\000\000\001M\000\000\001M\000\000\001M\000\000\001M\001M\001M\001M\000\000\000\000\014-\000\000\021F\014-\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\001M\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001M\000\000\014-\014-\000\000\000\000\001M\014-\000\000\001M\002>\014-\000\000\001M\000\000\000\000\021J\014-\000\000\001M\014-\014-\000\000\014-\014-\000\000\001M\002F\000\000\014-\0052\001M\000\000\014-\000\000\000\000\014-\000\000\014-\014-\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014-\001M\014-\000\000\001M\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014-\000\000\000\000\000\000\001M\000\000\000\000\005>\000\000\001M\000\000\001M\000\000\000\000\001M\000\000\021N\000\000\000\000\000\000\000\000\001M\000\000\001M\000\000\000\000\001M\014-\014-\000\000\014-\014-\005B\000\000\014-\000\000\000\000\000\000\000\000\000\000\000\000\001M\001M\005J\000\000\000\000\001M\001M\014-\000\000\000\000\014-\014-\014-\014-\005\t\000\000\022\014\005\t\014-\014-\014-\000\000\014-\014-\014-\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\t\005\t\000\000\000\000\000\000\005\t\000\000\000\000\005\t\005\t\000\000\000\000\000\000\000\000\000\000\005\t\000\000\000\000\005\t\005\t\000\000\005\t\005\t\000\000\000\000\005\t\000\000\005\t\005\t\000\000\000\000\005\t\000\000\000\000\005\t\000\000\005\t\005\t\000\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\005\t\000\000\005\t\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\t\000R\000V\000f\000\170\000\000\000\174\005\t\000\178\000\246\000\n\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\005\t\005\t\000\000\005\t\005%\005\t\000\000\005\t\001F\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\t\005\r\000\000\000\000\005\r\005\t\000\000\001N\005\t\000\000\005\t\000\000\000\000\000\000\000\000\000\000\005\t\005\t\005\t\000\000\005\t\005\t\005\t\000\000\005\r\005\r\000\000\001^\000\000\005\r\000\000\000\000\005\r\005\r\000\000\000\000\000\000\000\000\000\000\005\r\000\000\001b\005\r\005\r\000\000\005\r\005\r\000\000\000\000\005\r\000\000\005\r\005\r\000\000\000\000\005\r\000\000\000\000\005\r\000\000\005\r\005\r\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>\005\r\000\000\005\r\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\r\001F\000\000\000R\007\210\007\218\000\170\005\r\000\174\000\000\b\030\bb\000\000\bj\000\000\bz\001N\b\130\000\000\b\138\b\150\001:\b\158\000\000\000\000\000\000\000\000\005\r\005\r\000\000\005\r\005)\005\r\000\000\005\r\000\000\001^\b\166\000\000\000\000\000\000\000\000\000\000\005\r\000\000\000\000\000\000\000\000\005\r\000\000\001b\005\r\b\174\005\r\004^\004b\000\000\000\000\000\000\005\r\005\r\005\r\000\000\005\r\005\r\005\r\n\165\n\165\n\165\n\165\000\000\n\165\b\190\n\165\n\165\000\000\n\165\000\000\n\165\000\000\n\165\000\000\n\165\n\165\n\165\n\165\b\202\000\000\014\129\000\000\000\000\014\129\000\000\000\000\000\n\000\000\000\000\000\000\000\000\n\165\n\165\n\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\165\000\000\014\129\014\129\000\000\004n\n\165\014\129\000\000\022\030\r\246\014\129\000\000\022&\000\000\000\000\000\000\014\129\000\000\n\165\014\129\014\129\000\000\014\129\014\129\000\000\n\165\r\254\000\000\014\129\014\n\n\165\000\000\014\129\000\000\000\000\014\129\000\000\014\129\014\129\n\165\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>\014\129\n\165\014\129\000\000\n\165\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\129\001F\000\000\000\000\n\165\000\000\000\000\014\022\000\000\n\165\000\000\n\165\000\000\000\000\n\165\000\000\001N\000\000\000\000\000\000\000\000\n\165\000\000\n\165\000\000\000\000\n\165\014\129\014\129\000\000\014\129\000\000\014\026\000\000\014\129\000\000\001^\000\000\000\000\000\000\000\000\n\165\n\165\014\"\000\000\000\000\022z\n\165\000\000\000\000\001b\014\129\000\000\014\129\004^\004b\000\000\000\000\000\000\014\129\014\129\014\129\000\000\014\129\014\129\014\129\n\149\n\149\n\149\n\149\000\000\n\149\000\000\n\149\n\149\000\000\n\149\000\000\n\149\000\000\n\149\000\000\n\149\n\149\n\149\n\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\149\n\149\n\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\149\000\000\000\000\000\000\000\000\004f\n\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\149\n\153\n\153\n\153\n\153\000\000\n\153\n\149\n\153\n\153\000\000\n\153\n\149\n\153\000\000\n\153\000\000\n\153\n\153\n\153\n\153\n\149\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\153\n\153\n\153\000\000\000\000\000\000\000\000\000\000\000\000\n\149\n\153\000\000\n\149\000\000\000\000\000\000\n\153\000\000\000\000\022~\000\000\000\000\000\000\000\000\000\000\n\149\000\000\000\000\000\000\n\153\n\149\000\000\n\149\000\000\000\000\n\149\n\153\000\000\000\000\000\000\000\000\n\153\n\149\000\000\n\149\000\000\000\000\n\149\000\000\000\000\n\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\001\153\n\149\n\149\000\000\000\000\000\000\022\"\n\149\000\000\000\000\000\000\n\153\000\000\000\000\n\153\000\000\000\000\000\000\000\000\000\000\001\153\001\153\000\000\000\000\000\000\001\153\000\000\n\153\000\000\001\153\000\000\000\000\n\153\000\000\n\153\001\153\000\000\n\153\001\153\001\153\000\000\001\153\001\153\000\000\n\153\000\000\n\153\001\153\000\000\n\153\000\000\001\153\000\000\000\000\001\153\000\000\001\153\001\153\000\000\000\000\000\000\000\000\000\000\000\000\n\153\n\153\000\000\000\000\000\000\000\000\n\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\000R\007\210\007\218\000\170\000\000\000\174\000\000\b\030\bb\000\000\bj\000\000\bz\000\000\b\130\000\000\b\138\b\150\001:\b\158\000\000\001\153\002Z\000\000\001\153\001\153\000\000\000\000\001\153\000\000\000\000\000\000\000\000\022\134\b\166\022\162\000\000\000\000\000\000\000\000\000\000\000\000\001\153\022\174\000\000\001\153\001\153\001\153\001\153\b\174\000\000\000\000\000\000\003\n\001\153\001\153\000\000\001\153\001\153\001\153\000\000\000\000\022\198\000\000\000\000\002z\000\000\000\000\002\210\b\190\000\000\000\000\000\000\000\000\022\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\202\000\000\000\000\000\000\000\000\002\130\002\170\000\000\000\000\000\000\002!\000\000\000\000\000\000\002!\000\000\000\000\000\000\000\000\000\000\002\138\000\000\023\026\002!\002!\023r\002\242\002\250\000\000\000\000\000\000\000\000\002!\000\000\000\000\000\000\002\178\000\000\023\138\002\146\000\000\002\162\002!\023\150\000\000\b\173\000\000\000\000\023\198\000\000\000\000\000\000\t6\t>\000\170\023\210\000\174\023\222\t\130\t\198\024\190\t\206\000\000\t\222\002\186\t\230\002!\t\238\t\250\000\000\n\002\000\000\000\000\000\000\000\000\024\202\024\226\002!\000\000\000\000\000\000\024\238\000\000\000\000\000\000\n\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\n\018\000\000\000\000\000\000\002\194\000\000\000\000\002!\002!\000\000\000\000\002\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\129\000\000\000\000\000\129\000\000\002!\000\000\000\000\002!\002!\002!\002!\000\000\000\000\n\"\000\000\000\000\002!\002!\000\000\003\002\002\202\002!\002\130\002\170\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\129\000\000\000\000\000\000\000\000\000\000\002\138\000\000\000\000\000\129\000\129\000\000\000\129\000\129\000\000\000\000\000\000\000i\000\129\000\000\000i\000\000\002\178\000\000\000\000\002\146\000\000\002\162\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\002\186\000\000\000\129\000\000\000\000\002\138\000\000\000\000\000i\000i\000\000\000i\000i\000\129\000\000\000\000\000\000\000i\000\000\000\000\000\000\000i\000\000\000\000\002\146\000\000\002\162\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\002\194\000\000\000\000\000\129\000\129\000\000\000\000\002\154\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\002\202\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\000\000\002\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000\000\000i\000\000\000\000\000i\000i\000i\000i\000\000\000\000\000\000\000\000\000\000\000i\000i\000\000\000i\000i\000i\000]\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000]\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000]\000]\000\000\000\000\000\000\000a\000]\000\000\000a\000\000\000]\000\000\000\000\002\146\000\000\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\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\146\000\000\000a\000a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000]\000\000\000\000\000]\000]\000\000\000\000\002\154\000\000\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\000\000\000a\000\000\000\000\000a\000a\000\000\000\000\002\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000\000\000\000\000e\000\000\000a\000\000\000\000\000a\000a\000a\000a\000\000\000\000\000\000\000\000\000\000\000a\000a\000\000\000a\000a\000a\000e\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000e\000\000\000\000\000\000\000\000\000\000\002\138\000\000\000\000\000e\000e\000\000\000e\000e\000\000\000\000\000\000\000u\000e\000\000\000u\000\000\000e\000\000\000\000\002\146\000\000\002\162\000e\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\130\002\170\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000e\000\000\000e\000\000\000\000\002\138\000\000\000\000\000u\000u\000\000\000u\000u\000e\000\000\000\000\000\000\000u\000\000\000\000\000\000\000u\000\000\000\000\002\146\000\000\002\162\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\000e\000\000\000\000\000e\000e\000\000\000\000\002\154\000\000\002\186\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000e\000u\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\000u\000\000\000\000\000u\000u\000\000\000\000\002\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000\000\000u\000\000\000\000\000u\000u\000u\000u\000\000\000\000\000\000\000\000\000\000\000u\000u\000\000\000u\000u\000u\002\130\002\170\000\000\000\000\000\000\000m\000\000\000\000\000\000\000m\000\000\000\000\000\000\000\000\000\000\002\138\000\000\000\000\000m\000m\000\000\000m\000m\000\000\000\000\000\000\000q\000m\000\000\000q\000\000\000m\000\000\000\000\002\146\000\000\002\162\000m\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\130\002\170\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000m\000\000\000m\000\000\000\000\002\138\000\000\000\000\000q\000q\000\000\000q\000q\000m\000\000\000\000\000\000\000q\000\000\000\000\000\000\000q\000\000\000\000\002\146\000\000\002\162\000q\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000m\000\000\000\000\000m\000m\000\000\000\000\002\154\000\000\002\186\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\000\000\002\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\000\000\000\000y\000\000\000q\000\000\000\000\000q\000q\000q\000q\000\000\000\000\000\000\000\000\000\000\000q\000q\000\000\000q\000q\000q\002\130\002\170\000\000\000\000\000\000\000y\000\000\000\000\000\000\000y\000\000\000\000\000\000\000\000\000\000\002\138\000\000\000\000\000y\000y\000\000\000y\000y\000\000\000\000\000\000\002z\000y\000\000\000\137\000\000\002\178\000\000\000\000\002\146\000\000\002\162\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\130\002\170\000\000\000\000\000\000\000\137\000\000\000\000\000\000\000\137\002\186\000\000\000y\000\000\000\000\002\138\000\000\000\000\000\137\000\137\000\000\000\137\002\250\000y\000\000\000\000\000\000\000\137\000\000\000\000\000\000\002\178\000\000\000\000\002\146\000\000\002\162\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\002\194\000\000\000\000\000y\000y\000\000\000\000\002\154\000\000\002\186\000\000\000\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000y\000\137\000\000\000y\000y\000y\000y\000\000\000\000\000\000\000\000\000\000\000y\000y\000\000\000y\000y\000y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\194\000\000\000\000\000\137\000\137\000\000\000\000\002\154\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\137\000\000\000\000\000\137\000\137\000\137\000\137\000\000\000\000\000\000\000\000\000\000\000\137\000\137\000\000\003\002\002\202\000\137\002\130\002\170\000\000\000\000\000\000\000}\000\000\000\000\000\000\000}\000\000\000\000\000\000\000\000\000\000\002\138\000\000\000\000\000}\000}\000\000\000}\000}\000\000\000\000\000\000\002z\000}\000\000\000\133\000\000\002\178\000\000\000\000\002\146\000\000\002\162\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\130\002\170\000\000\000\000\000\000\000\133\000\000\000\000\000\000\000\133\002\186\000\000\000}\000\000\000\000\002\138\000\000\000\000\000\133\000\133\000\000\000\133\002\250\000}\000\000\000\000\000\000\000\133\000\000\000\000\000\000\002\178\000\000\000\000\002\146\000\000\002\162\000\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\002\194\000\000\000\000\000}\000}\000\000\000\000\002\154\000\000\002\186\000\000\000\133\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000}\000\133\000\000\000}\000}\000}\000}\000\000\000\000\000\000\000\000\000\000\000}\000}\000\000\000}\002\202\000}\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\011\174\002\194\000\000\000\000\000\133\000\133\000\000\000\000\002\154\004a\000\000\000\000\004a\000\000\000\000\004a\000\000\000\000\000\000\000\000\000\000\000\000\000\133\000\000\000\000\000\133\000\133\000\133\000\133\000\000\000\000\004a\000\000\000\000\000\133\000\133\000\000\000\133\002\202\000\133\004a\004a\000\000\000\000\004a\004a\004a\000\000\000\000\000\000\004a\000\000\004a\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004a\004a\000\000\000\000\004a\004a\004a\000\000\000\000\004a\004a\000\000\000\000\004a\000\000\000\000\000\000\000\000\001\170\000\000\000\000\n\190\000\000\000\000\n\194\000\000\000\000\000\000\000\000\004a\004a\000\000\000\000\000\000\000\000\004a\000\000\000\000\004a\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\004a\000\000\n\198\011\030\000\000\000\000\011\134\011\158\011\162\004a\000\000\004a\001\222\004a\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\230\001\234\004a\000\000\n\234\011\166\001\246\000\000\004a\n\238\n\242\000\000\000\000\n\246\004a\000\000\000\000\004a\001\170\000\000\000\000\n\190\000\000\004a\n\194\000\000\000\000\000\000\000\000\n\250\n\254\000\000\000\000\000\000\000\000\011\002\000\000\000\000\000\n\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\011\n\000\000\n\198\011\030\000\000\000\000\011\134\011\158\011\162\006-\000\000\011\170\001\222\011\198\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\230\001\234\011\014\000\000\n\234\011\166\001\246\000\000\011\018\n\238\n\242\000\000\000\000\n\246\012\194\000\000\000\000\011\022\001\170\000\000\000\000\n\190\000\000\002&\n\194\000\000\000\000\000\000\000\000\n\250\n\254\000\000\000\000\000\000\000\000\011\002\000\000\000\000\000\n\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\011\n\000\000\n\198\011\030\000\000\000\000\011\134\011\158\011\162\006-\000\000\011\170\001\222\011\198\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\230\001\234\011\014\000\000\n\234\011\166\001\246\000\000\011\018\n\238\n\242\000\000\000\000\n\246\012\178\000\000\000\000\011\022\001\170\000\000\000\000\n\190\000\000\002&\n\194\000\000\000\000\000\000\000\000\n\250\n\254\000\000\000\000\000\000\000\000\011\002\000\000\000\000\000\n\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\011\n\000\000\n\198\011\030\000\000\000\000\011\134\011\158\012~\006-\000\000\011\170\001\222\011\198\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\230\001\234\011\014\000\000\n\234\011\166\001\246\000\000\011\018\n\238\n\242\000\000\000\000\n\246\005\137\000\000\000\000\011\022\000\000\000\000\000\000\001\153\000\000\002&\001\153\000\000\000\000\000\000\000\000\n\250\n\254\000\000\000\000\000\000\000\000\011\002\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\153\001\153\000\000\011\n\000\000\001\153\000\000\000\000\000\000\001\153\000\000\000\000\006-\000\000\011\170\001\153\011\198\000\000\000\000\000\000\000\000\001\153\001\153\000\000\000\000\000\000\000\000\011\014\000\000\000\000\000\000\001\153\001\170\011\018\001\153\n\190\001\153\001\153\n\194\001\205\000\000\000\000\011\022\000\000\000\000\000\000\000\000\000\000\002&\000\000\000\000\000\000\000\000\000\000\001\182\000\000\000\000\000\000\000\000\001\153\000\000\001\153\000\000\n\198\011\030\000\000\000\000\011\134\011\158\012\142\000\000\000\000\001\153\001\222\000\000\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\230\001\234\000\000\000\000\n\234\011\166\001\246\000\000\000\000\n\238\n\242\000\000\000\000\n\246\000\000\000\000\001\153\002R\000\000\001\153\001\153\000\000\000\000\001\153\000\000\000\000\000\000\000\000\000\000\n\250\n\254\000\000\000\000\000\000\000\000\011\002\000\000\001\153\000\n\000\000\001\153\001\153\000\000\001\153\000\000\000\000\000\000\011\n\003\022\001\153\001\153\000\000\001\153\001\153\001\153\000\000\006-\000\000\000\000\000\000\011\198\001\177\000\000\000\000\001\177\000\000\000\000\000\000\000\000\000\000\000\000\011\014\000\000\000\000\000\000\000\000\000\000\011\018\000\000\000\000\000\000\000\000\000\000\001\221\001\177\001\177\011\022\000\000\000\000\001\177\000\000\000\000\002&\001\177\000\000\000\000\000\000\000\000\000\000\001\177\000\000\000\000\001\177\001\177\000\000\001\177\001\177\000\000\000\000\000\000\000\000\001\177\000\000\000\000\000\000\001\177\000\000\000\000\001\177\000\000\001\177\001\177\000\000\000\000\003A\000\000\000j\003A\000r\000\000\000\130\003A\000\000\003A\000\000\000\000\000\000\000\138\003A\003A\000\000\000\000\000\000\001\177\000\000\001\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\177\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\146\003A\000\000\000\000\000\000\003A\000\000\000\000\000\000\000\000\000\000\nf\000\000\000\000\nj\000\000\001\177\014F\025\214\001\177\nn\003A\000\000\001\177\000\000\nr\025\218\000\000\000\000\000\000\000\000\000\000\000\000\003A\000\162\000\000\000\000\000\000\000\000\000\000\001\177\003A\001\177\000\000\000\000\003A\003A\000\000\014N\001\177\001\177\000\000\001\177\001\177\001\177\000\000\000\000\003A\003=\016\202\000\182\003=\000\190\000\000\000\206\003=\000\000\003=\003A\000\000\000\000\000\214\003=\003=\000\000\016\206\000\000\000\000\003A\000\000\000\000\000\000\000\000\003A\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\234\000\000\000\000\000\000\r\026\001\246\000\222\003=\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\003A\000\189\000\000\003A\003A\000\000\003=\003A\000\000\000\000\000\000\000\000\003A\003A\000\000\000\000\000\n\003A\003=\000\238\000\000\004\189\000\000\000\000\012\002\012*\003=\000\000\000\000\000\000\003=\003=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012\n\000\000\000\000\003=\000\000\000\000\000\189\000\189\000\000\000\000\000\000\000\000\000\000\000\000\003=\000\000\0122\000\000\000\000\012\018\000\000\012\"\000\000\000\000\003=\000\000\000\000\007\181\007\181\003=\000\000\000\000\007\181\000R\000V\000f\000\170\007\206\000\174\nf\000\178\000\246\nj\000\254\012:\001\014\025\194\001\022\nn\001\030\0012\001:\001>\nr\025\198\000\000\000\000\000\000\001\170\000\000\000\000\001\174\003=\000\000\001\178\003=\003=\001F\000\000\003=\000\000\000\000\000\000\000\000\003=\003=\000\000\000\000\000\000\003=\001\182\000\000\001N\001\186\012B\000\000\000\000\000\000\000\000\001\202\001\206\012\026\001\214\000\000\n\186\000\000\000\000\000\000\000\000\001\222\000\000\001\226\001^\000\000\000\000\000\189\000\000\000\000\001j\001\230\001\234\000\000\011\182\001\238\001\242\001\246\001b\000\000\001\250\001\254\000\189\012J\002\002\000\000\000\000\000\000\000\000\000\000\000\000\001n\000\000\000\000\000\000\n\154\n\158\000\000\000\000\000\000\000\000\002\006\000\000\000\000\000\000\000\000\002\n\000\000\000\000\000\n\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\n\000\000\000\000\000\000\000\000\004\169\000\000\002\022\b\189\000\000\014z\000\000\000\000\014\210\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\006%\n\162\b\189\000\000\014\130\014\170\002\"\000\000\000\000\0021\000\000\006%\002&\0021\000\000\000\000\006%\000\000\000\000\014\138\000\000\000\000\0021\0021\000\000\014\226\014\234\000\000\000\000\0015\000\000\0021\0015\000\000\000\000\014\178\000\000\000\000\014\146\000\000\014\162\0021\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\014\170\000\000\000\000\000\000\0015\000\000\000\000\000\000\0015\000\000\014\186\000\000\0021\000\000\014\138\000\000\000\000\0015\0015\000\000\0015\0015\000\000\0021\000\000\000\000\0015\000\000\000\000\000\000\014\178\000\000\000\000\014\146\000\000\014\162\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\014\194\000\000\000\000\0021\000\000\000\000\000\000\014\154\014\186\000\000\0015\000\000\000\000\000\000\000\000\000\000\001\169\000\000\000\000\001\169\000\000\0015\000\000\000\000\0021\000\000\0021\000\000\000\000\000\000\000\000\000\000\000\000\0021\0021\000\000\014\242\014\202\0021\001\169\001\169\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\194\000\000\000\000\0015\000\000\000\000\001\169\014\154\000\000\000\000\001\169\000\000\001\169\001\169\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\001\169\000\000\0015\001\169\0015\001\169\000\000\000\000\000\000\000\000\000\000\0015\0015\000\000\0015\014\202\0015\001\029\001\029\000\000\000\000\000\000\001\029\000\000\000\000\000\000\001\029\000\000\001\169\000\000\000\000\000\000\014\138\000\000\000\000\001\029\001\029\000\000\001\029\001\029\000\000\000\000\001\017\000\000\001\029\001\017\000\000\000\000\001\029\000\000\000\000\014\146\000\000\014\162\001\029\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\001\169\006\006\001\017\001\169\000\000\000\000\001\017\001\169\001\029\000\000\001\029\000\000\001\017\000\000\000\000\001\017\001\017\000\000\001\017\001\017\000\000\001\029\000\000\000\000\001\017\000\000\001\169\000\000\001\017\000\000\000\000\014\146\006\014\001\017\001\017\000\000\001\169\001\169\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\029\000\000\000\000\001\029\000\000\000\000\000\000\014\154\001\017\000\000\001\017\000\000\000\000\000\000\000\000\000\000\006^\000\000\000\000\006\182\000\000\001\017\000\000\000\000\001\029\000\000\001\029\000\000\000\000\000\000\000\000\000\000\000\000\001\029\001\029\000\000\001\029\001\029\001\029\006f\006\142\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\006n\014\154\000\000\000\000\002)\000\000\006\198\006\206\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\006\150\000\000\001\017\006v\001\017\006\134\000\000\000\000\000\000\000\000\000\000\001\017\001\017\000\000\001\017\001\017\001\017\001\021\001\021\000\000\000\000\000\000\001\021\000\000\000\000\000\000\001\021\000\000\006\158\000\000\000\000\000\000\001\021\000\000\000\000\001\021\001\021\000\000\001\021\001\021\000\000\000\000\001\025\000\000\001\021\001\025\000\000\000\000\001\021\000\000\000\000\014\146\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\001\025\001\025\000\000\006\166\000\000\001\025\002)\000\000\000\000\001\025\006~\001\021\000\000\001\021\000\000\014\138\000\000\000\000\001\025\001\025\000\000\001\025\001\025\000\000\001\021\000\000\000\000\001\025\000\000\002)\000\000\001\025\000\000\000\000\014\146\000\000\014\162\001\025\000\000\006\214\006\174\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\021\000\000\000\000\001\021\000\000\000\000\000\000\014\154\001\025\000\000\001\025\000\000\000\000\000\000\000\000\000\000\000\249\000\000\000\000\000\249\000\000\001\025\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\006f\006\142\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\006n\014\154\000\000\000\000\000\249\000\000\000\249\000\249\000\000\000\000\001)\000\000\000\000\001)\000\000\000\000\006\150\000\000\001\025\006v\001\025\006\134\000\000\000\000\000\000\000\000\000\000\001\025\001\025\000\000\001\025\001\025\001\025\014\130\014\170\000\000\000\000\000\000\001)\000\000\000\000\000\000\001)\000\000\006\158\000\000\000\000\000\000\014\138\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\014\146\000\000\014\162\001)\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\014\170\000\000\006\166\000\000\001!\000\249\000\000\000\000\001!\006~\014\186\000\000\001)\000\000\014\138\000\000\000\000\001!\001!\000\000\001!\001!\000\000\001)\000\000\000\000\001!\000\000\000\249\000\000\001!\000\000\000\000\014\146\000\000\014\162\001!\000\000\000\249\006\174\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\014\154\001!\000\000\001!\000\000\000\000\000\000\000\000\000\000\000\225\000\000\000\000\000\225\000\000\001!\000\000\000\000\001)\000\000\001)\000\000\000\000\000\000\000\000\000\000\000\000\001)\001)\000\000\001)\001)\001)\000\225\000\225\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\000\001!\000\000\000\000\006n\014\154\000\000\000\000\000\225\000\000\000\225\000\225\000\000\000\000\001%\000\000\000\000\001%\000\000\000\000\000\225\000\000\001!\006v\001!\006\134\000\000\000\000\000\000\000\000\000\000\001!\001!\000\000\001!\001!\001!\014\130\014\170\000\000\000\000\000\000\001%\000\000\000\000\000\000\001%\000\000\000\225\000\000\000\000\000\000\014\138\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\014\146\000\000\014\162\001%\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\014\170\000\000\000\225\000\000\001-\000\225\000\000\000\000\001-\006~\014\186\000\000\001%\000\000\014\138\000\000\000\000\001-\001-\000\000\001-\001-\000\000\001%\000\000\000\000\001-\000\000\000\225\000\000\014\178\000\000\000\000\014\146\000\000\014\162\001-\000\000\000\225\000\225\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\014\154\014\186\000\000\001-\000\000\000\000\000\000\000\000\000\000\000\213\000\000\000\000\000\213\000\000\001-\000\000\000\000\001%\000\000\001%\000\000\000\000\000\000\000\000\000\000\000\000\001%\001%\000\000\001%\001%\001%\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\194\000\000\000\000\001-\000\000\000\000\000\213\014\154\000\000\000\000\000\213\000\000\000\213\000\213\000\000\000\000\014z\000\000\000\000\001=\000\000\000\000\000\213\000\000\001-\006v\001-\000\213\000\000\000\000\000\000\000\000\000\000\001-\001-\000\000\001-\001-\001-\014\130\014\170\000\000\000\000\000\000\001=\000\000\000\000\000\000\001=\000\000\000\213\000\000\000\000\000\000\014\138\000\000\000\000\001=\001=\000\000\001=\014\234\000\000\000\000\014z\000\000\001=\0011\000\000\000\000\014\178\000\000\000\000\014\146\000\000\014\162\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\130\014\170\000\000\000\213\000\000\0011\000\213\000\000\000\000\0011\006~\014\186\000\000\001=\000\000\014\138\000\000\000\000\0011\0011\000\000\0011\0011\000\000\001=\000\000\000\000\0011\000\000\000\213\000\000\014\178\000\000\000\000\014\146\000\000\014\162\0011\000\000\000\213\000\213\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\194\000\000\000\000\001=\000\000\000\000\000\000\014\154\014\186\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\000\000\001=\000\000\001=\000\000\000\000\000\000\000\000\000\000\000\000\001=\001=\000\000\014\242\014\202\001=\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014\194\000\000\000\000\0011\000\000\000\000\000\000\014\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\014z\000\000\000\000\0019\000\000\000\000\000\000\000\000\0011\000\000\0011\000\000\000\000\000\000\000\000\000\000\000\000\0011\0011\000\000\0011\014\202\0011\014\130\014\170\000\000\000\000\000\000\0019\000\000\000\000\000\000\0019\000\000\000\000\000\000\000\000\000\000\014\138\000\000\000\000\0019\0019\000\000\0019\014\234\000\000\000\000\000\000\000\000\0019\000\000\000\000\021V\014\178\000\000\000\000\014\146\000\000\014\162\0019\000\000\000\000\000\000\000\000\021Z\000\000\000\000\000\000\000\165\000\000\000\000\023\154\000\000\000\000\021^\000\000\021b\n\253\n\253\000\000\000\000\014\186\000\000\0019\021f\000\000\000\000\000\000\000\000\000\000\021j\000\165\000\165\021r\0019\000\000\000\000\021v\000\000\000\000\000\000\000\000\000\000\021z\000\000\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\165\000\165\025B\023J\000\000\n\253\000\000\021~\000\000\014\194\000\165\000\000\0019\012\018\000\000\012\"\014\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\253\0019\021\130\0019\000\000\021\134\000\165\021V\000\000\000\000\0019\0019\000\000\0019\014\202\0019\022\210\000\000\021\138\021Z\000\000\000\000\000\000\021\142\000\n\021\146\000\000\021\150\021\154\021^\021\158\021b\000\000\000\153\000\000\000\000\n\209\021\162\000\000\021f\021\166\000\000\000\000\000\000\000\000\021j\000\165\000\000\021r\000\000\000\000\000\000\021v\012\026\000\000\021\170\000\153\000\153\021z\000\000\021\174\021\178\n\253\000\000\000\000\000\000\000\000\000\165\000\000\023\230\000\000\000\153\n\209\000\000\021~\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\165\000\165\000\000\000\000\000\000\000\153\000\000\000\000\012\018\000\000\000\153\000\000\000\000\tN\005\253\000\000\000\000\n\209\000\000\021\130\000\000\000\000\021\134\t\146\005\253\000\000\005\253\000\000\000\000\000\000\000\000\000\000\000\000\000\153\000\000\021\138\005\253\000\000\005\253\000\000\021\142\000\n\021\146\000\000\021\150\021\154\005\253\021\158\005\253\000\000\000\000\t\210\005\253\000\000\021\162\005\253\005\253\021\166\000\000\005\253\000\000\000\000\005\253\000\000\005\253\005\253\000\000\000\000\000\000\005\253\000\000\000\000\021\170\000\153\005\253\005\253\005\253\021\174\021\178\n\209\012\026\005\253\000Z\000\000\005\253\000\000\005\253\n&\000\000\000\000\005\253\005\253\000Z\005\253\000\153\000\000\005\253\005\253\000\000\000\000\000\000\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\000\153\000\153\005\253\000\000\000\000\005\253\nR\000\000\000\000\005\253\005\253\000Z\005\253\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\005\253\005\253\000\000\005\253\005\253\000\000\005\253\000\000\000\000\005\253\005\253\005\253\000\000\005\253\005\253\000\000\005\253\000\000\000\000\005\253\000\000\000\000\000\000\005\253\000\000\000\000\005\253\001\170\000\000\000\000\001\174\005\253\005\253\001\178\000\000\000\000\005\253\005\253\005\253\005\253\000\000\005\253\005\253\015\014\005\253\000\000\005\253\005\253\000\000\001\182\000\000\005\253\001\186\000\000\005\253\000\000\000\000\000\000\001\202\001\206\000\000\001\214\000\000\000\000\000\000\000\000\000\000\000\000\001\222\005\253\001\226\000\000\000\000\000\000\005\253\005\253\000\000\000\000\001\230\001\234\000\000\000\000\001\238\001\242\001\246\000\000\000\000\001\250\001\254\000\000\001\170\002\002\000\000\001\174\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\189\000\000\002\006\000\000\000\000\000\000\001\182\002\n\000\000\001\186\000\n\000\000\000\000\000\000\000\000\001\202\001\206\000\000\001\214\002\018\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\000\000\000\000\002\022\000\000\000\000\000\000\000\000\001\230\001\234\000\000\000\000\001\238\001\242\001\246\000\000\002\026\001\250\001\254\000\000\001\170\002\002\002\030\001\174\000\000\b\189\001\178\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\018\170\002&\002\006\000\000\000\000\000\000\001\182\002\n\000\000\001\186\000\n\000\000\000\000\000\000\000\000\001\202\001\206\000\000\001\214\002\018\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\001\170\000\000\002\022\001\174\000\000\000\000\001\178\001\230\001\234\000\000\000\000\001\238\001\242\001\246\000\000\002\026\001\250\001\254\000\000\000\000\002\002\002\030\001\182\000\000\000\000\001\186\000\000\000\000\000\000\000\000\002\"\001\202\007J\000\000\001\214\000\000\002&\002\006\000\000\000\000\000\000\001\222\002\n\001\226\000\000\000\n\000\000\000\000\000\000\000\000\000\000\001\230\001\234\000\000\002\018\001\238\001\242\001\246\000\000\000\000\001\250\001\254\000\000\001\170\002\002\002\022\001\174\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\026\000\000\000\000\002\006\000\000\000\000\002\030\001\182\002\n\000\000\001\186\000\n\000\000\000\000\000\000\002\"\001\202\002\014\000\000\001\214\002\018\002&\000\000\000\000\000\000\000\000\001\222\000\000\001\226\000\000\000\000\002\022\000\000\000\000\000\000\000\000\001\230\001\234\000\000\006*\001\238\001\242\001\246\000\000\002\026\001\250\001\254\000\000\004Y\002\002\002\030\004Y\000\000\000\000\004Y\000\000\000\000\000\000\000\000\002\"\000\000\000\000\000\000\000\000\000\000\002&\002\006\000\000\000\000\000\000\004Y\002\n\000\000\004Y\000\n\000\000\000\000\000\000\000\000\004Y\004Y\000\000\004Y\002\018\000\000\000\000\000\000\000\000\000\000\004Y\000\000\004Y\000\000\000\000\002\022\000\000\000\000\000\000\000\000\004Y\004Y\000\000\000\000\004Y\004Y\004Y\000\000\002\026\004Y\004Y\000\000\021V\004Y\002\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\"\021Z\000\000\000\000\000\000\000\000\002&\004Y\000\000\000\000\000\000\021^\004Y\021b\000\000\004Y\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\004Y\000\000\000\000\021j\000\000\000\000\021r\000\000\000\000\000\000\021v\000\000\000\000\000\000\000\000\000\000\021z\000\000\000\000\000\000\000\000\000\000\005\253\000\000\004Y\005\253\000v\022\206\000\000\005\253\004Y\005\253\021~\000\000\000\000\000\000\005\253\005\253\000\000\004Y\000\000\000\000\000\000\000\000\000\000\004Y\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\209\000\000\021\130\000\000\000\000\021\134\005\253\000\000\000\000\005\253\000\194\000\000\000\000\005\253\000\000\005\253\000\000\000\000\021\138\000\000\005\253\005\253\000\000\021\142\000\n\021\146\000\000\021\150\021\154\005\253\021\158\000\000\005\253\001f\000\000\005\253\001\002\021\162\000Z\005\253\021\166\005\253\000\000\000\000\000\000\000\000\005\253\005\253\000\000\005\253\005\253\000\000\000\000\005\253\005\253\021\170\000\000\000\000\000\000\000\000\021\174\021\178\n\209\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\000\000\000\000\000\000\004*\000\000\005\253\000\000\000\000\000Z\005\253\000\000\005\253\000\000\000\000\000\000\005\253\000\000\000\000\000\000\005\253\005\253\000\000\000\000\005\253\005\253\005\253\000\000\000\000\000\000\004\254\000\000\000\000\000\000\000\000\000Z\005\253\000\000\005\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\253\005\253\000\000\000\000\005\253\005\253\000\000\000\000\005\253\000\000\000\000\005\253\005\253\000\000\000\000\005\253\005\253\000\000\000\000\000\000\005\253\005\253\000\000\000\000\000\000\005\253\000\000\005\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\000\000\000\000\000\000\000\000\000\000\000\000\005\253\000\000\000\000\005\253\005\253\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\005\253\000\000\001\170\000\000\005\253\001\190\000\000\000\000\001\194\000\000\000\000\000\000\000\000\005\253\000\000\000\000\005\253\005\253\000\000\000\000\005\253\000\000\000\000\000\000\001\182\005\253\005\253\001\186\000\000\000\000\005\253\000\000\000\000\001\198\001\218\000\000\001\214\000\000\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\001\170\000\000\000\000\001\190\000\000\000\000\001\194\005v\001\234\000\000\000\000\005z\001\242\001\246\000\000\000\000\005~\005\130\000\000\000\000\005\134\000\000\001\182\000\000\000\000\001\186\000\000\000\000\000\000\000\000\000\000\001\198\0072\000\000\001\214\000\000\000\000\005\138\000\000\000\000\000\000\001\222\005\142\001\226\000\000\000\n\000\000\000\000\000\000\000\000\000\000\005v\001\234\000\000\005\150\005z\001\242\001\246\000\000\000\000\005~\005\130\005\253\000\000\005\134\005\253\003R\000\000\005\253\005\253\000\000\005\253\003\150\000\000\000\000\005\253\005\253\005\253\005\154\005\253\003\214\005\138\005\253\005\253\005\158\005\253\005\142\000\000\000\000\000\n\005\253\005\253\000\000\005\162\000\000\000\000\000\000\000\000\005\150\002&\000\000\000\000\000\000\000\000\000\000\000\000\005\253\000\000\000\000\000\000\005\253\000\000\005\253\000\000\000\000\000\000\005\253\000\000\000\000\000\000\005\253\000\000\005\154\000\000\005\253\000\000\005\253\000\000\005\158\000\000\007z\000\000\005\253\000\000\000\000\000Z\000\000\005\162\005\253\000\000\005\253\000Z\000\000\002&\005\253\000\000\005\253\000\000\000\000\000Z\005\253\005\253\005\253\000\000\000\157\000\000\005\253\005\253\000\000\000\000\005\253\000\000\005\253\000\000\005\253\005\253\000\000\000\000\005\253\000\000\000\000\000\000\000\000\005\253\000\000\000\000\005\253\000\157\000\157\005\253\000\000\000\000\000\000\005\253\000\000\000\000\000\000\005\253\005\253\005\253\000\000\000\000\000\157\000\000\005\253\000\000\000\000\005\253\000\157\000\157\000\000\000\000\005\253\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\012\018\000\000\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\253\000\000\000\000\005\253\005\253\000\000\005\253\005\253\000\000\005\253\005\253\000\000\005\253\005\253\005\253\000\157\000\000\005\253\005\253\005\253\000\000\005\253\001\170\005\253\000\000\001\190\005\253\005\253\001\194\000\000\000\000\005\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\001\182\000\000\000\000\001\186\000\000\000\000\000\000\000\000\000\000\001\198\005\146\000\157\001\214\000\000\000\000\000\000\000\000\000\000\012\026\001\222\000\000\001\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005v\001\234\000\000\000\157\005z\001\242\001\246\000\000\014e\005~\005\130\014e\000\000\005\134\000\000\000\000\000\000\000\000\000\157\000\157\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\138\014e\014e\000\000\000\000\005\142\000\000\000\000\000\n\005\182\000\000\000\000\000\000\000\000\000\000\000\000\014e\005\150\000\000\000\000\014e\000\000\014e\014e\000\000\000\000\005\190\000\000\000\000\005\202\000\000\000\000\014e\001\170\000\000\014e\n\190\014e\000\000\n\194\000\000\005\154\000\000\000\000\000\000\000\000\000\000\005\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\182\005\162\000\000\000\000\000\000\014e\000\000\002&\000\000\n\198\n\210\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\000\000\000\000\000\000\005\214\000\000\000\000\000\000\n\230\001\234\000\000\000\000\n\234\001\242\001\246\000\000\000\000\n\238\n\242\000\000\000\000\n\246\000\000\000\000\014e\014e\000\000\014e\000\000\005\218\000\000\014e\000\000\000\000\000\000\000\000\000\000\n\250\n\254\000\000\005\226\001\170\000\000\011\002\n\190\000\000\000\n\n\194\000\000\000\000\014e\000\000\000\000\000\000\000\000\011\n\014e\000\000\000\000\000\000\014e\014e\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n\198\011\006\000\000\000\000\000\000\000\000\000\000\011\014\000\000\000\000\001\222\000\000\001\226\011\018\000\000\000\000\000\000\000\000\000\000\000\000\n\230\001\234\011\022\000\000\n\234\001\242\001\246\000\000\002&\n\238\n\242\000\000\000\000\n\246\000\000\000\000\000\000\000\000\001\170\000\000\000\000\n\190\000\000\000\000\n\194\000\000\000\000\000\000\000\000\n\250\n\254\000\000\000\000\000\000\000\000\011\002\000\000\000\000\000\n\000\000\001\182\000\000\000\000\000\000\000\000\000\000\000\000\011\n\000\000\n\198\011\030\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\001\170\000\000\000\000\r\150\000\000\000\000\r\154\n\230\001\234\011\014\000\000\n\234\001\242\001\246\000\000\011\018\n\238\n\242\000\000\000\000\n\246\000\000\001\182\000\000\011\022\000\000\000\000\000\000\000\000\000\000\002&\r\158\014\250\000\000\000\000\000\000\n\250\n\254\000\000\000\000\000\000\001\222\011\002\001\226\000\000\000\n\000\000\000\000\000\000\000\000\000\000\r\182\001\234\000\000\011\n\r\186\001\242\001\246\000\000\000\000\r\190\r\194\000\000\000\000\r\198\000\000\000\000\000\000\000\000\001\170\000\000\000\000\r\150\000\000\000\000\r\154\000\000\000\000\011\014\000\000\n\250\r\202\000\000\000\000\011\018\000\000\r\206\000\000\000\000\000\n\000\000\001\182\000\000\011\022\000\000\000\000\000\000\000\000\r\214\002&\r\158\r\162\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\222\000\000\001\226\001\170\000\000\000\000\r\150\000\000\000\000\r\154\r\182\001\234\r\218\000\000\r\186\001\242\001\246\000\000\r\222\r\190\r\194\000\000\000\000\r\198\000\000\001\182\000\000\r\226\000\000\000\000\000\000\000\000\000\000\002&\r\158\r\210\000\000\000\000\000\000\n\250\r\202\000\000\000\000\000\000\001\222\r\206\001\226\000\000\000\n\000\000\000\000\000\000\000\000\b\181\r\182\001\234\000\000\r\214\r\186\001\242\001\246\000\000\000\000\r\190\r\194\b\181\000\000\r\198\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\181\000\000\b\181\000\000\000\000\000\000\r\218\000\000\n\250\r\202\b\181\000\000\r\222\000\000\r\206\000\000\b\181\000\n\000\000\b\181\000\000\r\226\023\226\b\181\022*\000\000\r\214\002&\000\000\b\181\000\000\000\000\000\000\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021^\b\181\021b\000\000\000\000\000\000\r\218\000\000\000\000\000\000\021f\000\000\r\222\000\000\000\000\000\000\021j\000\000\000\000\021r\000\000\r\226\000\000\021v\000\000\000\000\000\000\002&\b\181\021z\000\000\b\181\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\181\021~\024\002\000\000\000\000\b\181\b\181\b\181\000\000\b\181\b\181\000\000\b\181\000\000\000\000\000\000\000\000\000\000\000\000\b\181\000\000\000\000\b\181\b\029\000\000\000\000\000\000\000\000\021\130\000\000\000\000\021\134\000\000\000\000\000\000\b\029\000\000\b\181\000\000\000\000\000\000\000\000\b\181\b\181\021\138\b\029\000\000\b\029\000\000\021\142\000\n\021\146\000\000\021\150\021\154\b\029\021\158\000\000\000\000\000\000\000\000\b\029\000\000\021\162\b\029\000\000\021\166\000\000\b\029\000\000\022\178\000\000\000\000\000\000\b\029\000\000\000\000\000\000\000\000\000\000\000\000\021\170\021Z\000\000\000\000\000\000\021\174\021\178\000\000\000\000\b\029\024\002\021^\000\000\021b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\000\000\000\000\000\000\021j\000\000\000\000\021r\000\000\000\000\000\000\021v\000\000\b\029\000\000\000\000\b\029\021z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\029\000\000\000\000\000\000\021~\b\029\b\029\b\029\000\000\b\029\b\029\000\000\b\029\000\000\000\000\000\000\000\000\000\000\000\000\b\029\000\000\000\000\b\029\000\000\000\000\000\000\022\202\000\000\000\000\000\000\000\000\021\130\000\000\000\000\021\134\000\000\000\000\b\029\021Z\000\000\000\000\000\000\b\029\b\029\000\000\000\000\000\000\021\138\021^\000\000\021b\000\000\021\142\000\n\021\146\000\000\021\150\021\154\021f\021\158\000\000\000\000\000\000\000\000\021j\000\000\021\162\021r\000\000\021\166\021V\021v\000\161\000\000\000\000\000\000\000\000\021z\000\000\000\000\000\000\000\000\021Z\000\000\021\170\000\000\000\000\000\000\000\000\021\174\021\178\000\000\021^\021~\021b\000\161\000\161\000\000\000\000\000\000\000\000\000\000\021f\000\000\000\000\000\000\000\000\000\000\021j\000\000\012\n\021r\000\000\000\000\000\000\021v\000\161\000\161\000\000\000\000\021\130\021z\000\000\021\134\000\000\000\000\000\161\000\000\000\000\012\018\000\000\012\"\000\000\000\000\000\000\000\000\021\138\023v\000\000\000\000\000\000\021\142\000\n\021\146\000\000\021\150\021\154\000\000\021\158\000\000\000\000\000\000\000\000\000\000\000\161\021\162\000\000\000\000\021\166\021V\000\000\000\000\000\000\000\000\021\130\000\000\000\000\021\134\000\000\000\000\000\000\021Z\000\000\021\170\000\000\000\000\000\000\000\000\021\174\021\178\021\138\021^\000\000\021b\000\000\021\142\000\n\021\146\000\000\021\150\021\154\021f\021\158\000\000\000\161\000\000\000\000\021j\000\000\021\162\021r\012\026\021\166\000\000\021v\000\000\000\000\000\000\000\000\000\000\021z\000\000\000\000\000\000\000\000\000\161\000\000\021\170\000\000\000\000\000\000\000\000\021\174\021\178\000\000\000\000\024\206\000\000\000\000\000\000\000\161\000\161\000\000\004i\004i\004i\004i\000\000\004i\000\000\004i\004i\000\000\004i\000\000\004i\000\000\004i\000\000\004i\004i\004i\004i\021\130\000\000\000\000\021\134\000\000\000\000\000\000\000\000\000\000\001v\000\000\000\000\000\000\000\000\004i\000\000\021\138\000\000\000\000\000\000\000\000\021\142\000\n\021\146\000\000\021\150\021\154\000\000\021\158\004i\000\000\000\000\000\000\000\000\000\000\021\162\000\000\000\000\021\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004i\000\000\000\000\000\000\021\170\000\000\004i\000\000\000\000\021\174\021\178\000\000\000\000\000\000\004i\000\000\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\004i\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\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\000R\000V\000f\000\170\000\000\000\174\004i\000\178\000\246\000\000\000\254\000\000\001\014\001N\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\001^\001F\000\000\000\000\000\000\000\000\001j\000\000\021V\000\000\000\000\000\000\000\000\000\000\001b\000\000\001N\000\000\004i\000\000\021Z\000\000\000\000\000\000\000\000\000\000\000\000\001n\000\000\000\000\021^\000\000\021b\000\000\000\000\000\000\001^\000\000\000\000\000\000\021f\000\000\001j\000\000\000\000\000\000\000\000\000\000\000\000\021r\001b\000\000\000\000\021v\000\000\000\000\000\000\000\000\000\n\021z\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\000\000\021~\000\000\000\000\001r\000\000\000\000\000\000\000\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\000\000\000\000\000\000\000\000\000\000\000\000\021\130\012\181\000\000\021\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001r\000\000\000\000\000\000\021\138\000\000\000\000\000\000\000\000\021\142\024\250\021\146\000\000\021\150\021\154\000\000\021\158\000\000\000\000\000\000\000\000\000\000\000\000\021\162\000\000\002I\021\166\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\021\170\000\000\000\000\000\000\000\000\021\174\021\178\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\177\000R\000V\000f\000\170\000\000\000\174\000\000\000\178\000\246\000\000\000\254\000\000\001\014\001F\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\012\002\012*\000\000\000\000\000\000\000\000\001N\000\000\000\000\000\000\000\000\000\000\001F\000\000\000\000\012\n\000\000\000\000\000\000\014I\000\000\000\177\000\177\000\000\000\000\000\000\001^\001N\000\000\000\000\000\000\000\177\001j\000\000\012\018\000\000\012\"\000\000\000\000\000\000\001b\000\000\014I\014I\004^\004b\000\000\001^\000\000\000\000\0116\000\217\000\000\001n\000\217\000\000\000\000\014I\000\000\012:\000\000\001b\000\000\014I\014I\026~\004b\011>\000\000\000\000\011J\000\000\000\000\014I\000\217\000\217\014I\000\000\014I\000\000\000\000\000\000\000\000\000\000\000\n\000\000\000\000\000\000\000\000\000\217\000\000\000\000\000\000\000\217\000\000\000\217\000\217\000\000\000\000\000\177\000\000\014I\000\000\000\000\004f\000\217\012\026\000\000\006v\000\000\000\217\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\177\011V\000\000\000\000\000\000\026\130\003m\000\000\000\000\002A\000\000\000\000\000\000\000\217\000\000\000\177\000\177\000\000\000\000\000\000\000\000\014I\000\000\000\000\000\000\000\000\011Z\003e\014I\000\000\000\000\000R\000V\000f\000\170\000\000\000\174\011b\000\178\000\246\000\000\000\254\014I\001\014\000\000\001\022\000\000\001\030\0012\001:\001>\000\000\000\000\000\217\000\000\000\000\000\217\014I\014I\000\000\006~\000\000\000\000\000\221\000\000\001F\000\221\000\000\000\000\000\000\000\000\000\237\000\000\000\000\000\237\000\000\000\000\000\000\000\000\000\217\001N\000\000\000\000\000\000\000\000\000\000\000\221\000\221\000\000\000\217\000\217\000\000\000\000\000\000\006f\006\142\000\000\000\000\000\000\000\000\001^\006n\000\000\000\000\000\000\000\221\000\000\000\221\000\221\006n\000\000\000\000\000\000\000\237\001b\000\237\000\237\000\221\026~\004b\006v\000\000\006\134\000\229\000\000\000\237\000\229\000\000\006v\000\000\006\134\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\221\006f\006\142\000\000\000\000\000\000\000\000\000\000\006\158\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006n\000\000\000\000\000\000\000\229\000\000\000\229\000\229\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\229\026\138\000\000\006v\000\000\006\134\000\000\000\000\000\221\000\000\000\000\000\221\000\000\000\000\000\000\006~\000\237\000\000\000\000\000\237\000\000\000\000\000\000\006~\000\000\000\000\000\000\000\000\000\229\000\000\000\000\000\000\000\233\000\000\000\221\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\000\000\221\000\221\000\000\000\000\000\000\000\000\000\000\000\000\000\237\000\237\000\000\006f\006\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\241\000\000\000\000\000\241\000\229\000\000\006n\000\229\000\000\000\000\000\233\006~\000\233\000\233\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\233\006f\006\142\006v\000\000\006\134\000\000\000\000\000\229\000\000\006^\000\000\000\000\001\001\000\000\000\000\006n\000\000\000\229\000\229\000\241\000\000\000\241\000\241\000\000\000\000\000\000\000\000\006\158\000\000\000\000\000\000\006\150\006f\006\142\006v\000\000\006\134\000\000\000\000\000\000\000\000\006^\000\000\000\000\000\245\000\000\000\000\006n\000\000\000\000\000\000\001\001\000\000\001\001\006\206\000\000\000\000\000\000\000\000\006\158\000\000\000\000\000\000\006\150\006f\006\142\006v\000\233\006\134\000\000\000\233\000\000\000\000\006^\006~\000\000\000\253\000\000\000\000\006n\000\000\000\000\000\000\000\245\000\000\000\245\000\245\000\000\000\000\000\000\000\000\006\158\000\000\000\233\000\000\006\150\006f\006\142\006v\006\166\006\134\000\000\000\241\000\233\000\233\000\000\006~\000\000\000\000\000\000\000\000\006n\000\000\000\000\000\000\000\253\000\000\000\253\006\206\000\000\000\000\000\000\000\000\006\158\000\000\000\241\000\000\006\150\000\000\000\000\006v\006\166\006\134\000\000\001\001\000\241\000\241\000\169\006~\nf\000\000\000\000\nj\000\000\000\000\000\000\025\214\000\000\nn\000\000\000\000\000\000\000\000\nr\025\218\006\158\000\000\001\001\000\000\000\000\012\002\012*\000\000\006\166\000\000\000\000\000\245\006\214\006\174\000\000\006~\000\000\000\000\000\000\000\000\012\n\000\000\000\000\000\000\000\000\000\000\000\169\000\169\000\000\000\000\000\000\000\000\016\202\000\000\000\245\000\000\000\169\000\173\000\000\012\018\006\166\012\"\000\000\000\253\000\245\006\174\000\000\006~\016\206\000\000\000\000\000\000\000\000\000\000\000\000\000\181\000\000\000\000\000\000\000\000\012\002\012*\000\000\011\250\000\169\000\000\000\253\000\000\001\234\000\000\000\000\000\000\r\026\001\246\000\000\012\n\000\253\006\174\012\002\012*\000\000\000\173\000\173\000\000\000\000\000\000\012\002\012*\000\000\000\000\000\000\000\173\000\000\012\n\012\018\000\000\012\"\000\000\000\000\000\181\000\181\012\n\000\000\000\000\000\169\000\n\000\000\000\197\012Z\0122\004\189\012\026\012\018\000\000\012\"\000\000\000\000\0122\000\000\012:\012\018\000\000\012\"\000\000\000\000\000\169\000\000\000\000\000\000\011\250\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012:\000\000\000\000\000\169\000\169\000\000\000\000\000\000\012:\000\000\000\000\000\000\000\000\000\000\000\000\012\002\012*\000\000\t)\t)\000\000\000\000\000\173\t)\000\000\000\000\000\000\000\000\000\000\012\026\012\n\000\000\000\000\000\000\000\000\000\000\000\185\000\185\000\000\000\000\012B\000\000\011\250\000\173\000\000\000\000\0122\012\026\012B\012\018\000\000\012\"\000\000\000\000\000\000\012\026\000\000\000\000\000\173\000\173\000\000\000\181\000\000\000\000\000\000\012\002\012*\000\000\000\000\000\197\000\000\000\000\000\000\000\000\012:\000\000\000\181\000\181\000\000\000\000\012\n\000\000\000\000\000\000\012b\012J\000\193\012Z\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0122\000\000\000\000\012\018\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\012B\000\000\000\000\000\000\000\000\000\000\000\000\012\026\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\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\012J\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012B\000\000\000\000\000\000\000\000\000\000\000\000\012\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\193\012J")) let lhs = - (16, "\000\012\000\011\000\n\000\t\000\008\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001\018\001\018\001\018\001\017\001\017\001\017\001\017\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\014\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\013\001\012\001\012\001\012\001\012\001\011\001\n\001\n\001\n\001\t\001\t\001\t\001\008\001\008\001\008\001\007\001\007\001\007\001\006\001\005\001\004\001\003\001\003\001\002\001\002\001\001\001\001\001\000\001\000\000\255\000\255\000\254\000\253\000\253\000\252\000\252\000\251\000\251\000\251\000\251\000\250\000\250\000\250\000\249\000\248\000\247\000\246\000\245\000\244\000\243\000\242\000\241\000\240\000\239\000\238\000\237\000\236\000\235\000\235\000\234\000\234\000\233\000\233\000\232\000\232\000\231\000\231\000\231\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\229\000\228\000\228\000\228\000\228\000\227\000\227\000\226\000\226\000\225\000\225\000\224\000\224\000\224\000\223\000\223\000\223\000\222\000\222\000\222\000\222\000\221\000\221\000\221\000\221\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\219\000\218\000\218\000\217\000\217\000\217\000\216\000\216\000\215\000\215\000\215\000\214\000\214\000\213\000\213\000\213\000\212\000\211\000\210\000\210\000\209\000\209\000\208\000\208\000\207\000\207\000\206\000\206\000\205\000\204\000\203\000\203\000\202\000\202\000\201\000\201\000\201\000\200\000\199\000\198\000\198\000\197\000\196\000\196\000\196\000\196\000\196\000\195\000\195\000\195\000\195\000\194\000\194\000\194\000\194\000\193\000\193\000\193\000\193\000\192\000\191\000\191\000\190\000\190\000\190\000\189\000\188\000\188\000\188\000\188\000\187\000\186\000\186\000\185\000\185\000\184\000\184\000\183\000\183\000\183\000\183\000\182\000\182\000\181\000\181\000\181\000\181\000\181\000\180\000\180\000\180\000\180\000\179\000\179\000\179\000\179\000\179\000\178\000\177\000\177\000\177\000\177\000\176\000\175\000\175\000\174\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\169\000\169\000\169\000\169\000\169\000\169\000\168\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\143\000\143\000\142\000\142\000\141\000\141\000\140\000\140\000\139\000\139\000\138\000\138\000\137\000\137\000\136\000\136\000\135\000\135\000\134\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000{\000{\000{\000z\000z\000z\000y\000y\000y\000y\000x\000w\000v\000u\000t\000s\000r\000r\000q\000q\000q\000p\000p\000o\000o\000o\000n\000n\000m\000l\000l\000l\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000c\000c\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000\\\000\\\000[\000[\000[\000[\000[\000Z\000Z\000Y\000Y\000Y\000Y\000X\000W\000V\000V\000V\000U\000U\000U\000T\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000J\000J\000I\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000G\000G\000G\000F\000E\000D\000C\000C\000B\000B\000A\000@\000@\000@\000?\000?\000>\000>\000=\000<\000<\000<\000<\000<\000<\000<\000;\000;\000;\000;\000;\000;\000:\000:\000:\000:\0009\0009\0008\0008\0008\0007\0007\0006\0006\0005\0005\0004\0004\0003\0003\0002\0002\0001\0001\0000\0000\000/\000/\000.\000.\000-\000-\000,\000,\000+\000+\000*\000*\000)\000)\000(\000(\000'\000'\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000&\000%\000%\000%\000$\000$\000$\000$\000#\000#\000#\000#\000#\000\"\000!\000!\000!\000 \000 \000\031\000\031\000\030\000\029\000\028\000\028\000\028\000\028\000\027\000\027\000\027\000\026\000\026\000\025\000\025\000\025\000\024\000\024\000\024\000\023\000\023\000\023\000\023\000\023\000\023\000\023\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\022\000\021\000\021\000\020\000\020\000\020\000\020\000\020\000\020\000\020\000\019\000\019\000\019\000\019\000\019\000\019\000\019\000\018\000\018\000\018\000\018\000\018\000\018\000\018\000\017\000\017\000\017\000\017\000\017\000\017\000\017\000\016\000\016\000\016\000\016\000\016\000\015\000\015\000\014\000\013\000\013\000\013\000\013\000\013") + (16, "\000\012\000\011\000\n\000\t\000\b\000\007\000\006\000\005\000\004\000\003\000\002\000\001\000\000\001\018\001\018\001\018\001\017\001\017\001\017\001\017\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\016\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\015\001\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\014\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\r\001\012\001\012\001\012\001\012\001\011\001\n\001\n\001\n\001\t\001\t\001\t\001\b\001\b\001\b\001\007\001\007\001\007\001\006\001\005\001\004\001\003\001\003\001\002\001\002\001\001\001\001\001\000\001\000\000\255\000\255\000\254\000\253\000\253\000\252\000\252\000\251\000\251\000\251\000\251\000\250\000\250\000\250\000\249\000\248\000\247\000\246\000\245\000\244\000\243\000\242\000\241\000\240\000\239\000\238\000\237\000\236\000\235\000\235\000\234\000\234\000\233\000\233\000\232\000\232\000\231\000\231\000\231\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\230\000\229\000\228\000\228\000\228\000\228\000\227\000\227\000\226\000\226\000\225\000\225\000\224\000\224\000\224\000\223\000\223\000\223\000\222\000\222\000\222\000\222\000\221\000\221\000\221\000\221\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\220\000\219\000\218\000\218\000\217\000\217\000\217\000\216\000\216\000\215\000\215\000\215\000\214\000\214\000\213\000\213\000\213\000\212\000\211\000\210\000\210\000\209\000\209\000\208\000\208\000\207\000\207\000\206\000\206\000\205\000\204\000\203\000\203\000\202\000\202\000\201\000\201\000\201\000\200\000\199\000\198\000\198\000\197\000\196\000\196\000\196\000\196\000\196\000\195\000\195\000\195\000\195\000\194\000\194\000\194\000\194\000\193\000\193\000\193\000\193\000\192\000\191\000\191\000\190\000\190\000\190\000\189\000\188\000\188\000\188\000\188\000\187\000\186\000\186\000\185\000\185\000\184\000\184\000\183\000\183\000\183\000\183\000\182\000\182\000\181\000\181\000\181\000\181\000\181\000\180\000\180\000\180\000\180\000\179\000\179\000\179\000\179\000\179\000\178\000\177\000\177\000\177\000\177\000\176\000\175\000\175\000\174\000\174\000\173\000\173\000\172\000\172\000\171\000\171\000\170\000\170\000\169\000\169\000\169\000\169\000\169\000\169\000\169\000\169\000\168\000\167\000\166\000\166\000\165\000\165\000\164\000\164\000\163\000\163\000\162\000\162\000\161\000\161\000\160\000\160\000\159\000\159\000\158\000\158\000\157\000\157\000\156\000\156\000\155\000\155\000\154\000\154\000\153\000\153\000\152\000\152\000\151\000\151\000\150\000\150\000\149\000\149\000\148\000\148\000\147\000\147\000\146\000\146\000\145\000\145\000\144\000\144\000\143\000\143\000\142\000\142\000\141\000\141\000\140\000\140\000\139\000\139\000\138\000\138\000\137\000\137\000\136\000\136\000\135\000\135\000\134\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\133\000\132\000\131\000\130\000\129\000\128\000\127\000~\000}\000|\000{\000{\000{\000z\000z\000z\000y\000y\000y\000y\000x\000w\000v\000u\000t\000s\000r\000r\000q\000q\000q\000p\000p\000o\000o\000o\000n\000n\000m\000l\000l\000l\000k\000j\000j\000i\000i\000h\000h\000g\000g\000f\000f\000e\000e\000d\000d\000c\000c\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000b\000a\000a\000`\000`\000_\000_\000^\000^\000]\000]\000\\\000\\\000[\000[\000[\000[\000[\000Z\000Z\000Y\000Y\000Y\000Y\000X\000W\000V\000V\000V\000U\000U\000U\000T\000T\000T\000T\000T\000T\000S\000S\000S\000S\000S\000R\000R\000R\000R\000R\000R\000R\000Q\000Q\000Q\000Q\000Q\000Q\000Q\000P\000P\000P\000P\000P\000P\000P\000O\000O\000O\000O\000O\000O\000O\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000N\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000M\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000L\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000K\000J\000J\000J\000J\000J\000I\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000H\000G\000G\000G\000F\000E\000D\000C\000C\000B\000B\000A\000@\000@\000@\000?\000?\000>\000>\000=\000<\000<\000<\000<\000<\000<\000<\000;\000;\000;\000;\000;\000;\000;\000:\000:\000:\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 \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\r\000\r\000\r\000\r\000\r") let goto = - ((16, "\000J\000\n\000\000\000\000\000\000\000S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\235\001H\000\000\000\151\000\139\000\000\000\000\000\000\000m\000\000\000\030\000\146\000\000\000\000\001\024\000\000\001\160\000\000\000\000\000\000\001\214\000\000\002T\000\000\000\000\000\000\000\000\002\210\000\000\002\218\002\248\000\000\000\000\003n\000\000\004\022\000\000\000\000\000\000\004>\000\000\004\150\000\000\005\n\000\000\005\024\005\186\000\000\000\000\005\194\000\000\006\190\000\000\000w\000\000\000\000\006\246\000\000\007\020\000\000\000\000\0072\000\000\007:\000\000\000\000\000\000\007N\000\000\000\130\007v\000\196\000\000\000\000\000\000\006.\0001\003\204\000\000\000\000\008\218\000\000\024\008\000\000\000n\000\134\t\130\000\000\000\000\011\142\000\000\007|\000\000\001\164\n\172\017\154\012\206\017\154\013\244\022\144\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012x\012\206\000\000\000\000\015.\000\000\023\204\000\000\000T\000\000\000\000\000\000\000\000\001F\000\000!R\000\000\000\000\000\132\000\000\001\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\006^\000\000\006\172\000\000\006\232\000\000\008\182\000\000\015\244\000\000\029$\000\000\"\166\000\000%\156\000\000&2\000\000*\140\000\000\023F\000\000\000\000\000\000\000\000\000\000)\164\000\000/N\000\0007\154\000\000\001\234\000\000\000\000\020\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\204\t\018\000\000\000\000\t^\000\000\tj\t\146\000\000\000\000\t\218\000\000\t\230\000\000\000\000\000\000\t\238\000\000\n\008\000\000\000\000\n\n\000\000\n\020\n0\000\000\000\000\n:\000\000\nB\000\000\000\000\000\000\nF\000\000\nP\000\000\nT\000\000\nV\nt\000\000\000\000\nv\000\000\nz\000\000\001\218\n|\000\000\n~\000\000\n\130\000\000\n\136\000\000\000\000\000\000\n\144\000\000\n\164\012,\000\000\n\170\000\000\000\238\026h\000\000\002\190\000\000\003\198\000\000\000\000\001\250\000\000\000\000\001?\005R\000\000\000\000\000\000\000\000\003B\000\000\003\254\000\000\004b\000\000\008\n\000\000\000\000\000\000\000\000\000\000\000\000\t\166\000\000\000\000\000\000\000\000\001\007\000\000\000\000\000\000\000\000\000\000\000\000\000\204\005 \014\130\000\000\n\178\000\000\n\192\015\030\000\000\n\202\000\000\000\000\004\008\000\000\000\000\000\000\000\000\000\000\026\156\000\0001\150\000\000\000\000\000\000\005V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\000\000\000\000\000\000\000\000\000\000\000\000\011<\022\144\000\000\016\016\000\000\019\236\000J\000\000\000\000\000\000\005\232\000\000!\184\000\000\000\0001\230\000\000\000\000\000\000\005\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\216\000\000\026\228\000\000\000\000\000\000\000\000\000\128\000\000\000\0002:\000\000\000\000\000\000\015N\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000&\000\000\003\026\000\000\005B\000\000\007\018\000\000\t\214\000\000\012$\000\000\014\216\000\000\015z\000\000\018\006\000\000\0182\000\000*\144\000\000\003R\000\000\018\192\000\000\019R\000\000\021j\000\000\000\000\000\000\000\000\000\000\000~2\202\000\000\001(\000\000\000\000\002\026\002n\000\000\002d\000\000\000\000\000\000\n\144\000\000\000\000\000\000'\224\000\000\000\000\000\000\000\000\000\000(\182\000\000\000\000\000\000\000\000\000\000\000\000\001\202\000\000\000\000\000\000\n\204\016\184\000\000\n\208\000\000\000\000\000\000\000\000\000\000\n\220\000\000\000\000\001\t\004\250\000\000\005\206\000\000\000\000\000\000\002R\000\000\012f\002\248\n\226\000\000\000\000\n\228\000\000\n\238\n\246\000\000\000\000\011\000\000\000\011\004\000\000\000\000\000\000\011\020\000\000\011\022\000\000\000\000\011\024\000\000\011\030\011*\000\000\000\000\011.\000\000\0114\000\000\000\000\000\000\011@\000\000\011L\000\000\011P\000\000\011T\011Z\000\000\000\000\011^\000\000\011b\000\000\006\244\011p\000\000\011~\000\000\011\134\000\000\011\144\000\000\000\000\000\000\011\148\000\000\003b\000\000\000\000\011\152\016\196\000\000\011\154\000\000\000\000\000\030\000\000\000\000\0002\000\000\000\000\000\000\000\000\000\000\007\144\018\168\000\000\011\158\000\000\011\170\019\002\000\000\011\176\000\000\000\000\012\190\011\190\000\000\000\000\011\194\000\000\011\198\011\212\000\000\000\000\011\226\000\000\011\228\000\000\000\000\000\000\011\236\000\000\011\248\000\000\000\000\012\002\000\000\012\006\012\008\000\000\000\000\012\014\000\000\012\016\000\000\000\000\000\000\012\018\000\000\012\020\000\000\012\030\000\000\012.\0120\000\000\000\000\0122\000\000\012:\000\000\007\154\012<\000\000\012>\000\000\012@\000\000\012D\000\000\000\000\000\000\012F\000\000\012V\024\130\000\000\012Z\000\000\000\000\007\156\024\198\000\000\012\\\000\000\012j\024\230\000\000\012n\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\232\000\000$\184\000\0003\012\000\000\000\000\006\158\000\000\000\000\007\164\005^\000\000\000\000*\192\004H\000\000\003\184\020D\000\000\000\000(\248\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0124(\248\000\000\013\136\000\000\028\236\028n)f\000\000&\206\000\000\000\000\000\000\008\000\000\000\"^\000\000\000\0003\"\000\000\000\000\000\000\008\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003p\000\0003\184\000\000\000\000\000\000\"@\008\142\000\000\000\000\000\000*\230\000\000\000\000\000\000\000\000\008\176\000\000\000\000\000\000\021~\000\000\000\000\029\184\000\000\001\220\000\000\000\000\000\000\005\"\000\000\017\018\000\000\020\222\000\000\027\234\000\000\029\006\000\000&\226\000\000(j\000\000(\210\000\000-\224\000\000/\170\000\0000H\000\0001h\000\0003R\000\000\000\000\000\000\n~\000\000\018\248\030L\000\000+N\013\218+\176\000\000\000\000+\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004$\000\000\000\000\000\000\000\000\005\242\000\000\005\132\000\000\000\000\011X\000\000\000\000\000\000,,\000\000\000\000\000\000\000\000\000\000\0176\000\000\000\000\000\000\000\000,\162\000\000\000\000\000\000\000\000\003\248\012p\000\000,\186\000\000\000\000\000\000\000\000\013\012\000\000-\006\000\000\000\000\000\000\000\000\003\154\000\000\006\202\000\000\012\208\004\018)\128\000\000\000\000\000\000\005\234\000\000\000\000\000\000\000\000\000\000\000\000\015\182)\128\000\000\017\\\000\000\025\134\n\222\000\000\000\000\000\000\008\204\000\000\"\244\000\000\000\0003\198\000\000\000\000\000\000\008\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\142\000\0007\150\000\000\000\000\000\000\003\142\000\000\000\000\000\000\000\000\000\000\000\000\021\020\000\000\023\226\000\000\027\200\000\000#\138\000\000)H\000\0002\030\000\0007J\000\0007\196\000\0007\206\000\0008(\000\000-R\000\000\002\238\000\00082\000\0008H\000\0008v\000\000)\254\000\000\000\000\000\0004\000\000\000\000\000\000\000\000^\000\0004\210\000\000\000\000\000\0004\214\000\000\000\000\000\030\000\000\025\150\000!\001X\000\000\002N\000\000\013$\001\228\007n\000\000\000\000\000\000\000\000\000\000\000\000\000\0005$\000\000%\160\0006\008\254\000\000\000\000\000\000-X\000\000-\172\000\000-\208\000\000%\186&L\001.\004R\t\002\000\000\000\000\000\000\0056\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005l\000\000\000\000\000\000\000\000#v\000\000&f\000\000\000\000\000\000\000\000\000\000\000\000\013\196\000\000\000\000\002\220\000\000\000\000\000\000\025\202\005\016\000\000\026\130\000\000\000\000\013\012\000\000\006\228\000\000\000\000\014p\000\000\027j\000\000\000\000#\154\000\000\000\000\000\000\n\136\000\000\000\000\005\180\000\000\000\000\023\014\000\000\000\000\000\000-\248\000\000\000\000\000\000\024<\000\000\000\000\000\000\000\000.\232\000\000\000\000\000\000\000\000\004~\014 \000\000.\236\000\000\000\000\000\000\000\000\000\000\000\000\015\016\000\000\000\000\007\152\000\000\016\024\000\000\n\136\000\000\000\000\004:\004\198\000\000\006 \000\000\000\000\000\000\000\000\003\142\000\000&\152\000\000\028\004\004\168\028\176\000\000\004\180\000\000\016R\000\000\016\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\030\029J\005:\029\246\000\000\000\000\000\000\006x\000\000\017\240\000\000\008\142\000\000\000\000\026X\007\160\030\144\000\000\007\220\000\000\018\144\031<\000\000\000\000\019<\000\000\000\000\000\000\000\000\000\000\000\000\000\000\008\224\008,\000\000\008\230\000\000\000\000\000\000\000\000\008l\000\000\019\220\000\000\000\000\000\000\00745\180\000\000\000\000\000\000 \188\000\000\000\000\000\000\000\000\007\224\006P\000\000\000\000/\016\000\000\000\000\000\127\000\000\006\138\000\000\000\000\025`\000\000\000\000\000\000/\018\000\000\000\000\000\000\000\000/v\000\000\000\000\008j\006\166\000\000\000\000/\154\000\000\000\000\008\250$\004\000\000\007,\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\000\000\000\000\000\000\001\144\000\000\000\000\007b\000\000\000\000\029\210\000\000\000\000\000\0000\170\000\000\000\000\000\000\000\0001\014\000\000\000\000\t\196\007\246\000\000\000\00014\000\000\000\000\t\002\000\000\000\000\000\000\000\000\003\142\005\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\228\000\000\020\154\000\000\000\000\000\0005\194\000\000\008\208\000\000\000\000\000\000\006\136\000\000\019\254\000\000\000\000\004\134\021:\000\000\021\230\000\000\000\000\000\000\006P\000\0005\246\007\1325\252\000\0006\134\000\000\000\000\000\000\007\224\000\0006\172\008\018\000\000\000\000'<\008\226'V\000\000(,\000\000\000\000\000\000\t:\000\0006\224\t^\000\000\000\000\013Z\tb\019N\000\000\020\208\000\000\000\000\000\000\td\000\0007\130\tz\000\000\000\000\000\000\000\026\000\000\000\000\000\000\002\154\000\000\000\000\000\000\000\000\000\000\000\000\008\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\022\172\000\000\000\000\005f\000\000\000\000\0138\000\000\000\000\000\000\000\000\n\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0138\000\000\000\000\013\018\000\000\013.\000\000\000\000\004r\000\000\007\158\012\198\001V\000\000\000\000\003\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\198\001\138\000\000\000\000\000@\000\000\000\000\000\000\017\238\000\000\000\000\021\224\022\002\000\000\000\000\000\000\000\000\023\002\025>\000\135\000\000\000\000\000\000\028\142\000\000\000\000\000\000\000\000\000\000\000\000\002\132\000\000\000\000\000\206\000\000\000\000\012\146\000\000\000\000\022\252\000\000\000\000\t\244\000\000\000g\000\000\000\000\000\000\000\000\008\020 R\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\029\158 \136\000\000\000\000\000\000\000\000 \142\000\000\000\000\025\222\000\000\013V\000\000\000\000\000\000\027\210\000\000\003\026\000\000\000\000\000\000\031\134\000\000\000\000\016\226!\148\019\134\000\000\"~\000\000\000\000\000\000\000\000\013\022\000\000\000\000\000\000\000Y\000\000\000\028\012\224\004\030\000\000\000\000\000\000\007\166\004\012\000\000\000\000\000\000\000\000\004@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t$\000\000\000\000\002\218\000\000\000\029\013`\007\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023L\000\000\000\000\031\236#\134\000\000\000\000\000\000\000\000\005>\000\000\008\186\011\148\000\000\025\198\000\000\000\000\000\000\000\000\000\000\000\002\028\028\000\000\000\000\030\000\000\000\000\000\000\000\000\000\030\168\000\000 4\000\000\000\000\000\000\000\000\tF\000\000\000\000\000\000\003\210\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\0001B\000\000\000\000\000\000\003\132\000\000\000\000\000\000\000\000\000\000\000\004\001\172\003:\004\220\000\000\005\242\tv\t\134\t\152\000\000\000\000\000\000\000\000\000\000\000\000\005\138\022\134\000\000 \004\t\184\000\000\000\000\n\028\000\000\023\130\000\000*T\000\000\000\000\005\224\024\"\000\000 8\000\000\006\148 \240\000\000\000\000\000\000\tB\005\242\000\000\000\000\000\000\000\000\006b\000\000\007\148\000\000\006\204\t\022\000\000\000\000\000\000\003B\000\000\003\254\000\000\008\198\000\000\000\000\012\130\000\000\000\000\000\000\000\000\tz\000\000\000\000\n\250\000\000\024\206\000\000\026\252\013*\000\000\000\000\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\000\000\0001\\\000\000\006\168\000\000\000\000\000\000\000\000\000\000\000\252\000\000\n2\005\188\011\026\000\000\002\144\011\198\000\000\n`\000\000\002\180\000\000\003\132\000\000\004\140\000\000\026\252\000\000\000\000\000\000\000\000\000\000\005,\000\000\n\204\000\000\006 \000\000\026\252\013\142\000\000\003\008\000\000\013x\012f\000\000\t\188\000\000\n\028\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n^\000\000\nb\000\000\000\000\000\000\000\000\000\000\000\000\013\148\012|\000\000\000\000\012\162\000\000\000\000\012\136\t\220\013\208\000\000\013\214\000\000\000\000\005\192\002@\000\000\012\186\000\000\000\000\012\242\000\000\000\000\000\000\000\000\000\000\000\000\013\194\012\172\000\000\000\000\000\000\012\208\012\180\n&\t\000\012\212\013\012\000\000\000\000\012\204\n:\n\014\012\232\013$\000\000\000\000\000H\013\248\000\000\014\014\000\000\0144\000\000\000\000\014\022\000\000\000\000\000\000\014\024\000\000\000\000\000\000\000\000\014\026\000\000\014<\000\000\000\000\014D\000\000\000\000\014L\000\000"), (16, "\003r\003\137\001.\005\248\005\171\005t\005u\001g\000\007\001h\003@\005\204\005\205\000\018\000J\000J\000_\006\025\003r\003\137\002\164\004`\004H\006/\001\234\006\132\005\246\005\249\005t\005u\0010\006\133\000\005\002=\000_\001g\0026\001h\006\134\000\017\004\025\005\206\001\236\003r\003\137\006\n\0026\006\015\006\026\000J\006\027\005\207\005E\001g\000\004\001h\002:\004\026\000\138\003t\003\203\003\204\000\139\003u\000\140\004T\0028\001i\005v\004\253\006\016\001j\006\019\005t\005u\004\026\005\172\003t\000\005\006\028\005\155\003u\000\138\000\138\006\176\006\177\000\149\000\139\0029\006\029\000\025\005v\000\140\001/\007=\001i\000\024\000_\0029\001j\002\238\001w\003t\005\153\005t\005u\003u\0067\006\011\007>\000\140\000\028\004\143\001i\003\142\000\140\001\181\001j\006\012\006\013\000\141\001/\000h\006\136\000\142\003A\000K\003\240\000J\001w\000_\000a\001\225\000e\0017\000_\005v\006:\006\181\000\140\000\140\006\137\003r\003\137\000\141\000\141\005z\001w\000\142\000\142\004\003\000_\000\151\004Z\001\013\006\190\005\184\003\142\000_\003\242\003\130\001\217\006\134\006\191\004\025\004\008\004\188\005v\004\003\004\t\004\027\000g\003\131\004\145\004n\001B\000\151\000\151\003\130\001x\000 \005{\001\186\004\008\004\\\003\203\003\204\004\t\004\027\006\138\003\131\005\003\000g\004\003\000\013\006X\000_\001\181\006\139\004\026\004\013\003t\006\164\003\130\004I\003u\004h\001x\004\008\001\140\006\210\004#\004\t\001\188\004\127\003\131\004@\003\146\004\013\000\016\000\017\005\137\004\030\006\166\000J\001x\001g\004\\\001\203\004#\000\152\001\212\006\168\002H\004@\003\146\000J\000\138\000\031\003\147\000h\000\149\006=\004\013\003\148\005\152\000_\001}\003\149\000\008\006b\002;\000\153\003\150\000\152\000\152\001\143\003\147\003r\003\137\003\146\000\138\003\148\006\211\004\254\000\149\003\149\001\186\005\153\005t\005u\003\150\001\141\003@\000_\001\145\000\153\000\153\002\164\004`\004H\005|\003\147\000\140\001\215\000_\001i\003\148\005\000\001\150\001j\003\149\004\003\001y\000\140\001\189\003\150\000\203\001\187\000\141\001Q\000\154\003\130\000\142\001\012\000\"\005\138\004\008\003\203\003\204\000J\004\t\004\027\006\212\003\131\004\026\003\206\003t\000\140\001\141\001w\003u\006\139\000\141\000\155\000\155\006\214\000\142\001\015\000\194\0016\000\151\005v\005\182\001\213\000\203\003\240\007\006\000\157\000\159\006P\006Q\004\013\000_\003r\003\137\004\030\006\216\000\144\001\015\001E\0016\001\"\004#\000_\000\151\006\218\006U\004@\003\146\000_\000\005\003r\003\137\006\134\006\196\004H\001\027\003\243\003\244\003\246\004o\003\142\000$\001\181\005\181\005e\006/\000_\003\203\003\204\003\147\006\134\006\196\004H\000h\003\148\002=\0045\001\192\003\149\003r\003s\001\214\001\229\003\150\000\203\002\246\001x\005f\000(\004\026\0024\003t\005i\005t\005u\003u\004\003\000\152\006m\006\018\002=\001g\006X\001h\005\141\006\207\003\130\004\026\001\194\003t\000\251\004\008\000J\003u\001\192\004\t\004\027\004\231\003\131\000\153\004q\000\152\006\016\006\201\006\019\005t\005u\003\205\005\156\001g\004\\\001h\006d\000_\000\203\007\021\000\140\006b\003t\002\245\0065\001\237\003u\000\153\000\154\001\193\004\013\005\204\005\205\007\022\004I\000*\004h\000_\003r\003\137\005v\004#\000\140\001\236\004\127\001i\004@\003\146\001%\001j\0011\000\155\000\154\001\028\000_\001\029\000\156\000\203\006\134\006\196\004H\005\228\000J\006?\002\193\000\157\004\003\002\219\001\213\003\147\000\140\005\207\005v\001i\003\148\000\155\003\130\001j\003\149\001w\000\193\004\008\004\017\003\150\004\003\004\t\004\027\006\202\003\131\000\157\000_\000a\000b\000e\003\130\004\026\006\139\003t\000/\004\008\004\011\003u\0003\004\t\004\027\006\202\003\131\001w\000h\003r\003\137\006\203\0017\001\191\006\139\000\203\004\013\0002\004\011\005\140\004I\000\140\006\204\003\130\005\182\002\198\000\203\004#\000J\002\199\006\206\000g\004@\003\146\004\013\003\131\002\193\002,\004I\002\197\006\204\006\002\005\185\005w\006Z\004#\001\186\006[\006\206\005\137\004@\003\146\0014\003M\003/\003\147\000J\001x\007\030\002H\003\148\000J\006_\006\003\003\149\000_\000\140\006\006\003t\003\150\003r\003\137\003u\003\147\001-\000J\0005\003\145\003\148\0017\003\174\006l\003\149\005\133\002H\001x\000_\003\150\004\003\006\003\006\134\006\196\004H\002\238\006K\006L\005\011\002\198\003\130\003r\003\137\002\199\003\147\004\008\005\138\004b\005\131\004\t\004\027\006\202\003\131\004b\005\134\005t\005u\006d\003\150\000\203\006\139\006X\004A\004V\004\011\003\142\002\212\001\145\000_\004\026\004W\003t\006b\001\172\001\"\003u\005\138\001\189\002\213\000\203\004\013\001\152\000h\000_\004I\006\205\006\204\002\193\004\022\001\027\002\197\004#\003r\003\137\006\206\001\145\004@\003\146\002\238\004\023\003t\004Y\0007\001g\003u\001h\001\012\006/\000_\001\148\001(\003\130\006\134\006\196\004H\000h\006\004\002=\005v\003\147\004t\002\239\000;\003\131\003\148\003\237\001\018\000_\003\149\000h\001\015\006\015\0016\003\150\005\013\003\144\003\203\003\204\002\212\003&\003*\003\020\006\004\000J\000\140\005p\005\023\002\242\002\198\004\026\002\213\003t\002\199\002\166\006\016\003u\006\019\005t\005u\001C\000\140\005q\004\003\001i\005\025\006\213\000=\001j\003\146\003\023\000J\005|\003\130\0030\000J\002\245\003\238\004\008\006\007\003\203\003\204\004\t\004\027\006\202\003\131\006\193\005\252\003r\003s\000_\003\147\004\003\006\139\000J\001\026\003\148\004\011\001w\001%\003\149\001&\003\130\004j\001\028\003\150\001\029\004\008\000\203\004e\001\027\004\t\006g\004\013\003\131\003r\003\137\004I\000J\006\204\002\247\005v\0060\005\002\004#\000?\004\011\006\206\002\166\004@\003\146\000_\000C\006c\002\248\006\134\006\196\004H\000_\006\208\003\239\001\223\004\013\004\003\000J\000\140\000\138\003t\002\212\003@\000\139\003u\003\147\003\130\000J\003@\001<\003\148\004\008\003\146\002\213\003\149\004\t\004\027\006\202\003\131\003\150\006d\006o\000\203\003\203\003\204\004\026\006\139\003t\004v\001x\004\011\003u\000g\004t\003\147\001\231\001O\000\203\000\138\003\148\000h\006\217\000\139\003\149\003\238\007\007\004\013\000_\003\150\000J\004I\002\164\006\204\003r\003\137\001\192\000\140\004#\000\140\000h\006\206\000\141\004@\003\146\006}\000\142\000B\004W\000\138\000_\000E\002H\000\139\002\164\004`\004H\004\029\001\028\000J\001\029\0063\000\203\002\247\000h\002\167\003\147\001\194\004\023\003T\001g\003\148\001h\000J\000\151\003\149\000\140\002\250\001\145\004X\003\150\000\141\003\130\0031\0036\000\142\006\184\003r\003\137\006\185\001l\004\026\001\154\003t\003\131\000h\007\014\003u\003A\004\003\001u\000h\000\004\000_\0045\006k\000\140\004\169\004,\003\130\005\026\000\141\000J\000\151\004\008\000\142\003r\003\137\004\t\004\027\006\202\003\131\001\233\001g\000\203\001~\000\005\000\140\005\025\006\139\001i\004\250\000_\004\011\001j\006\130\002\164\004`\004H\003F\000J\006\189\000h\000\151\004\203\004\231\003t\004N\005\014\004\013\003u\000_\000\152\004I\006\141\006\204\003[\003J\004\023\000_\004#\003\136\004\129\006\206\001w\004@\003\146\000J\004y\004\209\001\015\000h\0016\004\026\000\153\003t\005\000\000G\004|\003u\000\140\006\152\004\027\001i\004\003\000h\004\171\001j\003\147\000_\000J\000\152\004\129\003\148\003\130\000J\000J\003\149\006X\004\008\002\165\006\003\003\150\004\t\004\027\000L\003\131\005\006\004n\004~\000_\003r\003\137\000\153\001\131\004\179\005\015\001w\004\011\006\155\000N\000\152\000\155\004#\002\031\005\144\004(\000_\004@\004\195\004\170\002\164\004`\004H\004\013\000Q\000\161\004\139\004I\000S\004h\000J\001x\000\153\005\013\004#\000J\003\130\004(\000W\004@\003\146\000h\004\154\005\203\005t\005u\004\210\0017\003\131\002\193\000\155\005\145\002\197\004\023\005!\004\003\004\132\004\026\001\228\003t\004\211\006\153\003\147\003u\000\163\003\130\001\"\003\148\000h\000\138\004\008\003\149\005#\000\139\004\t\004\027\003\150\003\131\004l\004n\000\155\001\027\003r\003\137\001x\004\204\006\022\004\213\004\194\004\011\004\218\002B\004\236\003\146\000\165\001\204\002x\002\143\000_\001\145\005$\006\t\002\164\004`\004H\004\013\002\238\005v\001\134\004I\002\198\004h\004\222\001\156\002\199\003\147\004#\000J\005#\004(\003\148\004@\003\146\000J\003\149\005'\000\140\005c\005d\003\150\001\144\000\141\006\158\000_\006\159\000\142\006\148\000J\006\149\004\026\000\203\003t\000h\005#\003\147\003u\0033\002\201\003L\003\148\004\003\004|\001\145\003\149\006\015\000_\000J\001\146\003\150\006b\003\130\001\147\000J\000\151\000J\004\008\001\148\003r\003\137\004\t\004\027\000\138\003\131\004\147\004n\000\147\004\176\006\016\004\193\006\019\005t\005u\004}\000_\004\011\006g\004\238\002\164\004`\004H\001$\004\148\002\239\006g\004\148\001\028\002\165\001\029\006G\000\203\004\013\006\147\006g\004\243\004I\000_\004h\004\243\006s\002\212\003\019\004#\003\020\001g\004(\001h\004@\003\146\002\242\004\023\0017\002\213\004\150\006\154\004\026\004\149\003t\005/\000\140\002\210\003u\007\026\004\003\000\141\004\245\002\237\000d\000\142\004\244\003\147\003\023\000\152\003\130\005v\003\148\0051\002\245\004\008\003\149\003w\001\210\004\t\004\027\003\150\003\131\005\n\004n\005\193\006v\003r\003\137\004\237\005s\000\153\000\205\000\151\004\011\006\235\003\128\004\023\000\140\0052\001\"\001i\003\221\000_\003\236\001j\005q\006\134\005\191\004\025\004\013\005\194\005t\005u\004I\001\027\004h\0051\002\247\0055\006I\004#\005=\005@\004(\002\193\004@\003\146\002\197\007\014\000\208\006\193\002\248\005C\000\138\001w\000\212\005#\000\139\000\155\005?\005?\006\153\006\235\004\026\004\003\003t\006c\000\138\003\147\003u\005#\000\147\000\167\003\148\003\130\000\211\006\148\003\149\006\149\004\008\000\203\006\209\003\150\004\t\004\027\002\166\003\131\006\162\004n\007\004\000\152\006j\003r\003s\005v\006\235\006\030\006\235\004\011\006i\006\135\002\238\003L\006\199\006\193\002\198\003@\000\182\006h\002\199\000\140\000\214\000\153\007!\004\013\000\141\006\165\000\216\004I\000\142\004h\000\220\003r\003\137\000\140\004#\007\025\004\023\004(\000\141\004@\003\146\001x\000\142\000\222\000\225\007 \000\183\000_\001g\000\229\001|\006\134\001%\004\025\001+\006\242\000\151\001\028\000\140\001\029\003t\000\203\003\147\000\228\003u\004\003\006\215\003\148\000\231\000\155\000\151\003\149\000\233\000\184\000\237\003\130\003\150\000\185\000_\000\239\004\008\000\241\000\245\000\157\004\t\004\027\006\195\003\131\004\026\000\138\003t\001\198\007\014\001\209\003u\006\139\002\239\000\244\000\247\006\198\000\249\000\252\000\254\006\236\001\000\000\140\006\194\001\002\001i\001\145\007\015\001\006\001j\002\212\003\022\004\013\003\020\003r\003\137\004\030\006\200\001F\002\242\001\158\001\011\002\213\004#\000h\001;\006\206\0045\004@\003\146\000_\000\152\001A\006\238\006\134\006\240\004\025\001@\001\222\001w\001\221\003\023\001\"\000\140\007\015\000\152\001\227\002\245\000\141\001\241\001\244\003\147\000\142\000\153\007\015\001\248\003\148\001\027\003\130\001\247\003\149\001g\001\183\001h\001\250\003\150\001\252\000\153\004:\002\193\003\131\004\026\002\218\003t\002\000\002\002\002\005\003u\004\003\002\t\000\151\000_\000a\001\t\000e\002\008\004>\002\011\003\130\006\197\002\013\002\247\000\183\004\008\003r\003\137\002\017\004\t\004\027\006\195\003\131\001\197\002\019\000\138\002\021\002\248\002\025\001V\006\139\002\024\000_\002\027\006\198\002\029\002\164\000\155\004\025\001x\000\140\000\184\002 \001i\000g\000\185\000_\001j\000\140\002\"\004\013\000\157\002\198\002$\004\030\006\200\002\199\002\166\002&\003\132\002*\004#\0023\0022\006\206\002A\004@\003\146\000\138\003r\003\184\002G\000\147\004\026\002F\003t\002\138\001w\000J\003u\000\152\002J\000\140\002M\000_\002Q\004\003\000\141\001%\003\147\0039\000\142\002P\001\028\003\148\001\029\003\130\000\203\003\149\002S\002U\004\008\000\153\003\150\002Y\004\t\004\027\006\195\003\131\005\018\002[\003r\003\137\004\142\006\155\002^\006\139\002b\002a\000\151\006\198\002d\002f\002j\002l\000\140\000\140\000_\003t\002n\000\141\002\164\003u\004\025\000\142\002\166\004\013\002r\002q\002t\004\030\006\200\005\130\002v\002y\002{\002}\004#\002\127\002\131\006\206\002\212\004@\003\146\000_\001x\000J\002\137\002\164\002\136\002\142\002\193\000\151\002\213\002\217\005\131\004\003\002\148\004\026\002\147\003t\005\134\005t\005u\003u\003\147\003\130\001\012\005n\005\150\003\148\004\008\005\129\005\143\003\149\004\t\004\027\005\187\003\131\003\150\000h\003r\003\137\005\222\005\244\003T\005\254\000\152\006\024\004\018\004\131\001\015\002\193\0016\004\140\002\197\006\174\000_\004\142\006\220\006\224\002\164\004\020\004\025\006\243\001g\004\013\001~\000\140\000\153\004\030\004\133\002\198\001\145\006\247\006\248\002\199\004#\006\253\003\130\004(\006\254\004@\003\146\003N\005v\007\003\001\160\006\157\007\002\000\152\003\131\006\148\007\n\006\149\007\012\000\203\007\018\004\026\007\019\003t\007\023\003R\007\024\003u\003\147\007\027\001T\007\028\002\238\003\148\004\003\000\153\002\198\003\149\007\031\007\"\002\199\000h\003\150\007#\003\130\000\140\002\166\0075\001i\004\008\003r\003\137\001j\004\t\004\027\001\195\003\131\000\203\007)\004 \000\183\0074\007.\0072\007:\0079\000_\000J\004\131\007<\002\164\004!\004H\007?\000\000\000_\000a\0019\000e\001\131\000\000\004\027\001w\000\155\004\013\003U\000\000\000\184\004\030\004\133\000\000\000\185\000\000\000\000\002\212\004#\000\000\000\157\004(\000\000\004@\003\146\001g\003Y\001h\000\000\002\213\004\026\000\000\003t\005\146\000\000\000\000\003u\004\003\0058\000g\000\000\002\239\000\000\000\000\000\000\004#\003\147\003\130\004(\000\000\004@\003\148\004\008\003r\003\137\003\149\004\t\004\027\002\212\003\131\003\150\003\030\004K\000\000\000\000\000\000\000\000\002\242\000\138\000_\002\213\004M\001S\002\164\004!\004H\000_\000a\001>\000e\000\000\000\000\000\140\001x\001g\001i\001~\004\013\000\000\001j\000\000\004\030\004O\000\000\001\132\002\245\000\000\000\000\004#\000\000\000\000\004Q\000h\004@\003\146\000\000\001g\001\134\001h\000\000\004\026\000\000\003t\000\000\000\000\000\000\003u\000g\000\000\001w\000\000\000\000\000\000\004\003\000\000\000\140\003\147\000\000\000\000\001\144\000\141\003\148\003!\003\130\000\142\003\149\003r\003\135\004\008\002\247\003\150\000\140\004\t\004\027\001i\003\131\004B\000\000\001j\000\000\000\000\001\145\000\000\002\248\000\000\000\000\001\146\004\011\000\000\000\000\001\147\000\000\000\151\000\140\004F\001\148\001i\000\138\000\000\000\000\001j\000\139\001\012\004\013\000\000\000\000\000\000\004I\001w\004J\000\000\001g\000\000\001{\004#\003r\003\137\004(\000\000\004@\003\146\000\000\000\000\000\140\004P\003t\001\015\001x\0016\003u\001w\000_\000\000\004\003\000\000\002\164\004!\004H\000\000\000\000\000\000\000\000\003\147\003\130\003r\003\137\000\000\003\148\004\008\000\000\000\000\003\149\004\t\004\027\000\140\003\131\003\150\000\000\000\000\000\141\000_\000\000\000\000\000\142\002\164\004`\004H\004\011\000\140\000\000\000\152\001i\004\026\000\000\003t\001j\000\000\000\000\003u\000\000\001\012\000\000\000\000\004\013\000\000\000\000\001x\004I\000\000\004J\000\000\000\151\000\153\000\000\004#\001\145\000\000\004(\000\000\004@\003\146\004\026\000\000\003t\001\015\001w\0016\003u\001x\001\162\001\142\000_\000a\001\219\000e\000\000\000\000\000_\000a\0020\000e\000\000\003\147\000\000\000\000\000\000\003\130\003\148\000\000\003r\003\137\003\149\001\144\000\000\000\000\000\000\003\150\000\000\003\131\000\000\002\193\000\000\000\000\002\197\000\000\000_\000\000\005\245\000\000\002\164\004`\004H\000g\000\000\001\145\000\000\000\000\000\000\000g\001\146\000\000\000\000\000\000\001\147\000\000\004\003\000\000\000\000\001\148\000\152\005\246\005\249\005t\005u\000_\003\130\001\145\003r\003\134\000\000\004\008\000\000\000\000\001x\004\t\004\027\004\026\003\131\003t\000\000\001\164\000\153\003u\000\000\004\003\000\000\000\000\000\140\000\000\004\011\000\000\002\198\000\000\000\000\003\130\002\199\006\014\000\000\000\138\004\008\000\000\000\000\000\147\004\t\004\027\004\013\003\131\000\000\004g\004I\000\000\004J\000\000\000\000\000_\000\000\004#\000\000\004\011\004(\000\000\004@\003\146\000\000\000\140\005v\003t\000\000\000\000\000\155\003u\001\"\000\000\000\000\004\013\000\000\000\000\000\000\004I\000\000\004h\003r\003\137\000\169\003\147\004#\001\027\000\000\004(\003\148\004@\003\146\001g\003\149\001h\000\140\000\000\000_\003\150\000\000\000\141\002\164\004`\004H\000\142\000\000\000\000\000\000\000\000\004\003\000\000\000\000\005\152\003\147\001g\001\012\001h\000\000\003\148\003\130\000\000\001\012\003\149\000\000\004\008\000\000\000\000\003\150\004\t\004\027\002\212\003\131\000\151\004i\000\000\005\153\005t\005u\004\026\001\015\003t\0016\002\213\004\011\003u\001\015\000\000\0016\000\000\000\140\000\000\000\000\001i\001\179\001\181\000\000\001j\000\000\000\000\004\013\000\000\003r\003\137\004I\000\000\004h\000\000\003\130\000\000\000\000\004#\000\140\006 \004(\001i\004@\003\146\000_\001j\003\131\000\000\002\164\004\134\004H\000\000\001g\001w\001h\000\000\000_\000a\002?\000e\000\000\000\000\001%\000\000\003C\003\147\005v\001\028\000\000\001\029\003\148\000\203\000\000\000\000\003\149\001w\000\000\000\152\002\247\003\150\002\193\000\000\000\000\002\197\000\000\004\026\000\000\003t\000\000\000\000\000\000\003u\002\252\000\000\001\183\000\000\000\000\000g\004\003\000\153\000\000\000_\000a\002D\000e\000\000\000\000\000\000\003\130\000\140\000\000\000\000\001i\004\008\003r\003\137\001j\004\t\004\027\001\189\003\131\000\203\004{\004\136\000\183\001g\000\000\001h\000\000\000\000\000_\001x\004\011\000\000\002\164\004\134\004H\002\238\000\000\000_\000\000\002\198\000g\002\164\000\000\002\199\001w\000\155\004\013\000\000\000\000\000\184\004I\001x\004h\000\185\000\000\000\000\000\000\004#\000\000\000\157\004(\000\000\004@\003\146\000\000\000\000\000\000\000\000\000\000\004\026\000\000\003t\005\159\000\000\000\000\003u\004\003\000\000\003T\000\000\000\140\000\000\000\000\001i\000\000\003\147\003\130\001j\000\000\000\000\003\148\004\008\003r\003\137\003\149\004\t\004\027\001\145\003\131\003\150\001g\004\156\001z\000\000\005\171\005t\005u\004\138\000_\000\000\004\011\001\166\002\164\004!\004H\000\000\000\000\001w\000\000\001\145\000\000\002\239\001x\000\138\000\000\000_\004\013\000\149\001\012\002\164\004I\000\000\004\137\001\168\000\000\000\000\000\000\004#\002\212\000\000\004(\003\025\004@\003\146\000\138\000\000\000\000\002\242\000\147\004\026\002\213\003t\001\015\000\000\0016\003u\000\000\000\140\000\000\000\000\001i\000\000\004\003\000\000\001j\003\147\003T\000\000\005v\003\027\003\148\000\000\003\130\001\012\003\149\002\245\005\237\004\008\000\000\003\150\000\140\004\t\004\027\000\000\003\131\000\141\000\000\003r\003\137\000\142\001\145\004\027\000\000\000\000\001w\001x\004\011\001\015\000\000\0016\000\000\000\140\000\000\000_\001\174\000\000\000\141\002\164\000\000\004\025\000\142\000\000\004\013\003$\000\000\000\000\004I\000\151\004\137\002\247\000\000\002\193\000\000\004#\002\197\005:\004(\000\000\004@\003\146\000_\000\000\004#\002\248\002\164\004(\000\000\004@\000\151\000\000\000\000\000\000\004\003\000\000\004\026\000\000\003t\000\000\003r\003s\003u\003\147\003\130\005\016\000\000\000\000\003\148\004\008\000\000\002\173\003\149\004\t\004\027\001\145\003\131\003\150\000\000\003r\003\137\000\000\000\000\003T\001x\000\000\000\000\000\000\004\011\001\176\000\140\004\027\005\004\000\000\002\198\000_\004\142\000\000\002\199\002\164\000\000\004\025\000\000\001g\004\013\001h\000\000\000\152\004I\000\000\004J\000\000\000\000\002\193\000\000\004#\002\197\000\140\004(\003t\004@\003\146\000\000\003u\000\000\005\015\000\000\000\000\000\152\000\153\000\000\000\000\004#\000\000\000\000\004(\004\026\004@\003t\000\000\000\000\000\000\003u\003\147\000\000\001\183\000\000\000\000\003\148\004\003\000\153\000\000\003\149\000\000\000\154\000\000\000\000\003\150\000\000\003\130\000\140\000\000\000\000\001i\004\008\003r\003\137\001j\004\t\004\027\002\238\003\131\005\020\000\000\002\198\000\183\004\142\000\155\002\199\000\000\000\000\000_\000\196\004\131\000\000\002\164\000\000\004\025\000\000\000\000\000\000\000\157\000\000\002\212\005\152\000\000\004\027\001w\000\155\004\013\000\000\000\000\000\184\004\030\004\133\002\213\000\185\000\000\000\000\000\000\004#\005\152\000\157\004(\000\000\004@\003\146\005\153\005t\005u\003\130\000\000\004\026\000\000\003t\000\000\000\000\000\000\003u\004\003\005<\000\000\003\131\000\000\005\153\005t\005u\004#\003\147\003\130\004(\000\000\004@\003\148\004\008\003r\003\137\003\149\004\t\004\027\000\138\003\131\003\150\000\000\000\147\000\000\002\239\000\000\005\022\000\000\000\000\000_\004\142\004\131\000\000\002\164\000_\004\025\000\000\000\000\000\000\000\000\000\000\002\212\002\247\001x\002\241\000\000\000\000\004\013\000\000\005v\002\242\004\030\004\133\002\213\000\000\000\000\002\254\000\000\004#\005h\000\000\004(\000\000\004@\003\146\000\000\005v\003\147\000\000\000\000\004\026\000\000\003t\000\000\000\000\000\140\003u\000\000\002\245\000\000\000\141\003\152\005f\004\003\000\142\000\000\003\147\005i\005t\005u\000\000\003\148\000\000\003\130\000\000\003\149\000\000\000_\004\008\000\000\003\150\005\190\004\t\004\027\000\000\003\131\006p\005\152\000\000\000\138\004\142\001\145\000\151\000\139\000\000\000\000\000\000\004\131\000\000\000\000\000\000\000\000\002\247\000\000\005\191\001\178\000\000\005\194\005t\005u\005\153\005t\005u\004\013\000\000\000\000\002\248\004\030\004\133\003r\003\137\000\000\006\015\000\000\004#\000\000\000\000\004(\006x\004@\003\146\005v\000\000\000\000\000\000\000_\000\000\005\165\000\000\002\164\004!\004H\000\000\004\003\001\"\006\016\000\140\006\019\005t\005u\000\000\000\141\003\147\003\130\005\163\000\142\000\138\003\148\004\008\001\027\001R\003\149\004\t\004\027\000\000\003\131\003\150\003r\003s\000\000\000\152\005v\000\000\000\000\005v\000\000\004\026\004\131\003t\000\000\000\000\000\000\003u\000\151\000\000\000\000\000\000\001W\000\000\000\000\000\000\000\000\000\153\004\013\000\000\000\000\000\000\004\030\004\133\003r\003\137\000\000\000_\000f\004#\000e\000\000\004(\000\000\004@\003\146\005v\001Y\000\140\000\203\000_\000\000\000\183\000\141\002\164\000\000\004\025\000\142\000\000\000\140\000\000\003t\000\000\000_\000\000\003u\000\000\003\147\000\000\000\000\000\000\000\000\003\148\000\000\000\000\000\155\003\149\000\000\000g\000\184\000\000\003\150\000\000\000\185\000\000\000\151\000\000\000\000\000\000\000\157\000\000\004\026\000\000\003t\000\000\000\000\000\152\003u\000_\000a\002\134\000e\000\000\001%\004\003\004/\000\000\000\000\001\028\000\000\001\029\005\208\000\203\000\000\003\130\000\000\000\000\005\178\000\153\004\008\003r\003\137\000\000\004\t\004\027\000\000\003\131\006~\000\000\006\167\001\"\004\142\000_\000a\002\140\000e\000_\000\000\004\011\000g\002\164\004!\004H\000\181\000\000\001\027\000\000\000\000\000_\000a\002\145\000e\006#\000\000\004\013\000\000\000\000\000\000\004I\000\000\004J\000\000\003\130\000\152\000\000\004#\000\155\000\000\004(\000\000\004@\003\146\000\000\000g\003\131\000\000\000\000\004\026\000\000\003t\000\157\000\000\000\000\003u\004\003\000\153\000\000\000\000\000\000\000g\000\000\000\000\000\000\003\147\003\130\000\000\000\000\000\000\003\148\004\008\000\000\000\000\003\149\004\t\004\027\000\000\003\131\003\150\005\152\000_\000\000\001\012\003r\003\133\000\000\000\000\000\000\000\000\004\131\004\151\003r\003\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\153\005t\005u\004\013\001\015\000_\0016\004\030\004\133\002\164\003\147\004H\000\000\000\000\004#\003r\003\137\004(\000\000\004@\003\146\000\000\000\138\001%\003\154\0047\000\149\004L\001\028\000\000\001\029\000_\000\203\000\000\000\000\002\164\000\000\004\025\000\140\004\003\003t\001\012\003\147\006\015\003u\001\"\004\026\003\148\003t\003\130\000\000\003\149\003u\005\223\004\008\000\000\003\150\000\000\004\t\004\027\001\027\003\131\000\000\000\000\005v\001\015\006\016\0016\006\019\005t\005u\000\000\004\026\004\011\003t\001\012\005\224\000\000\003u\000\140\005\227\005t\005u\000\000\000\141\000\000\000\000\000\000\000\142\004\013\000\000\001\012\000\000\004I\000\000\004J\000\000\000\000\000\000\001\015\004#\0016\000\000\004(\000\000\004@\003\146\003r\003\137\000\000\000_\001\014\000\000\000e\000\000\001\015\000\151\0016\000\000\004\024\000\138\000\000\002\166\000_\000\147\000\000\000\000\002\164\003\147\004\025\000\000\000\000\005v\003\148\000\000\000\000\000_\003\149\000\000\004\003\000\000\003\130\003\150\003@\005v\000\000\000\000\000\000\000\000\003\130\000\000\000g\000\000\003\131\004\008\000\000\000\138\000\000\004\t\004\027\000\149\003\131\000\000\000\000\004\026\004\003\003t\000\000\000\000\001%\003u\004\182\005\176\004\153\001\028\003\130\001\029\000\140\000\203\000\000\004\008\000\000\000\141\000\000\004\t\004\027\000\142\003\131\006g\004\013\001\192\000\000\000\000\004I\000\152\004\155\000\000\000\000\000\000\004\028\004#\000\000\000\000\004(\002\166\004@\003\146\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\151\004\013\000\153\000\000\000\141\004\030\004\031\001\194\000\142\003r\003\137\003@\004#\000\000\003\147\004(\000\000\004@\003\146\003\148\000\000\004\"\000\000\003\149\0061\000_\000\000\000\154\003\150\002\164\000\000\004\025\000\000\000\000\005\229\000\000\000\151\000\000\000\000\000\000\003\147\000h\000\000\004\003\0045\003\148\000\000\000\000\000\000\003\149\000\155\000\000\000\000\003\130\003\150\001\128\003r\003s\004\008\000\000\000\000\000\000\004\t\004\027\000\157\003\131\004\026\000\000\003t\000\000\001\012\000\000\003u\002\193\000\000\000\000\002\197\004\028\000\152\000\000\000\000\000\000\000\000\000\000\000\000\004:\003r\003\137\000\000\005\226\000\000\000\000\001I\004\013\001\015\000\201\0016\004\030\004\031\000\000\000\153\000\000\000_\004>\004#\000\000\002\164\004(\004\025\004@\003\146\000\000\005\224\000\140\000\152\003t\005\227\005t\005u\003u\000\202\000\000\000\203\000h\000\000\000\183\0045\000\000\006\015\000\000\000\140\000\000\003\147\006k\002\198\000\000\000\153\003\148\002\199\002\193\000\000\003\149\002\197\004\026\000\000\003t\003\150\000\000\000\155\003u\000\000\006\016\000\184\006\019\005t\005u\000\185\000\000\000\000\004\003\000\000\000\154\000\157\000\000\001G\000\000\000\000\004:\000\000\003\130\000\000\000\000\003r\003\137\004\008\000\000\000\000\000\000\004\t\004\027\005v\003\131\000\000\000\000\000\155\004>\000\000\005\152\000_\001\130\000\000\000\000\002\164\004\028\004\025\000\000\000\140\000\000\000\157\000\000\002\198\000\000\002\193\000\000\002\199\002\216\000\000\000\000\000\000\004\013\005\153\005t\005u\004\030\004\031\002\193\003\130\005v\002\197\000\000\004#\000\000\000\000\004(\000\000\004@\003\146\000\000\003\131\004\026\000\138\003t\000\000\002\212\000\139\003u\004\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\213\003\130\000\000\003\147\003r\003\137\004\008\000\000\003\148\000\000\004\t\004\027\003\149\003\131\000\140\000\000\000\000\003\150\002\198\004k\000_\000\000\002\199\000\000\002\164\004d\004\025\000\140\000\000\005v\000\000\002\198\000\000\000\000\000\000\002\199\000\000\000\000\000\000\000\000\000\000\004\013\000\140\000\000\000\000\004\030\004f\000\141\000\000\000\000\003\147\000\142\004#\000\000\002\212\004(\000\000\004@\003\146\002\193\000\000\004\026\002\197\003t\003\156\000\000\002\213\003u\000\000\002\247\000\000\000\000\000\000\000\000\000\000\005\190\000\000\004\003\0068\000\151\003\147\000\000\000\000\003\000\000\000\003\148\000\000\003\130\000_\003\149\003r\003\137\004\008\000\000\003\150\000\000\004\t\004\027\005\191\003\131\000\000\005\194\005t\005u\000\000\004c\000_\000\000\000\000\000\000\002\164\004d\004\025\000\000\000\000\000\000\002\238\002\212\000\000\000\000\002\198\000\000\000\000\000\000\002\199\006\015\000\000\004\013\000\000\002\213\002\212\004\030\004f\002\193\000\000\002\215\002\197\005\174\004#\000\000\000\000\004(\002\213\004@\003\146\000\000\000\000\004\026\006\016\003t\006\019\005t\005u\003u\004\003\001\"\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000\000\003\130\005v\003\147\003r\003\137\004\008\001\027\003\148\000\000\004\t\004\027\003\149\003\131\000\000\000\000\000\153\003\150\004w\000\000\000_\000\000\000\000\000\000\002\164\004x\004\025\002\238\000\000\000\000\000\000\002\198\000\000\000\000\000\000\002\199\000\000\000\000\000\000\002\239\000\000\004\013\000\000\000\000\000\000\004\030\004z\005\245\002\247\000\000\000\000\005v\004#\000\000\000\000\004(\002\212\004@\003\146\002\244\000\000\004\026\003\002\003t\000\155\002\242\000\000\003u\002\213\000\000\005\246\005\249\005t\005u\000\000\000\000\000\000\004\003\000\171\000\000\003\147\000\000\000\000\000\000\000\000\003\148\000\000\003\130\000\000\003\149\003r\003\137\004\008\002\245\003\150\000\000\004\t\004\027\000\000\003\131\000\000\004\130\000\000\000\000\000\000\004u\000_\005\214\000\000\000\000\002\164\004d\004\025\002\239\000\000\000\000\001%\000\000\004\225\000\000\000\000\001\028\000\000\001\029\000\000\000\203\000\000\004\013\000\000\000\000\002\212\004\030\004f\003\025\000\000\005v\000\000\002\247\004#\002\242\000\000\004(\002\213\004@\003\146\000\000\000\000\004\026\000\000\003t\000\000\002\248\000\000\003u\004\003\000\000\005\190\006;\000\000\000\000\000\000\003\027\000\000\000\000\003\130\000\000\003\147\002\245\000\000\004\008\000\000\003\148\000\000\004\t\004\027\003\149\003\131\000\000\000\000\005\191\003\150\000\000\005\194\005t\005u\000\000\000\000\004\135\004\131\000\000\003r\003\137\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\006t\000\000\000\000\004\013\003#\000_\005\190\004\030\004\133\002\164\002\247\004\025\000\000\000\000\004#\003r\003\137\004(\000\000\004@\003\146\000\000\000\000\000\000\002\248\000\000\006\128\000\000\000\000\005\191\000\000\000_\005\194\005t\005u\002\164\000\000\004\025\000\000\004\003\000\000\006D\003\147\006\015\000\000\005v\004\026\003\148\003t\003\130\000\000\003\149\003u\000\000\004\008\000\000\003\150\000\000\004\t\004\027\005\152\003\131\000\000\000\000\000\000\000\000\006\016\000\000\006\019\005t\005u\000\000\004\026\004\131\003t\000\000\000\000\000\000\003u\000\000\000\000\003r\003\137\005\153\005t\005u\000\000\005\152\000\000\004\013\005\152\000\000\000\000\004\030\004\133\000\000\005v\000_\000\000\000\000\004#\004\169\000\000\004(\000\000\004@\003\146\003r\003\137\000\000\005\153\005t\005u\005\153\005t\005u\000\000\000\000\006\131\000\000\000\000\000\000\000\000\000_\000\000\004\200\000\000\002\164\003\147\004\025\000\000\000\000\005v\003\148\000\000\000\000\000\000\003\149\004\203\004\003\003t\000\000\003\150\000\000\003u\000\000\000\000\005v\000\000\003\130\005\232\000\000\000\000\000\000\004\008\000\000\000\138\000\000\004\t\004\027\000\147\003\131\000\000\004\209\004\026\004\003\003t\000\000\000\000\000\000\003u\000\000\000_\006u\005v\003\130\000\000\005v\000\000\000\000\004\008\000\000\000\000\000\000\004\t\004\027\000\138\003\131\000\000\004\013\000\149\000\000\004\246\004\030\006w\003\142\000\000\001\181\000\000\006u\004#\006)\000\000\004(\000\000\004@\003\146\000\138\000\000\000\000\000\000\000\147\000\000\000\140\000\000\004\013\000\000\000\000\000\141\004\030\006w\005\152\000\142\000_\000\000\000\000\004#\000\000\003\147\004(\000\000\004@\003\146\003\148\000\000\000\000\000\000\003\149\006B\000\000\000\000\003\130\003\150\000\140\005\153\005t\005u\000\000\000\141\000\000\000\151\004\210\000\142\003\131\003\147\005\201\000\000\004\003\000\000\003\148\000\000\000\000\000\000\003\149\000\140\004\248\000\000\003\130\003\150\000\141\000\000\000\000\004\008\000\142\000\000\002\193\004\t\004\027\002\197\003\131\000\151\000\000\005\212\000\000\000\000\005\217\000\000\000\000\000\000\000\000\000\138\006u\004\213\000\000\000\147\004\249\000\000\004\236\003\146\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000_\004\013\005v\000\000\000\000\004\030\006w\000\000\000\000\000\000\000\000\000\000\004#\000\000\003\147\004(\000\000\004@\003\146\003\148\000\138\000\000\000\152\003\149\000\139\000\000\002\238\000\000\003\150\000\000\002\198\000\000\005\152\000\000\002\199\000\000\000\197\000\198\000\200\000\201\003\147\000\140\000\000\000\000\000\153\003\148\000\141\000\000\000\000\003\149\000\142\000\000\000\152\000\000\003\150\005\153\005t\005u\000\000\000\138\000\000\000\000\000\000\000\147\000\202\000\000\000\203\000\000\000\000\000\183\000\000\000\000\000\000\000\152\000\153\000_\000\000\000\140\000\151\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\197\001n\000\200\000\201\000\000\000\155\000\000\000\000\000\153\000\184\000\000\000\000\000\154\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\001G\000\000\005\241\000\000\002\239\000\000\000\151\000\202\000\140\000\203\000\000\005v\000\183\000\141\000\155\000\000\000\138\000\142\000\000\003\139\000\147\002\212\003&\003'\003\020\000\000\003r\003s\000\157\000\000\002\242\000\000\000_\002\213\000\138\000\155\000\000\000\000\000\147\000\184\000\000\000\000\000\000\000\185\000\000\000\151\000\000\000\000\000\152\000\157\000_\001G\003\023\000\000\000\000\000\000\005\152\000\000\002\245\000\000\000\000\000\000\000\197\002\203\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\005\153\005t\005u\000\142\000\140\000\152\003t\000\000\003r\003\137\003u\000\202\000\140\000\203\000\000\000\000\000\183\000\141\000\000\000\000\000\000\000\142\000\000\002\247\000_\000\000\000\000\000\153\004\169\000\000\000\000\000\151\000\000\000\000\000\000\000\000\000\000\002\248\000\000\000\155\005\239\000\000\000\000\000\184\000\152\000\000\000\138\000\185\000\000\000\151\000\147\000\000\004\202\000\157\000\000\001G\000\000\000\000\000\197\003y\000\200\000\201\000_\000\000\005v\004\203\000\153\003t\000\000\000\000\000\000\003u\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\202\000\000\000\203\000\173\004\209\000\183\000\000\000\000\000\000\000\000\000\000\000\000\003r\003\137\000\000\000\000\000\000\000\140\000\000\000\000\000\000\003\130\000\141\000\152\000\000\000\000\000\142\000\000\000\155\000\000\000\000\000\000\000\184\003\131\003\252\005\017\000\185\000\197\004\005\000\200\000\201\000\152\000\157\000\000\001G\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\151\000\197\004%\000\200\000\201\000\000\000\000\000\000\000\000\000\153\000\000\000\202\000\000\000\203\000\000\002\238\000\183\003t\000\000\000\000\000\000\003u\000\000\000\000\000\000\000\000\000\000\000\000\003\130\000\202\000\000\000\203\006'\000\000\000\183\000\000\000\000\000\000\004\210\000\155\003\131\000\000\000\000\000\184\000\000\000\000\003\147\000\185\000\000\000\000\000\000\000\000\004\211\000\157\000\000\001G\000\000\000\155\000\000\000\000\003\158\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\138\001G\003r\003\137\000\139\000\000\000\152\004\213\000\000\000\000\004\218\000\000\004\236\003\146\000\000\003r\003\137\000\000\000\000\000\000\000\197\004\215\000\200\000\201\003\252\004]\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\003\147\004\003\003\252\004S\000\000\003\148\000\000\000\000\000\000\003\149\000\000\003\130\000\000\000\202\003\150\000\203\004\008\000\000\000\183\000\000\004\t\000\000\000\140\003\131\002\238\000\000\003t\000\141\000\000\000\000\003u\000\142\000\000\000\000\000\000\004\011\000\000\002\238\000\000\003t\000\138\000\155\000\000\003u\000\139\000\184\000\000\000\000\000\000\000\185\000\000\004\013\000\000\003r\003\137\000\157\000\000\001G\000\000\000\151\000\000\000\000\000\000\000\000\000\000\000\000\003r\003\137\003\146\000\000\000\000\000\000\000\000\000\000\000\000\003\252\003\253\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\252\004\007\003\147\003r\003\137\000\000\000\000\003\148\000\000\000\140\000\000\003\149\000\000\000\000\000\141\000\000\003\150\000\000\000\142\000\000\000\000\000\000\002\238\000\000\003t\003\252\004_\000\000\003u\004\003\002\193\000\000\000\000\002\197\000\000\002\238\000\000\003t\000\000\003\130\002\193\003u\004\003\002\197\004\008\000\000\000\151\000\000\004\t\000\152\000\000\003\131\003\130\000\000\000\000\000\000\000\000\004\008\000\000\000\000\002\238\004\t\003t\004\011\003\131\000\000\003u\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\004\011\000\000\000\000\004\013\000\000\000\000\000\000\000\000\000\000\003r\003\137\000\140\000\000\000\000\000\000\002\198\004\013\000\000\000\000\002\199\003\146\000\140\003r\003\137\000\000\002\198\000\000\000\000\000\000\002\199\000\000\003\252\005*\003\146\000\000\000\000\000\000\000\000\000\000\004\003\000\000\000\000\003\147\000\155\003\252\005,\000\000\003\148\000\152\003\130\000\000\003\149\004\003\000\000\004\008\003\147\003\150\000\175\004\t\000\000\003\148\003\131\003\130\000\000\003\149\000\000\002\238\004\008\003t\003\150\000\153\004\t\003u\004\011\003\131\000\000\000\000\004\003\000\000\002\238\000\000\003t\000\000\000\000\000\000\003u\004\011\003\130\000\000\004\013\000\000\000\138\004\008\000\000\000\000\000\147\004\t\000\000\000\000\003\131\000\000\000\000\004\013\000\000\000\000\000\000\003\146\000_\000\000\000\000\000\000\004\011\000\000\000\000\002\212\000\000\000\000\000\000\000\155\003\146\000\000\000\000\000\000\000\000\002\212\000\000\002\213\004\013\003\147\003r\003\137\000\000\000\177\003\148\000\000\000\000\002\213\003\149\000\000\000\000\000\000\003\147\003\150\000\000\003\146\000\000\003\148\000\000\000\140\000\000\003\149\003\252\005.\000\141\000\000\003\150\000\000\000\142\000\000\004\003\002\193\000\000\000\000\002\197\000\000\000\000\003\147\000\000\000\000\003\130\000\000\003\148\004\003\000\000\004\008\003\149\000\000\000\000\004\t\000\000\003\150\003\131\003\130\000\000\000\000\000\151\002\238\004\008\003t\000\000\000\000\004\t\003u\004\011\003\131\002\214\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\002\247\004\011\000\000\000\000\004\013\000\000\000\000\002\193\000\000\000_\002\197\000\000\000\140\000\000\003\004\000\000\002\198\004\013\000\000\000\000\002\199\003\146\000\000\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\003\146\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000_\003\147\000\000\000\000\000\000\000\000\003\148\000\000\000\140\000\000\003\149\000\000\000\000\000\141\003\147\003\150\000\152\000\142\000\000\003\148\000\000\000\000\000\140\003\149\003r\003s\002\198\000\000\003\150\000\000\002\199\000\000\004\003\001W\000\000\000\000\000\000\000\000\000\153\000\138\000\000\000\140\003\130\000\147\000\000\000\151\000\141\004\008\000\000\000\000\000\142\004\t\000\138\000\000\003\131\000_\000\147\000\000\001\201\000\000\000\203\000\000\000\000\000\183\000\000\000\000\004\011\000\000\000_\000\000\000\138\000\000\000\000\002\212\000\139\000\000\000\000\000\000\000\151\000\000\000\000\000\140\004\013\003t\000\000\002\213\000\155\003u\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\140\000\000\000\000\003\146\000\157\000\141\000\000\000\000\000\000\000\142\000\000\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\138\000\000\000\000\000\142\000\147\000\000\003\147\000\000\000\152\000\000\002\212\003\148\000\140\000\000\000\000\003\149\000_\000\141\000\151\000\000\003\150\000\142\002\213\000\000\000\000\001T\000\000\000\000\000\000\000\000\000\153\000\151\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\247\000\000\000\152\000\000\002\193\000\000\000\000\002\197\000\000\000\000\000\151\001\207\000\000\000\203\003\006\000\000\000\183\000\000\000\140\002\176\000\000\000\000\000\000\000\141\000\153\000\000\000\000\000\142\000\000\000\000\003\130\000\000\000\138\000\000\000\138\000\000\000\147\000\000\000\147\000\155\000\000\000\000\003\131\000\184\002\178\000\000\000\203\000\185\000\000\000\183\000\000\000\000\002\247\000\157\000\000\000\151\000\000\000\152\000\138\000\000\000\000\002\238\000\147\000\000\000\000\002\198\003\008\000\000\000\000\002\199\000\152\000\000\000\155\000\000\002\176\000\000\000\184\000\138\000\000\000\153\000\185\000\147\000\000\000\000\000\000\000\000\000\157\003b\000\152\000\140\000\000\000\140\000\153\000\000\000\141\000\000\000\141\000\000\000\142\002\195\000\142\000\203\000\000\000\000\000\183\000\000\000\000\000\000\000\000\003\147\000\153\000\179\003d\001\170\000\203\000\140\000\000\000\183\000\000\000\000\000\141\000\000\000\000\003\160\000\142\000\000\000\151\000\155\000\151\002\193\000\000\000\184\002\197\000\152\000\140\000\185\000\000\000\000\000\000\000\141\000\155\000\157\000\000\000\142\000\184\000\000\000\000\002\239\000\185\000\000\003b\000\000\000\151\000\000\000\157\000\153\000\000\000\000\000\155\000\000\000\000\000\000\000\000\000\000\002\212\003&\006z\003\020\000\000\000\000\000\000\000\151\000\187\002\242\000\000\003\182\002\213\000\203\002\193\000\000\000\183\002\197\000\000\000\000\000\000\002\193\002\238\000\000\002\197\000\000\002\198\000\000\000\000\000\000\002\199\003\023\000\000\000\000\000\000\000\000\000\000\002\245\000\000\000\155\000\152\000\000\000\152\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\000\000\000\000\182\003,\000\182\000\000\000\000\000\153\000\000\000\153\000\000\000\152\000\000\000\000\000\000\000\000\002\238\000\000\000\000\000\000\002\198\000\138\002\233\002\238\002\199\000\147\002\247\002\198\002\235\000\000\000\152\002\199\000\183\000\153\000\183\000\000\000\000\000\000\000\000\000\000\002\248\000\000\000\000\000\000\000\000\000\000\000\000\002\235\000\000\000\000\000\000\000\000\000\153\002\239\000\000\000\155\000\000\000\155\000\183\000\184\000\000\000\184\000\000\000\185\000\000\000\185\000\000\000\000\000\000\000\157\002\212\000\157\000\000\003\025\000\000\000\000\000\000\000\183\000\140\002\242\000\138\000\155\002\213\000\141\000\147\000\184\000\000\000\142\000\000\000\185\000\000\000\000\000\138\000\000\000\000\000\157\000\147\000\000\000\000\000\000\000\155\003\027\002\239\000\000\000\184\000\000\000\000\002\245\000\185\002\239\000\000\000\000\000\000\000\000\000\157\000\151\000\000\000\000\000\000\002\212\000\000\000\000\003\025\000\000\000\000\000\000\002\212\000\000\002\242\003\025\000\138\002\213\000\000\000\000\000\147\002\242\000\000\000\140\002\213\000\000\000\000\000\000\000\141\000\000\000\000\003\"\000\142\000\000\000\000\000\140\003\027\002\247\000\000\000\000\000\141\000\000\002\245\003\027\000\142\000\000\000\000\000\000\000\000\002\245\000\000\002\248\000\000\000\000\000\138\000\000\000\000\000\138\000\147\000\000\000\151\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003=\000\151\000\140\000\000\000\000\000\000\000\000\000\141\000\152\003\029\000\000\000\142\000\000\000\000\000\000\002\247\003 \000\000\000\000\000\000\000\000\000\000\002\247\000\000\000\000\002\235\000\000\000\000\000\138\002\248\000\153\000\000\000\147\000\000\000\000\000\000\002\248\000\000\000\000\000\151\000\140\000\000\000\000\000\140\000\000\000\141\000\138\000\000\000\141\000\142\000\147\000\000\000\142\000\000\002\193\000\183\000\000\002\197\000\000\003H\000\000\000\000\003\172\000\000\000\000\003\225\000\138\000\152\000\000\000\000\000\147\003P\000\000\000\000\000\000\000\000\000\000\000\151\000\155\000\152\000\151\000\000\000\184\000\000\002\235\000\140\000\185\000\000\000\000\000\153\000\141\000\000\000\157\000\000\000\142\000\000\002\235\000\000\000\000\000\000\000\000\000\153\000\000\000\140\000\000\000\000\000\000\003\227\000\141\003W\000\000\000\140\000\142\000\000\000\183\002\198\000\000\000\152\000\000\002\199\000\000\000\000\000\151\000\140\000\000\003\229\000\183\000\000\000\141\000\000\000\000\000\000\000\142\000\000\002\235\000\000\000\000\000\155\000\000\000\153\000\151\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\155\000\000\000\157\000\000\000\184\000\000\000\152\000\000\000\185\000\152\000\000\000\151\000\000\000\000\000\157\000\183\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\182\000\000\000\000\000\182\000\000\000\153\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\138\000\155\000\138\000\000\000\147\000\184\000\147\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\152\000\157\000\183\000\000\000\000\000\183\000\138\000\138\000\000\000\000\000\147\000\147\000\000\000\000\002\212\000\000\000\000\000\182\000\152\000\000\000\000\000\000\000\153\000\000\000\000\000\155\002\213\000\000\000\155\000\184\0043\000\000\000\184\000\185\000\000\000\182\000\185\000\138\000\152\000\157\000\153\000\139\000\157\000\140\000\000\000\140\000\000\000\183\000\141\000\000\000\141\000\000\000\142\000\000\000\142\002\235\000\000\000\138\000\000\000\000\000\153\000\147\000\000\000\140\000\140\000\183\000\000\000\000\000\141\000\141\000\155\000\000\000\142\000\142\000\184\000\138\000\000\000\000\000\185\000\147\000\151\000\000\000\151\002\193\000\157\000\183\002\197\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\140\002\247\000\185\000\000\000\000\000\141\000\151\000\151\000\157\000\142\000\000\000\000\000\000\000\000\000\155\003\n\000\000\000\000\000\184\000\000\000\140\000\000\000\185\000\000\000\000\000\141\000\000\000\000\000\157\000\142\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\151\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\140\000\142\000\000\000\000\002\198\000\000\000\000\000\000\002\199\000\000\004<\000\151\004D\000\000\000\000\000\000\000\000\000\000\000\152\000\000\000\152\000\000\002\193\000\000\000\000\002\197\000\000\000\000\000\000\000\151\004\174\004\186\000\000\000\000\000\000\002\235\000\000\002\235\000\152\000\152\000\153\000\000\000\153\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\000\002\235\002\235\000\000\000\000\000\000\000\153\000\153\000\000\000\000\000\000\000\183\000\000\000\183\000\000\000\152\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\140\000\151\004\191\000\000\002\198\000\000\000\183\000\183\002\199\000\155\000\152\000\155\000\153\000\184\000\000\000\184\000\000\000\185\000\000\000\185\004\198\000\000\000\000\000\157\002\212\000\157\000\000\002\235\000\152\000\155\000\155\000\000\000\153\000\184\000\184\000\000\002\213\000\185\000\185\000\000\000\000\000\000\000\138\000\157\000\157\002\235\000\147\000\000\000\000\000\140\000\153\000\000\000\000\000\000\000\141\000\000\000\000\000\183\000\142\000\000\000\155\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\138\000\000\000\000\004\207\000\147\000\000\000\189\000\183\000\000\000\000\000\000\000\152\000\155\000\138\006V\000\000\000\184\000\147\000\151\002\193\000\185\000\000\002\197\000\000\000\000\000\000\000\157\006\182\002\235\000\000\000\155\000\140\000\000\000\153\000\184\002\212\000\141\002\247\000\185\000\000\000\142\000\000\000\138\000\000\000\157\000\000\000\147\002\213\000\000\000\000\000\140\003\012\000\000\000\000\000\000\000\141\000\000\000\140\000\183\000\142\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\151\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\140\000\000\000\000\000\142\002\198\000\155\000\138\000\000\002\199\000\184\000\147\000\151\004\229\000\185\000\000\000\000\000\000\000\000\000\151\000\157\000\152\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\151\000\142\000\000\003r\003s\000\000\002\235\000\000\000\000\002\247\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\138\000\000\000\000\000\000\000\147\000\000\003\014\000\000\000\000\000\000\000\000\000\000\000\151\000\000\004\234\000\140\000\000\000\000\000\000\000\183\000\141\000\000\000\152\000\000\000\142\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\241\000\000\000\000\000\000\000\000\000\000\002\235\000\000\000\152\000\155\000\140\000\153\003t\000\184\000\000\000\152\003u\000\185\000\000\000\151\000\000\000\000\002\212\000\157\000\140\002\235\000\000\000\000\000\152\000\141\000\153\000\000\006W\000\142\002\213\000\000\000\183\000\153\000\000\000\138\000\000\000\000\000\000\000\147\000\000\006W\000\000\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\138\000\183\000\000\000\152\000\147\000\155\000\000\000\151\000\183\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\000\000\138\000\157\001K\000\183\000\147\000\000\000\155\000\153\000\000\000\000\000\184\000\138\000\000\000\155\000\185\000\147\000\000\000\184\000\000\000\000\000\157\000\185\000\000\000\000\000\140\000\152\000\155\000\157\000\000\000\141\000\184\002\247\000\183\000\142\000\185\002\193\000\000\000\000\002\197\000\140\000\157\003\130\001q\000\000\000\141\003\016\000\000\000\153\000\142\000\000\000\138\000\000\000\000\003\131\000\147\000\155\000\000\000\140\000\000\000\184\000\000\000\151\000\141\000\185\000\000\000\000\000\142\000\152\000\140\000\157\000\000\000\000\000\183\000\141\000\000\000\000\000\151\000\142\000\000\000\000\000\000\000\000\000\000\000\000\001\138\000\000\000\138\000\000\000\000\000\153\000\147\000\000\000\140\000\138\000\151\000\155\002\198\000\147\000\000\000\184\002\199\000\000\000\000\000\185\000\000\000\151\000\000\000\140\000\000\000\157\000\000\000\000\000\141\000\000\000\183\000\000\000\142\000\000\000\000\000\000\003\147\000\000\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\162\000\000\000\000\000\155\000\000\000\152\000\000\000\184\000\000\000\140\000\151\000\185\000\000\000\000\000\141\000\000\000\140\000\157\000\142\000\000\000\152\000\141\001\185\000\000\000\000\000\142\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\155\000\152\000\000\000\000\000\000\000\153\000\000\000\000\000\140\000\151\000\000\000\000\000\152\000\141\000\000\000\183\000\151\000\142\002\159\000\000\000\000\000\000\000\000\000\153\002\212\000\000\000\000\000\000\000\000\002\206\000\183\000\000\000\000\000\000\000\153\000\000\002\213\000\000\000\155\000\000\000\000\000\000\000\184\000\000\000\000\000\151\000\185\000\000\000\183\000\000\000\000\000\152\000\157\000\155\000\000\000\000\000\138\000\184\000\138\000\183\000\147\000\185\000\147\000\000\000\000\000\000\000\000\000\157\002\221\000\000\000\000\000\155\000\000\000\153\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\155\000\000\000\000\000\157\000\184\000\152\000\000\000\000\000\185\000\000\000\000\000\000\000\152\000\000\000\157\000\138\000\183\000\000\000\000\000\147\000\000\000\000\002\223\002\247\000\000\000\000\000\000\000\153\000\000\003|\000\000\000\140\000\000\000\140\000\153\000\000\000\141\003\018\000\141\000\155\000\142\000\152\000\142\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\000\000\138\000\183\000\157\000\000\000\147\000\000\000\000\003\187\000\183\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\000\000\151\000\000\000\151\000\000\000\140\000\000\000\000\000\155\000\000\000\141\000\000\000\184\000\000\000\142\000\155\000\185\000\000\000\000\000\184\000\138\000\183\000\157\000\185\000\147\000\000\000\000\000\138\000\000\000\157\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\151\000\000\000\155\000\000\000\141\000\000\000\184\000\000\000\142\000\000\000\185\000\138\000\000\000\000\000\138\000\147\000\157\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\151\000\152\000\000\000\152\000\141\000\000\000\140\000\000\000\142\000\000\000\000\000\141\000\000\000\000\000\000\000\142\000\000\000\000\003\192\000\000\003\196\000\000\000\000\000\153\000\000\000\153\000\000\000\000\000\000\000\000\000\000\000\000\000\140\000\000\000\000\000\140\000\151\000\141\000\000\000\000\000\141\000\142\000\152\000\151\000\142\000\000\000\000\000\138\000\183\000\000\000\183\000\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\217\000\000\000\000\000\000\000\000\000\153\000\000\000\138\000\000\000\000\000\151\000\147\000\155\000\151\000\155\000\000\000\184\000\000\000\184\000\152\000\185\000\000\000\185\000\000\000\000\000\000\000\157\000\000\000\157\000\000\000\183\000\000\000\000\000\138\000\000\000\000\004\000\000\147\000\000\000\000\000\000\000\153\000\000\000\000\000\000\000\140\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\155\000\142\000\152\000\000\000\184\000\000\000\000\000\000\000\185\000\152\000\000\000\140\000\000\000\183\000\157\000\000\000\141\000\000\000\000\004\162\000\142\000\000\000\000\000\000\000\153\000\000\005\008\000\000\000\000\000\151\000\000\000\153\000\000\003r\003s\000\152\000\155\000\140\000\152\000\000\000\184\000\000\000\141\000\000\000\185\000\000\000\142\000\000\000\151\000\183\000\157\000\000\005\028\000\000\000\000\005\030\000\183\000\153\000\000\000\000\000\153\000\138\000\000\000\000\000\000\000\147\000\000\000\000\000\000\000\000\000\000\000\138\000\155\000\138\000\151\000\149\000\184\000\139\000\000\000\155\000\185\000\000\000\183\000\184\000\000\000\183\000\157\000\185\000\000\000\000\000\140\000\000\003t\000\157\003r\003s\003u\000\000\000\000\003r\003s\000\000\000\000\000\000\000\000\000\155\000\000\000\152\000\155\000\184\000\000\000\000\000\184\000\185\000\000\000\000\000\185\000\000\000\140\000\157\000\000\000\000\000\157\000\141\005 \000\000\000\152\000\142\000\140\000\153\000\140\000\000\000\000\000\141\000\000\000\141\000\000\000\142\000\000\000\142\000\000\000\000\000\000\005&\003r\003s\000\000\000\000\000\153\003r\003s\000\140\000\152\003t\000\183\000\151\000\140\003u\003t\000\000\003r\003s\003u\000\000\000\000\000\151\000\000\000\151\000\000\0054\000\000\000\000\000\000\000\183\000\153\000\000\000\000\000\155\000\000\000\000\000\000\000\184\000\000\003r\003s\000\185\000\000\000\000\000\000\000\000\000\000\000\157\000\000\003\130\000\000\000\000\000\155\000\000\000\000\000\183\000\184\000\140\000\000\003t\000\185\003\131\000\140\003u\003t\000\000\000\157\000\000\003u\000\000\000\000\000\000\000\000\000\140\000\000\003t\000\000\000\000\000\155\003u\000\000\000\000\000\184\000\000\000\000\000\000\000\185\000\000\000\000\000\152\000\000\000\000\000\157\000\000\000\000\000\000\000\140\000\000\003t\000\152\000\000\000\152\003u\000\000\000\000\000\000\005B\000\000\000\000\000\000\003\130\000\153\000\000\000\000\000\000\003\130\000\000\000\000\000\000\000\000\000\000\000\153\003\131\000\153\000\000\000\000\000\000\003\131\003\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\183\000\000\000\000\000\000\000\000\000\000\003\164\000\000\000\000\000\000\000\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\155\003\130\000\000\000\000\000\184\000\000\003\130\000\000\000\185\000\000\000\155\000\000\000\155\003\131\000\157\003\141\000\000\003\130\003\131\000\000\000\000\000\000\000\000\000\000\000\157\000\000\000\191\000\000\000\000\003\131\003\147\000\000\000\000\000\000\000\000\003\147\000\000\000\000\000\000\000\000\003\130\000\000\000\000\000\000\003\166\000\000\000\000\000\000\000\000\003\168\000\000\000\000\003\131\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\147\000\000\000\000\000\000\000\000\003\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\170\000\000\003\147\000\000\000\000\003\176\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\178\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\147\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\180")) + ((16, "\000J\000\n\000\000\000\000\000\000\000S\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001!\000\000\000\235\001H\000\000\000\151\000\139\000\000\000\000\000\000\000m\000\000\000\030\000\146\000\000\000\000\001\024\000\000\001\160\000\000\000\000\000\000\001\214\000\000\002\210\000\000\000\000\000\000\000\000\002\218\000\000\002\248\004\022\000\000\000\000\004>\000\000\004\150\000\000\000\000\000\000\005\n\000\000\005\024\000\000\005\186\000\000\005\194\006\190\000\000\000\000\006\246\000\000\007\020\000\000\000w\000\000\000\000\0072\000\000\007:\000\000\000\000\007N\000\000\007v\000\000\000\000\000\000\b\218\000\000\000\130\t\018\000\196\000\000\000\000\000\000\000\000\006.\0001\003\204\000\000\000\000\t^\000\000\029\178\000\000\000n\000\134\t\130\000\000\000\000\011\142\000\000\007|\000\000\001\164\n\172\017\154\012\206\017\154\r\244\022\144\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\012x\012\206\000\000\000\000\015.\000\000\023\254\000\000\000T\000\000\000\000\000\000\000\000\001F\000\000!R\000\000\000\000\000\132\000\000\001\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\134\000\000\006^\000\000\006\172\000\000\006\232\000\000\b\182\000\000\015\244\000\000\029$\000\000\"\166\000\000%\156\000\000&2\000\000)\164\000\000*\140\000\000\023F\000\000\000\000\000\000\000\000\000\000/N\000\0007\154\000\0007\176\000\000\001\234\000\000\000\000\020\026\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\204\tj\000\000\000\000\t\146\000\000\t\218\t\230\000\000\000\000\t\238\000\000\n\b\000\000\000\000\000\000\n\n\000\000\n\020\000\000\000\000\n0\000\000\n:\nB\000\000\000\000\nF\000\000\nP\000\000\000\000\000\000\nT\000\000\nV\000\000\nt\000\000\nv\nz\000\000\000\000\n|\000\000\n~\000\000\001\218\n\130\000\000\n\136\000\000\n\144\000\000\n\164\000\000\000\000\000\000\n\170\000\000\n\178\012,\000\000\n\192\000\000\000\238\030`\000\000\002\190\000\000\003\198\000\000\000\000\001\250\000\000\000\000\001?\005R\000\000\000\000\000\000\000\000\003B\000\000\003\254\000\000\004b\000\000\b\n\000\000\000\000\000\000\000\000\000\000\000\000\t\166\000\000\000\000\000\000\000\000\001\007\000\000\000\000\000\000\000\000\000\000\000\000\000\204\005 \014\130\000\000\n\202\000\000\n\204\015\030\000\000\n\208\000\000\000\000\004\b\000\000\000\000\000\000\000\000\000\000\026\156\000\0001\150\000\000\000\000\000\000\005V\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\019\000\000\000\000\000\000\000\000\000\000\000\000\011<\022\144\000\000\016\016\000\000\019\236\000J\000\000\000\000\000\000\005\232\000\000!\184\000\000\000\0001\230\000\000\000\000\000\000\005\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\216\000\000\026\228\000\000\000\000\000\000\000\000\000\128\000\000\000\0002:\000\000\000\000\000\000\015N\000\222\000\000\000\000\000\000\000\000\000\000\000\000\000&\000\000\003\026\000\000\005B\000\000\007\018\000\000\t\214\000\000\012$\000\000\014\216\000\000\015z\000\000\018\006\000\000\0182\000\000\018\192\000\000*\144\000\000\003R\000\000\019R\000\000\021j\000\000\022p\000\000\000\000\000\000\000\000\000\000\000~2\202\000\000\001(\000\000\000\000\002\026\002n\000\000\002d\000\000\000\000\000\000\n\144\000\000\000\000\000\000'\224\000\000\000\000\000\000\000\000\000\000(\182\000\000\000\000\000\000\000\000\000\000\000\000\001\202\000\000\000\000\000\000\n\220\016\184\000\000\n\226\000\000\000\000\000\000\000\000\000\000\n\228\000\000\000\000\001\t\004\250\000\000\005\206\000\000\000\000\000\000\002R\000\000\012f\002\248\n\238\000\000\000\000\n\246\000\000\011\000\011\004\000\000\000\000\011\020\000\000\011\022\000\000\000\000\000\000\011\024\000\000\011\030\000\000\000\000\011*\000\000\011.\0114\000\000\000\000\011@\000\000\011L\000\000\000\000\000\000\011P\000\000\011T\000\000\011Z\000\000\011^\011b\000\000\000\000\011p\000\000\011~\000\000\006\244\011\134\000\000\011\144\000\000\011\148\000\000\011\152\000\000\000\000\000\000\011\154\000\000\003b\000\000\000\000\011\158\016\196\000\000\011\170\000\000\000\000\000\030\000\000\000\000\0002\000\000\000\000\000\000\000\000\000\000\007\144\018\168\000\000\011\176\000\000\011\180\019\002\000\000\011\190\000\000\000\000\012\204\011\198\000\000\000\000\011\212\000\000\011\226\011\228\000\000\000\000\011\236\000\000\011\248\000\000\000\000\000\000\012\002\000\000\012\006\000\000\000\000\012\b\000\000\012\014\012\016\000\000\000\000\012\018\000\000\012\020\000\000\000\000\000\000\012\030\000\000\012.\000\000\0120\000\000\0122\012:\000\000\000\000\012<\000\000\012>\000\000\007\154\012@\000\000\012D\000\000\012F\000\000\012V\000\000\000\000\000\000\012Z\000\000\012\\\024\130\000\000\012j\000\000\000\000\007\156\024\198\000\000\012n\000\000\012\128\024\222\000\000\012\130\000\000\000\000\000\000\000\000\000\000\000\000\000\0002\232\000\000$\184\000\0003\012\000\000\000\000\006\158\000\000\000\000\000\000\007\164\005^\000\000\000\000*\192\004H\000\000\003\184\020D\000\000\000\000(\248\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0124(\248\000\000\r\136\000\000\028\236\024\150)f\000\000\028n\000\000\000\000\000\000\b\000\000\000\"^\000\000\000\0003\"\000\000\000\000\000\000\b\164\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0003p\000\0003\184\000\000\000\000\000\000\"@\b\142\000\000\000\000\000\000*\230\000\000\000\000\000\000\000\000\b\176\000\000\000\000\000\000\021~\000\000\000\000\029\184\000\000\001\220\000\000\000\000\000\000\005\"\000\000\017\018\000\000\020\222\000\000\027\234\000\000\029\006\000\000&\226\000\000(j\000\000(\210\000\000-\224\000\000/\170\000\0000H\000\0001h\000\0003R\000\0005\128\000\000\000\000\000\000\n~\000\000\018\248\030L\000\000+N\r\218+\176\000\000\000\000+\190\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004$\000\000\000\000\000\000\000\000\005\242\000\000\005\132\000\000\000\000\011X\000\000\000\000\000\000,,\000\000\000\000\000\000\000\000\000\000\0176\000\000\000\000\000\000\000\000,\162\000\000\000\000\000\000\000\000\003\248\012p\000\000,\186\000\000\000\000\000\000\000\000\r\012\000\000-\006\000\000\000\000\000\000\000\000\003\154\000\000\006\202\000\000\012\208\004\018)\128\000\000\000\000\000\000\005\234\000\000\000\000\000\000\000\000\000\000\000\000\015\182)\128\000\000\017\\\000\000\025\134\n\222\000\000\000\000\000\000\b\204\000\000\"\244\000\000\000\0003\198\000\000\000\000\000\000\b\242\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000!\142\000\0007\150\000\000\000\000\000\000\003\142\000\000\000\000\000\000\000\000\000\000\000\000\021\020\000\000\023\226\000\000\027\200\000\000#\138\000\000)H\000\0002\030\000\0007J\000\0007\196\000\0007\206\000\0008(\000\0008H\000\000-R\000\000\002\238\000\0008v\000\0008\140\000\0008\192\000\000)\254\000\000\000\000\000\0004\000\000\000\000\000\000\000\000^\000\0004\210\000\000\000\000\000\0004\214\000\000\000\000\000\030\000\000\025\150\000!\001X\000\000\002N\000\000\r$\001\228\007n\000\000\000\000\000\000\000\000\000\000\000\000\000\0005$\000\000%\160\0006\b\254\000\000\000\000\000\000-X\000\000-\172\000\000-\208\000\000%\186&L\001.\004R\t\002\000\000\000\000\000\000\0056\000\000\000\000\000u\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\0005l\000\000\000\000\000\000\000\000#v\000\000&f\000\000\000\000\000\000\000\000\000\000\000\000\r\196\000\000\000\000\002\220\000\000\000\000\000\000\025\202\005\016\000\000\026\130\000\000\000\000\r\012\000\000\006\228\000\000\000\000\014p\000\000\027j\000\000\000\000#\154\000\000\000\000\000\000\n\136\000\000\000\000\005\180\000\000\000\000\025`\000\000\000\000\000\000-\248\000\000\000\000\000\000\029\210\000\000\000\000\000\000\000\000.\232\000\000\000\000\000\000\000\000\004~\014 \000\000.\236\000\000\000\000\000\000\000\000\000\000\000\000\015\016\000\000\000\000\007\152\000\000\016\024\000\000\n\136\000\000\000\000\004:\004\198\000\000\006 \000\000\000\000\000\000\000\000\003\142\000\000&\152\000\000\028\004\004\168\028\176\000\000\004\180\000\000\016R\000\000\016\252\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\007\030\029J\005:\029\246\000\000\000\000\000\000\006x\000\000\017\240\000\000\b\142\000\000\000\000\026X\007\160\030\144\000\000\007\220\000\000\018\144\031<\000\000\000\000\019<\000\000\000\000\000\000\000\000\000\000\000\000\000\000\b\224\b,\000\000\b\230\000\000\000\000\000\000\000\000\bl\000\000\019\220\000\000\000\000\000\000\00745\180\000\000\000\000\000\000 \188\000\000\000\000\000\000\000\000\000\000\007\224\006P\000\000\000\000/\016\000\000\000\000\000\127\000\000\006\138\000\000\000\000\030l\000\000\000\000\000\000/\018\000\000\000\000\000\000\000\000/v\000\000\000\000\bj\006\166\000\000\000\000/\154\000\000\000\000\b\250$\004\000\000\007,\000\000\000\0000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000$P\000\000\000\000\000\000\001\144\000\000\000\000\007b\000\000\000\000\030\170\000\000\000\000\000\0000\170\000\000\000\000\000\000\000\0001\014\000\000\000\000\t\196\007\246\000\000\000\00014\000\000\000\000\t\002\000\000\000\000\000\000\000\000\003\142\005\254\000\000\000\000\000\000\000\000\000\000\000\000\000\000\005\228\000\000\020\154\000\000\000\000\000\0005\194\000\000\b\208\000\000\000\000\000\000\006\136\000\000\019\254\000\000\000\000\004\134\021:\000\000\021\230\000\000\000\000\000\000\006P\000\0005\246\007\1325\252\000\0006\134\000\000\000\000\000\000\007\224\000\0006\172\b\018\000\000\000\000'<\b\226'V\000\000(,\000\000\000\000\000\000\t:\000\0006\224\t^\000\000\000\000\rZ\tb\019N\000\000\020\208\000\000\000\000\000\000\td\000\0007\130\tz\000\000\000\000\000\000\000\026\000\000\000\000\000\000\002\154\000\000\000\000\000\000\000\000\000\000\000\000\b\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023,\000\000\000\000\005f\000\000\000\000\r@\000\000\000\000\000\000\000\000\n\b\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\r@\000\000\000\000\r\028\000\000\r.\000\000\000\000\004r\000\000\007\158\012\218\001V\000\000\000\000\003\226\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\198\001\138\000\000\000\000\000@\000\000\000\000\000\000\017\238\000\000\000\000\021\224\023\002\000\000\000\000\000\000\000\000\027t\028\142\000\135\000\000\000\000\000\000 \146\000\000\000\000\000\000\000\000\000\000\000\000\002\132\000\000\000\000\000\206\000\000\000\000\012\160\000\000\000\000\022\252\000\000\000\000\t\244\000\000\000g\000\000\000\000\000\000\000\000\b\020 \206\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\023L!\148\000\000\000\000\000\000\000\000!\228\000\000\000\000\025\222\000\000\r\\\000\000\000\000\000\000\027\210\000\000\003\026\000\000\000\000\000\000\031\134\000\000\000\000\"~\000\000\000\000\016\226#\134\019\134\000\000#\170\000\000\000\000\000\000\000\000\r\030\000\000\000\000\000\000\000Y\000\000\000\028\012\244\004\030\000\000\000\000\000\000\007\166\004\012\000\000\000\000\000\000\000\000\004@\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\t$\000\000\000\000\002\218\000\000\000\029\rv\007\016\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\025\198\000\000\000\000 0$N\000\000\000\000\000\000\000\000$\228\000\000\000\000\005>\000\000\b\186\011\154\000\000\028\028\000\000\000\000\000\000\000\000\000\000\000\002\030\000\000\000\000\000\030\170\000\000\000\000\000\000\000\000 T\000\000 \140\000\000\000\000\000\000\000\000\tF\000\000\000\000\000\000\003\210\000\000\000\000\001\178\000\000\000\000\000\000\000\000\000\000\000\000\000\0001B\000\000\000\000\000\000\003\132\000\000\000\000\000\000\000\000\000\000\000\004\001\172\003:\004\220\000\000\005\242\tv\t\134\t\152\000\000\000\000\000\000\000\000\000\000\000\000\005\138\022\134\000\000 \004\t\184\000\000\000\000\n\028\000\000\023\130\000\000*T\000\000\000\000\005\224\024\"\000\000 8\000\000\006\148 \240\000\000\000\000\000\000\tB\005\242\000\000\000\000\000\000\000\000\006b\000\000\007\148\000\000\006\204\t\022\000\000\000\000\000\000\003B\000\000\003\254\000\000\b\198\000\000\000\000\012\130\000\000\000\000\000\000\000\000\tz\000\000\000\000\n\250\000\000\024\206\000\000\025h\r2\000\000\000\000\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\000\000\0001\\\000\000\006\168\000\000\000\000\000\000\000\000\000\000\000\252\000\000\n2\005\188\011\026\000\000\002\144\011\198\000\000\n`\000\000\002\180\000\000\003\132\000\000\004\140\000\000\025h\000\000\000\000\000\000\000\000\000\000\005,\000\000\n\204\000\000\006 \000\000\025h\r\152\000\000\003\b\000\000\r\148\003\012\000\000\t\188\000\000\n\028\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\n^\000\000\nb\000\000\000\000\000\000\012|\000\000\000\000\000\000\000\000\000\000\r\156\012\136\000\000\000\000\012\178\000\000\000\000\012\152\t\220\r\222\000\000\r\226\000\000\000\000\005\192\002@\000\000\012\194\000\000\000\000\012\250\000\000\000\000\000\000\000\000\000\000\000\000\r\202\012\180\000\000\000\000\000\000\012\218\012\190\n&\t\000\012\230\r\028\000\000\000\000\012\214\n:\n\014\012\248\rB\000\000\000\000\000H\014\020\000\000\014\022\000\000\0148\000\000\000\000\014\026\000\000\000\000\014\028\000\000\000\000\000\000\000\000\014$\000\000\014L\000\000\000\000\000\000\014N\000\000\000\000\000\000\014Z\000\000\000\000\000\000"), (16, "\003z\003\145\0011\006\006\005\182\005\127\005\128\001j\000\007\001k\003H\005\215\005\216\000\018\000J\000J\000`\006'\003z\003\145\002\170\004j\004R\006@\001\239\006\149\006\004\006\007\005\127\005\128\0013\006\150\000\005\002B\000`\001j\002;\001k\006\151\000\017\004#\005\217\001\241\003z\003\145\006\024\002;\006\029\006(\000J\006)\005\218\005P\001j\000\004\001k\002?\004$\000\139\003|\003\213\003\214\000\140\003}\000\141\004^\002=\001l\005\129\005\b\006\030\001m\006!\005\127\005\128\004$\005\183\003|\000\005\006*\005\166\003}\000\139\000\139\006\193\006\194\000\150\000\140\002>\006+\000\025\005\129\000\141\0012\007R\001l\000\024\000`\002>\001m\002\244\001z\003|\005\164\005\127\005\128\003}\006H\006\025\007S\000\141\000\028\004\153\001l\003\150\000\141\001\186\001m\006\026\006\027\000\142\0012\000i\006\153\000\143\003I\000K\003\250\000J\001z\000`\000b\001\230\000f\001:\000`\005\129\006K\006\198\000\141\000\141\006\154\003z\003\145\000\142\000\142\005\133\001z\000\143\000\143\004\r\000`\000\152\004d\001\016\006\207\005\195\003\150\000`\003\252\003\138\001\222\006\151\006\208\004#\004\018\004\199\005\129\004\r\004\019\004%\000h\003\139\004\155\004x\001E\000\152\000\152\003\138\001{\000 \005\134\001\191\004\018\004f\003\213\003\214\004\019\004%\006\155\003\139\005\014\000h\004\r\000\r\006i\000`\001\186\006\156\004$\004\023\003|\006\181\003\138\004S\003}\004r\001{\004\018\001\143\006\227\004-\004\019\001\193\004\137\003\139\004J\003\154\004\023\000\016\000\017\005\148\004(\006\183\000J\001{\001j\004f\001\208\004-\000\153\001\217\006\185\002M\004J\003\154\000J\000\139\000\031\003\155\000i\000\150\006N\004\023\003\156\005\163\000`\001\128\003\157\000\b\006s\002@\000\154\003\158\000\153\000\153\001\146\003\155\003z\003\145\003\154\000\139\003\156\006\228\005\t\000\150\003\157\001\191\005\164\005\127\005\128\003\158\001\144\003H\000`\001\148\000\154\000\154\002\170\004j\004R\005\135\003\155\000\141\001\220\000`\001l\003\156\005\011\001\153\001m\003\157\004\r\001|\000\141\001\194\003\158\000\206\001\192\000\142\001T\000\155\003\138\000\143\001\015\000\"\005\149\004\018\003\213\003\214\000J\004\019\004%\006\229\003\139\004$\003\216\003|\000\141\001\144\001z\003}\006\156\000\142\000\156\000\156\006\231\000\143\001\018\000\197\0019\000\152\005\129\005\193\001\218\000\206\003\250\007\026\000\158\000\160\006a\006b\004\023\000`\003z\003\145\004(\006\233\000\145\001\018\001H\0019\001%\004-\000`\000\152\006\235\006f\004J\003\154\000`\000\005\003z\003\145\006\151\006\213\004R\001\030\003\253\003\254\004\000\004y\003\150\000$\001\186\005\192\005p\006@\000`\003\213\003\214\003\155\006\151\006\213\004R\000i\003\156\002B\004?\001\197\003\157\003z\003{\001\219\001\234\003\158\000\206\002\252\001{\005q\000(\004$\0029\003|\005t\005\127\005\128\003}\004\r\000\153\006~\006 \002B\001j\006i\001k\005\152\006\224\003\138\004$\001\199\003|\000\254\004\018\000J\003}\001\197\004\019\004%\004\242\003\139\000\154\004{\000\153\006\030\006\218\006!\005\127\005\128\003\215\005\167\001j\004f\001k\006u\000`\000\206\007)\000\141\006s\003|\002\251\006F\001\242\003}\000\154\000\155\001\198\004\023\005\215\005\216\007*\004S\007\004\004r\000`\003z\003\145\005\129\004-\000\141\001\241\004\137\001l\004J\003\154\001(\001m\0014\000\156\000\155\001\031\000`\001 \000\157\000\206\006\151\006\213\004R\005\239\000J\006P\002\199\000\158\004\r\002\225\001\218\003\155\000\141\005\218\005\129\001l\003\156\000\156\003\138\001m\003\157\001z\000\196\004\018\004\027\003\158\004\r\004\019\004%\006\219\003\139\000\158\000`\000b\000c\000f\003\138\004$\006\156\003|\000*\004\018\004\021\003}\000/\004\019\004%\006\219\003\139\001z\000i\003z\003\145\006\220\001:\001\196\006\156\000\206\004\023\0003\004\021\005\151\004S\000\141\006\221\003\138\005\193\002\204\000\206\004-\000J\002\205\006\223\000h\004J\003\154\004\023\003\139\002\199\0021\004S\002\203\006\221\006\016\005\196\005\130\006k\004-\001\191\006l\006\223\005\148\004J\003\154\0017\003U\0037\003\155\000J\001{\0072\002M\003\156\000J\006p\006\017\003\157\000`\000\141\006\020\003|\003\158\003z\003\145\003}\003\155\0010\000J\007\007\003\153\003\156\001:\003\184\006}\003\157\005\144\002M\001{\000`\003\158\004\r\006\017\006\151\006\213\004R\002\244\006\\\006]\005\022\002\204\003\138\003z\003\145\002\205\003\155\004\018\005\149\004l\005\142\004\019\004%\006\219\003\139\004l\005\145\005\127\005\128\006u\003\158\000\206\006\156\006i\004K\004`\004\021\003\150\002\218\001\148\000`\004$\004a\003|\006s\001\177\001%\003}\005\149\001\194\002\219\000\206\004\023\001\155\000i\000`\004S\006\222\006\221\002\199\004 \001\030\002\203\004-\003z\003\145\006\223\001\148\004J\003\154\002\244\004!\003|\004c\0002\001j\003}\001k\001\015\006@\000`\001\151\001+\003\138\006\151\006\213\004R\000i\006\018\002B\005\129\003\155\004~\002\245\0005\003\139\003\156\003\247\001\021\000`\003\157\000i\001\018\006\029\0019\003\158\005\024\003\152\003\213\003\214\002\218\003.\0032\003\028\006\018\000J\000\141\005{\005\"\002\248\002\204\004$\002\219\003|\002\205\002\172\006\030\003}\006!\005\127\005\128\001F\000\141\005|\004\r\001l\005$\006\230\0007\001m\003\154\003\031\000J\005\135\003\138\0038\000J\002\251\003\248\004\018\006\021\003\213\003\214\004\019\004%\006\219\003\139\006\210\006\n\003z\003{\000`\003\155\004\r\006\156\000J\001\029\003\156\004\021\001z\001(\003\157\001)\003\138\004t\001\031\003\158\001 \004\018\000\206\004o\001\030\004\019\006x\004\023\003\139\003z\003\145\004S\000J\006\221\002\253\005\129\006A\005\r\004-\000;\004\021\006\223\002\172\004J\003\154\000`\000=\006t\002\254\006\151\006\213\004R\000`\006\225\003\249\001\228\004\023\004\r\000J\000\141\000\139\003|\002\218\003H\000\140\003}\003\155\003\138\000J\003H\001?\003\156\004\018\003\154\002\219\003\157\004\019\004%\006\219\003\139\003\158\006u\006\128\000\206\003\213\003\214\004$\006\156\003|\004\128\001{\004\021\003}\000h\004~\003\155\001\236\001R\000\206\000\139\003\156\000i\006\234\000\140\003\157\003\248\007\027\004\023\000`\003\158\000J\004S\002\170\006\221\003z\003\145\001\197\000\141\004-\000\141\000i\006\223\000\142\004J\003\154\006\142\000\143\000?\004a\000\139\000`\000C\002M\000\140\002\170\004j\004R\004'\001\031\000J\001 \006D\000\206\002\253\000i\002\173\003\155\001\199\004!\003\\\001j\003\156\001k\000J\000\152\003\157\000\141\003\000\001\148\004b\003\158\000\142\003\138\0039\003>\000\143\006\201\003z\003\145\006\202\001o\004$\001\157\003|\003\139\000i\007\"\003}\003I\004\r\001x\000i\000\004\000`\004?\006|\000\141\004\180\0046\003\138\005%\000\142\000J\000\152\004\018\000\143\003z\003\145\004\019\004%\006\219\003\139\001\238\001j\000\206\001\129\000\005\000\141\005$\006\156\001l\005\005\000`\004\021\001m\006\147\002\170\004j\004R\003N\000J\006\206\000i\000\152\004\214\004\242\003|\004X\005\025\004\023\003}\000`\000\153\004S\006\158\006\221\003c\003R\004!\000`\004-\003\144\004\139\006\223\001z\004J\003\154\000J\004\131\004\220\001\018\000i\0019\004$\000\154\003|\005\011\000B\004\134\003}\000\141\006\169\004%\001l\004\r\000i\004\182\001m\003\155\000`\000J\000\153\004\139\003\156\003\138\000J\000J\003\157\006i\004\018\002\171\006\017\003\158\004\019\004%\000E\003\139\005\017\004x\004\136\000`\003z\003\145\000\154\001\134\004\190\005\026\001z\004\021\006\172\000G\000\153\000\156\004-\002$\005\155\0042\000`\004J\004\206\004\181\002\170\004j\004R\004\023\000L\000\162\004\149\004S\000N\004r\000J\001{\000\154\005\024\004-\000J\003\138\0042\000Q\004J\003\154\000i\004\164\005\214\005\127\005\128\004\221\001:\003\139\002\199\000\156\005\156\002\203\004!\005,\004\r\004\142\004$\000S\003|\004\222\006\170\003\155\003}\000\164\003\138\001%\003\156\000i\000\139\004\018\003\157\005.\000\140\004\019\004%\003\158\003\139\004v\004x\000\156\001\030\003z\003\145\001{\004\215\006$\004\224\004\205\004\021\004\229\002G\004\247\003\154\000\166\001\209\002}\002\148\000`\001\148\005/\006\023\002\170\004j\004R\004\023\002\244\005\129\001\137\004S\002\204\004r\004\233\001\159\002\205\003\155\004-\000J\005.\0042\003\156\004J\003\154\000J\003\157\0052\000\141\005n\005o\003\158\001\147\000\142\006\175\000`\006\176\000\143\006\165\000J\006\166\004$\000\206\003|\000i\005.\003\155\003}\003;\002\207\003T\003\156\004\r\004\134\001\148\003\157\006\029\000`\000J\001\149\003\158\006s\003\138\001\150\000J\000\152\000J\004\018\001\151\003z\003\145\004\019\004%\000\139\003\139\004\157\004x\000\148\004\187\006\030\004\204\006!\005\127\005\128\004\135\000`\004\021\006x\004\249\002\170\004j\004R\001'\004\158\002\245\006x\004\158\001\031\002\171\001 \006X\000\206\004\023\006\164\006x\004\254\004S\000`\004r\004\254\006\132\002\218\003\027\004-\003\028\001j\0042\001k\004J\003\154\002\248\004!\001:\002\219\004\160\006\171\004$\004\159\003|\005:\000\141\002\216\003}\007.\004\r\000\142\005\000\002\243\000W\000\143\004\255\003\155\003\031\000\153\003\138\005\129\003\156\005<\002\251\004\018\003\157\003\127\001\215\004\019\004%\003\158\003\139\005\021\004x\005\204\006\135\003z\003\145\004\248\005~\000\154\001\233\000\152\004\021\006\252\003\136\004!\000\141\005=\001%\001l\003\231\000`\003\246\001m\005|\006\151\005\202\004#\004\023\005\205\005\127\005\128\004S\001\030\004r\005<\002\253\005@\006Z\004-\005H\005K\0042\002\199\004J\003\154\002\203\007\"\000e\006\210\002\254\005N\000\139\001z\000\208\005.\000\140\000\156\005J\005J\006\170\006\252\004$\004\r\003|\006t\000\139\003\155\003}\005.\000\148\000\168\003\156\003\138\000\211\006\165\003\157\006\166\004\018\000\206\006\226\003\158\004\019\004%\002\172\003\139\006\179\004x\007\024\000\153\006{\003z\003{\005\129\006\252\006,\006\252\004\021\006z\006\152\002\244\003T\006\216\006\210\002\204\003H\000\185\006y\002\205\000\141\000\215\000\154\0075\004\023\000\142\006\182\000\214\004S\000\143\004r\000\217\003z\003\145\000\141\004-\007-\004!\0042\000\142\004J\003\154\001{\000\143\000\219\000\223\0074\000\186\000`\001j\000\225\001\127\006\151\001(\004#\001.\007\003\000\152\001\031\000\141\001 \003|\000\206\003\155\000\228\003}\004\r\006\232\003\156\000\232\000\156\000\152\003\157\000\231\000\187\000\234\003\138\003\158\000\188\000`\000\236\004\018\000\240\000\242\000\158\004\019\004%\006\212\003\139\004$\000\139\003|\001\203\007\"\001\214\003}\006\156\002\245\000\244\000\248\006\215\000\247\000\250\000\252\006\253\000\255\000\141\006\211\001\001\001l\001\148\007#\001\003\001m\002\218\003\030\004\023\003\028\003z\003\145\004(\006\217\001\005\002\248\001\161\001\t\002\219\004-\000i\001I\006\223\004?\004J\003\154\000`\000\153\001\014\006\255\006\151\007\001\004#\001>\001D\001z\001C\003\031\001%\000\141\007#\000\153\001\227\002\251\000\142\001\226\001\232\003\155\000\143\000\154\007#\001\246\003\156\001\030\003\138\001\249\003\157\001j\001\188\001k\001\253\003\158\001\252\000\154\004D\002\199\003\139\004$\002\224\003|\001\255\002\001\002\005\003}\004\r\002\007\000\152\000`\000b\001\012\000f\002\n\004H\002\014\003\138\006\214\002\r\002\253\000\186\004\018\003z\003\145\002\016\004\019\004%\006\212\003\139\001\202\002\018\000\139\002\022\002\254\002\024\001Y\006\156\002\026\000`\002\030\006\215\002\029\002\170\000\156\004#\001{\000\141\000\187\002 \001l\000h\000\188\000`\001m\000\141\002\"\004\023\000\158\002\204\002%\004(\006\217\002\205\002\172\002'\003\140\002)\004-\002+\002/\006\223\0028\004J\003\154\000\139\003z\003\194\0027\000\148\004$\002F\003|\002L\001z\000J\003}\000\153\002K\000\141\002\143\000`\002O\004\r\000\142\001(\003\155\003A\000\143\002R\001\031\003\156\001 \003\138\000\206\003\157\002V\002U\004\018\000\154\003\158\002X\004\019\004%\006\212\003\139\005\029\002Z\003z\003\145\004\152\006\172\002^\006\156\002`\002c\000\152\006\215\002g\002f\002i\002k\000\141\000\141\000`\003|\002o\000\142\002\170\003}\004#\000\143\002\172\004\023\002q\002s\002w\004(\006\217\005\141\002v\002y\002{\002~\004-\002\128\002\130\006\223\002\218\004J\003\154\000`\001{\000J\002\132\002\170\002\136\002\142\002\199\000\152\002\219\002\223\005\142\004\r\002\141\004$\002\147\003|\005\145\005\127\005\128\003}\003\155\003\138\001\015\002\153\002\152\003\156\004\018\005y\005\161\003\157\004\019\004%\005\140\003\139\003\158\000i\003z\003\145\005\154\005\198\003\\\005\233\000\153\006\002\004\028\004\141\001\018\002\199\0019\004\150\002\203\006\012\000`\004\152\006&\006\191\002\170\004\030\004#\006\237\001j\004\023\001\129\000\141\000\154\004(\004\143\002\204\001\148\006\241\007\005\002\205\004-\007\011\003\138\0042\007\012\004J\003\154\003V\005\129\007\017\001\163\006\174\007\018\000\153\003\139\006\165\007\023\006\166\007\022\000\206\007\030\004$\007 \003|\007&\003Z\007'\003}\003\155\007+\001W\007,\002\244\003\156\004\r\000\154\002\204\003\157\007/\0070\002\205\000i\003\158\0073\003\138\000\141\002\172\0076\001l\004\018\003z\003\145\001m\004\019\004%\001\200\003\139\000\206\0077\004*\000\186\007H\007=\007F\007B\007E\000`\000J\004\141\007N\002\170\004+\004R\007L\007P\000`\000b\001<\000f\001\134\007U\004%\001z\000\156\004\023\003]\000\000\000\187\004(\004\143\000\000\000\188\000\000\000\000\002\218\004-\000\000\000\158\0042\000\000\004J\003\154\001j\003a\001k\000\000\002\219\004$\000\000\003|\005\157\000\000\000\000\003}\004\r\005C\000h\000\000\002\245\000\000\000\000\000\000\004-\003\155\003\138\0042\000\000\004J\003\156\004\018\003z\003\145\003\157\004\019\004%\002\218\003\139\003\158\003&\004U\000\000\000\000\000\000\000\000\002\248\000\139\000`\002\219\004W\001V\002\170\004+\004R\000`\000b\001A\000f\000\000\000\000\000\141\001{\001j\001l\001\129\004\023\000\000\001m\000\000\004(\004Y\000\000\001\135\002\251\000\000\000\000\004-\000\000\000\000\004[\000i\004J\003\154\000\000\001j\001\137\001k\000\000\004$\000\000\003|\000\000\000\000\000\000\003}\000h\000\000\001z\000\000\000\000\000\000\004\r\000\000\000\141\003\155\000\000\000\000\001\147\000\142\003\156\003)\003\138\000\143\003\157\003z\003\143\004\018\002\253\003\158\000\141\004\019\004%\001l\003\139\004L\000\000\001m\000\000\000\000\001\148\000\000\002\254\000\000\000\000\001\149\004\021\000\000\000\000\001\150\000\000\000\152\000\141\004P\001\151\001l\000\139\000\000\000\000\001m\000\140\001\015\004\023\000\000\000\000\000\000\004S\001z\004T\000\000\001j\000\000\001~\004-\003z\003\145\0042\000\000\004J\003\154\000\000\000\000\000\141\004Z\003|\001\018\001{\0019\003}\001z\000`\000\000\004\r\000\000\002\170\004+\004R\000\000\000\000\000\000\000\000\003\155\003\138\003z\003\145\000\000\003\156\004\018\000\000\000\000\003\157\004\019\004%\000\141\003\139\003\158\000\000\000\000\000\142\000`\000\000\000\000\000\143\002\170\004j\004R\004\021\000\141\000\000\000\153\001l\004$\000\000\003|\001m\000\000\000\000\003}\000\000\001\015\000\000\000\000\004\023\000\000\000\000\001{\004S\000\000\004T\000\000\000\152\000\154\000\000\004-\001\148\000\000\0042\000\000\004J\003\154\004$\000\000\003|\001\018\001z\0019\003}\001{\001\165\001\145\000`\000b\001\224\000f\000\000\000\000\000`\000b\0025\000f\000\000\003\155\000\000\000\000\000\000\003\138\003\156\000\000\003z\003\145\003\157\001\147\000\000\000\000\000\000\003\158\000\000\003\139\000\000\002\199\000\000\000\000\002\203\000\000\000`\000\000\006\003\000\000\002\170\004j\004R\000h\000\000\001\148\000\000\000\000\000\000\000h\001\149\000\000\000\000\000\000\001\150\000\000\004\r\000\000\000\000\001\151\000\153\006\004\006\007\005\127\005\128\000`\003\138\001\148\003z\003\142\000\000\004\018\000\000\000\000\001{\004\019\004%\004$\003\139\003|\000\000\001\167\000\154\003}\000\000\004\r\000\000\000\000\000\141\000\000\004\021\000\000\002\204\000\000\000\000\003\138\002\205\006\028\000\000\000\139\004\018\000\000\000\000\000\148\004\019\004%\004\023\003\139\000\000\004q\004S\000\000\004T\000\000\000\000\000`\000\000\004-\000\000\004\021\0042\000\000\004J\003\154\000\000\000\141\005\129\003|\000\000\000\000\000\156\003}\001%\000\000\000\000\004\023\000\000\000\000\000\000\004S\000\000\004r\003z\003\145\000\170\003\155\004-\001\030\000\000\0042\003\156\004J\003\154\001j\003\157\001k\000\141\000\000\000`\003\158\000\000\000\142\002\170\004j\004R\000\143\000\000\000\000\000\000\000\000\004\r\000\000\000\000\005\163\003\155\001j\001\015\001k\000\000\003\156\003\138\000\000\001\015\003\157\000\000\004\018\000\000\000\000\003\158\004\019\004%\002\218\003\139\000\152\004s\000\000\005\164\005\127\005\128\004$\001\018\003|\0019\002\219\004\021\003}\001\018\000\000\0019\000\000\000\141\000\000\000\000\001l\001\184\001\186\000\000\001m\000\000\000\000\004\023\000\000\003z\003\145\004S\000\000\004r\000\000\003\138\000\000\000\000\004-\000\141\006.\0042\001l\004J\003\154\000`\001m\003\139\000\000\002\170\004\144\004R\000\000\001j\001z\001k\000\000\000`\000b\002D\000f\000\000\000\000\001(\000\000\003K\003\155\005\129\001\031\000\000\001 \003\156\000\206\000\000\000\000\003\157\001z\000\000\000\153\002\253\003\158\002\199\000\000\000\000\002\203\000\000\004$\000\000\003|\000\000\000\000\000\000\003}\003\002\000\000\001\188\000\000\000\000\000h\004\r\000\154\000\000\000`\000b\002I\000f\000\000\000\000\000\000\003\138\000\141\000\000\000\000\001l\004\018\003z\003\145\001m\004\019\004%\001\194\003\139\000\206\004\133\004\146\000\186\001j\000\000\001k\000\000\000\000\000`\001{\004\021\000\000\002\170\004\144\004R\002\244\000\000\000`\000\000\002\204\000h\002\170\000\000\002\205\001z\000\156\004\023\000\000\000\000\000\187\004S\001{\004r\000\188\000\000\000\000\000\000\004-\000\000\000\158\0042\000\000\004J\003\154\000\000\000\000\000\000\000\000\000\000\004$\000\000\003|\005\170\000\000\000\000\003}\004\r\000\000\003\\\000\000\000\141\000\000\000\000\001l\000\000\003\155\003\138\001m\000\000\000\000\003\156\004\018\003z\003\145\003\157\004\019\004%\001\148\003\139\003\158\001j\004\166\001}\000\000\005\182\005\127\005\128\004\148\000`\000\000\004\021\001\169\002\170\004+\004R\000\000\000\000\001z\000\000\001\148\000\000\002\245\001{\000\139\000\000\000`\004\023\000\150\001\015\002\170\004S\000\000\004\147\001\171\000\000\000\000\000\000\004-\002\218\000\000\0042\003!\004J\003\154\000\139\000\000\000\000\002\248\000\148\004$\002\219\003|\001\018\000\000\0019\003}\000\000\000\141\000\000\000\000\001l\000\000\004\r\000\000\001m\003\155\003\\\000\000\005\129\003#\003\156\000\000\003\138\001\015\003\157\002\251\005\251\004\018\000\000\003\158\000\141\004\019\004%\000\000\003\139\000\142\000\000\003z\003\145\000\143\001\148\004%\000\000\000\000\001z\001{\004\021\001\018\000\000\0019\000\000\000\141\000\000\000`\001\173\000\000\000\142\002\170\000\000\004#\000\143\000\000\004\023\003,\000\000\000\000\004S\000\152\004\147\002\253\000\000\002\199\000\000\004-\002\203\005E\0042\000\000\004J\003\154\000`\000\000\004-\002\254\002\170\0042\000\000\004J\000\152\000\000\000\000\000\000\004\r\000\000\004$\000\000\003|\000\000\003z\003{\003}\003\155\003\138\005\027\000\000\000\000\003\156\004\018\000\000\002\179\003\157\004\019\004%\001\148\003\139\003\158\000\000\003z\003\145\000\000\000\000\003\\\001{\000\000\000\000\000\000\004\021\001\179\000\141\004%\005\015\000\000\002\204\000`\004\152\000\000\002\205\002\170\000\000\004#\000\000\001j\004\023\001k\000\000\000\153\004S\000\000\004T\000\000\000\000\002\199\000\000\004-\002\203\000\141\0042\003|\004J\003\154\000\000\003}\000\000\005\026\000\000\000\000\000\153\000\154\000\000\000\000\004-\000\000\000\000\0042\004$\004J\003|\000\000\000\000\000\000\003}\003\155\000\000\001\188\000\000\000\000\003\156\004\r\000\154\000\000\003\157\000\000\000\155\000\000\000\000\003\158\000\000\003\138\000\141\000\000\000\000\001l\004\018\003z\003\145\001m\004\019\004%\002\244\003\139\005\031\000\000\002\204\000\186\004\152\000\156\002\205\000\000\000\000\000`\000\199\004\141\000\000\002\170\000\000\004#\000\000\000\000\000\000\000\158\000\000\002\218\005\163\000\000\004%\001z\000\156\004\023\000\000\000\000\000\187\004(\004\143\002\219\000\188\000\000\000\000\000\000\004-\000\000\000\158\0042\000\000\004J\003\154\005\164\005\127\005\128\003\138\000\000\004$\000\000\003|\000\000\000\000\000\000\003}\004\r\005G\000\000\003\139\000\000\001j\000\000\001k\004-\003\155\003\138\0042\000\000\004J\003\156\004\018\003z\003\145\003\157\004\019\004%\000\139\003\139\003\158\000\000\000\148\000\000\002\245\000\000\005!\000\000\000\000\000`\004\152\004\141\000\000\002\170\000`\004#\000\000\000\000\000\000\000\000\000\000\002\218\002\253\001{\002\247\000\000\000\000\004\023\000\000\005\129\002\248\004(\004\143\002\219\000\000\000\000\003\004\000\000\004-\000\141\000\000\0042\001l\004J\003\154\000\000\001m\003\155\000\000\000\000\004$\000\000\003|\000\000\000\000\000\141\003}\000\000\002\251\000\000\000\142\003\160\000\000\004\r\000\143\000\000\003\155\000\000\000\000\000\000\000\000\003\156\000\000\003\138\000\000\003\157\001z\000\000\004\018\000\000\003\158\005\201\004\019\004%\000\000\003\139\006\129\005\163\000\000\000\139\004\152\001\148\000\152\000\140\000\000\000\000\000\000\004\141\000\000\000\000\000\000\000\000\002\253\005s\005\202\001\181\000\000\005\205\005\127\005\128\005\164\005\127\005\128\004\023\000\000\000\000\002\254\004(\004\143\003z\003\145\005\201\000\000\000\000\004-\000\000\005q\0042\006\137\004J\003\154\005t\005\127\005\128\000\000\000`\000\000\005\176\000\000\002\170\004+\004R\000\000\004\r\005\202\000\000\000\141\005\205\005\127\005\128\000\000\000\142\003\155\003\138\001{\000\143\000\000\003\156\004\018\000\000\000\000\003\157\004\019\004%\000\000\003\139\003\158\003z\003{\000\000\000\153\005\129\000\000\000\000\005\129\000\000\004$\004\141\003|\000\000\000\000\000\139\003}\000\152\000\000\001U\000\000\001Z\000\000\000\000\000\000\000\000\000\154\004\023\000\000\005\129\000\000\004(\004\143\003z\003\145\000\000\000\000\000\000\004-\000\000\000\000\0042\000\000\004J\003\154\005\129\001\\\000\000\000\206\000`\000\000\000\186\000\000\002\170\000\000\004#\001\148\000\000\000\141\000\000\003|\000\000\000\000\000\000\003}\000\000\003\155\000\000\000\000\000\000\001\183\003\156\000\141\000\000\000\156\003\157\000\000\000\142\000\187\000\000\003\158\000\143\000\188\000\000\000\000\000\000\000\000\000\000\000\158\000\000\004$\002\199\003|\000\000\002\203\000\153\003}\000`\000b\002\139\000f\000\000\000\000\004\r\000\000\000\000\000\000\000\000\000\000\000\152\005\219\000\000\000\000\003\138\000\000\000\000\005\174\000\154\004\018\003z\003\145\000\000\004\019\004%\000\000\003\139\006\143\000\000\006\184\000\000\004\152\000`\000b\002\145\000f\000`\000\000\004\021\000h\002\170\004+\004R\000\184\000`\000b\002\150\000f\000\000\000\141\000\000\005\225\000\000\002\204\004\023\000\000\000\000\002\205\004S\000\000\004T\000\000\003\138\000\000\000\000\004-\000\156\000\000\0042\000\000\004J\003\154\000\000\000h\003\139\000\000\000\000\004$\000\000\003|\000\158\000\000\000\000\003}\004\r\000h\000\000\000\000\000\153\000\000\000\000\000\000\000\000\003\155\003\138\000\000\000\000\000\000\003\156\004\018\000\000\000\000\003\157\004\019\004%\000\000\003\139\003\158\000\000\000`\000\154\000\000\003z\003\141\000\000\000\000\000\000\006x\004\141\004\161\003z\003\145\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\172\004\023\000\000\000`\000\000\004(\004\143\002\170\003\155\004R\000\000\000\000\004-\003z\003\145\0042\000\000\004J\003\154\002\218\000\139\003H\003\162\000\000\000\150\004V\000\000\000\000\000\000\000`\000\000\002\219\000\000\002\170\000\000\004#\000\141\004\r\003|\001\015\003\155\006\029\003}\001%\004$\003\156\003|\003\138\000\000\003\157\003}\005\234\004\018\000\000\003\158\000\000\004\019\004%\001\030\003\139\000\000\000\000\000\000\001\018\006\030\0019\006!\005\127\005\128\000\000\004$\004\021\003|\001\015\005\235\000\000\003}\000\141\005\238\005\127\005\128\000\000\000\142\000\000\000\000\001\015\000\143\004\023\000\000\000\000\000\000\004S\000\000\004T\000\000\000\000\000\000\001\018\004-\0019\002\221\0042\000\000\004J\003\154\003z\003\145\000\000\000\000\001\018\000\000\0019\000\000\000\000\000\152\000\000\000\000\004\"\000\139\000\000\002\172\000`\000\148\000\000\000\000\002\170\003\155\004#\000\000\000\000\005\129\003\156\000\000\000i\000`\003\157\004?\004\r\000\000\003\138\003\158\003H\005\129\006|\000\000\000\000\000\000\003\138\000\000\000\000\000\000\003\139\004\018\000\000\000\139\000\000\004\019\004%\000\150\003\139\000\000\000\000\004$\004\r\003|\000\000\000\000\001(\003}\0049\000\000\004\163\001\031\003\138\001 \000\141\000\206\004D\004\018\000\000\000\142\000\000\004\019\004%\000\143\003\139\000\000\004\023\001\197\000\000\000\000\004S\000\153\004\165\000\000\004H\000\000\004&\004-\000\000\000\000\0042\000\000\004J\003\154\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000\152\004\023\000\154\000\000\000\142\004(\004)\001\199\000\143\003z\003\145\000\000\004-\000\000\003\155\0042\000\000\004J\003\154\003\156\000\000\004,\000\000\003\157\0061\000`\000\000\000\155\003\158\002\170\000\000\004#\000\000\000\000\005\240\000\000\000\152\000\000\000\000\000\000\003\155\000i\000\000\004\r\004?\003\156\005\163\000\000\000\000\003\157\000\156\000\000\000\000\003\138\003\158\001\131\003z\003{\004\018\000\000\000\000\000\000\004\019\004%\000\158\003\139\004$\000\000\003|\005\164\005\127\005\128\003}\002\199\000\000\000\000\002\203\004&\000\153\000\000\000\000\000\000\000\000\000\000\000\000\004D\003z\003\145\000\000\005\237\000\000\000\000\001L\004\023\000\000\000\204\000\000\004(\004)\000\000\000\154\000\000\000`\004H\004-\000\000\002\170\0042\004#\004J\003\154\000\000\005\235\000\141\000\153\003|\005\238\005\127\005\128\003}\000\205\000\000\000\206\000\000\000\000\000\186\000\000\000\000\006\029\000\000\000\141\000\000\003\155\005\129\002\204\000\000\000\154\003\156\002\205\002\199\000\000\003\157\002\203\004$\000\000\003|\003\158\000\000\000\156\003}\000\000\006\030\000\187\006!\005\127\005\128\000\188\000\000\000\000\004\r\000\000\000\155\000\158\000\000\001J\000\000\000\000\000\000\000\000\003\138\000\000\000\000\003z\003\145\004\018\000\000\000\000\000\000\004\019\004%\005\129\003\139\000\000\000\000\000\156\000\000\000\000\005\163\000`\001\133\000\000\000\000\002\170\004&\004#\000\000\000\141\000\000\000\158\000\000\002\204\000\000\002\199\000\000\002\205\002\222\000\000\000\000\000\000\004\023\005\164\005\127\005\128\004(\004)\002\199\003\138\005\129\002\203\000\000\004-\000\000\000\000\0042\000\000\004J\003\154\000\000\003\139\004$\000\139\003|\000\000\002\218\000\140\003}\004\r\000\000\000\000\000\000\000\000\005\189\000\000\000\000\000\000\002\219\003\138\000\000\003\155\003z\003\145\004\018\000\000\003\156\000\000\004\019\004%\003\157\003\139\000\141\000\000\000\000\003\158\002\204\004u\000`\000\000\002\205\000\000\002\170\004n\004#\000\141\000\000\005\129\000\000\002\204\000\000\000\000\000\000\002\205\000\000\000\000\000\000\000\000\000\000\004\023\000\141\000\000\000\000\004(\004p\000\142\000\000\000\000\003\155\000\143\004-\000\000\002\218\0042\000\000\004J\003\154\002\199\000\000\004$\002\203\003|\003\164\000\000\002\219\003}\000\000\002\253\000\000\000\000\000`\000g\000\000\000f\000\000\004\r\006B\000\152\003\155\000\000\000\000\003\006\000\000\003\156\000\000\003\138\000`\003\157\003z\003\145\004\018\000\000\003\158\000\000\004\019\004%\000\000\003\139\000\000\000\000\000\000\000\000\000\000\004m\000`\000\000\000\000\000\000\002\170\004n\004#\000h\000\000\000\000\002\244\002\218\000\000\000\000\002\204\000\000\000\000\000\000\002\205\006\029\000\000\004\023\000\000\002\219\002\218\004(\004p\002\199\000\000\002\220\002\203\005\187\004-\000\000\000\000\0042\002\219\004J\003\154\000\000\000\000\004$\006\030\003|\006!\005\127\005\128\003}\004\r\001%\000\000\000\153\000\000\000`\001\017\000\000\000f\000\000\003\138\000`\003\155\003z\003\145\004\018\001\030\003\156\000\000\004\019\004%\003\157\003\139\000\000\000\000\000\154\003\158\004\129\000\000\000`\000\000\000\000\000\000\002\170\004\130\004#\002\244\000\000\000\000\000\000\002\204\000\000\000`\000\000\002\205\000\000\000h\000\000\002\245\000\000\004\023\000\000\000\000\000\000\004(\004\132\006\029\002\253\000\000\000\000\005\129\004-\000\000\000\000\0042\002\218\004J\003\154\002\250\000\000\004$\003\b\003|\000\156\002\248\000\000\003}\002\219\001%\006\030\000\000\006!\005\127\005\128\000\000\000\000\004\r\000\172\000\000\003\155\000\000\000\000\001\015\001\030\003\156\000\000\003\138\000\000\003\157\003z\003\145\004\018\002\251\003\158\000\000\004\019\004%\000\000\003\139\001%\004\140\000\000\000\000\000\000\004\127\000`\001\018\000\000\0019\002\170\004n\004#\002\245\000\000\001\030\001(\000\000\004A\000\000\000\000\001\031\000\000\001 \000\000\000\206\000\000\004\023\000\000\000\000\002\218\004(\004p\003!\000\000\000\000\005\129\002\253\004-\002\248\000\000\0042\002\219\004J\003\154\000\000\000\000\004$\000\000\003|\000\000\002\254\000\000\003}\004\r\000\000\005\201\006I\000\000\000\000\000\000\003#\000\000\000\000\003\138\000\000\003\155\002\251\000\000\004\018\001\015\003\156\000\000\004\019\004%\003\157\003\139\000\000\000\000\005\202\003\158\000\000\005\205\005\127\005\128\000\000\000\000\004\145\004\141\000\000\003z\003\145\000\000\001(\001\018\004\193\0019\000\000\001\031\000\000\001 \006\133\000\206\000\000\004\023\003+\000`\000\000\004(\004\143\002\170\002\253\004#\000\000\000\000\004-\003z\003\145\0042\000\000\004J\003\154\000\000\000\000\001(\002\254\004\236\006\145\000\000\001\031\000\000\001 \000`\000\206\000\000\000\000\002\170\000\000\004#\000\000\004\r\005\201\006L\003\155\000\000\000\000\005\129\004$\003\156\003|\003\138\000\000\003\157\003}\000\000\004\018\000\000\003\158\000\000\004\019\004%\006\003\003\139\000\000\005\202\000\000\000\000\005\205\005\127\005\128\000\000\000\000\000\000\004$\004\141\003|\000\000\000\000\000\000\003}\000\000\000\000\003z\003\145\006\004\006\007\005\127\005\128\006\029\000\000\004\023\000\000\000\000\005\163\004(\004\143\000\000\000\000\000`\000\000\000\000\004-\004\180\000\000\0042\000\000\004J\003\154\003z\003\145\000\000\006\030\000\000\006!\005\127\005\128\005\164\005\127\005\128\006\148\000\000\000\000\000\000\005\163\000`\000\000\004\211\000\000\002\170\003\155\004#\005\129\000\000\000\000\003\156\000\000\000\000\000\000\003\157\004\214\004\r\003|\000\000\003\158\000\000\003}\005\164\005\127\005\128\005\129\003\138\005\243\000\000\000\000\000\000\004\018\000\000\000\139\000\000\004\019\004%\000\148\003\139\000\000\004\220\004$\004\r\003|\000\000\000\000\000\000\003}\000\000\000`\006\134\000\000\003\138\005\129\000\000\000\000\005\129\004\018\000\000\000\000\000\000\004\019\004%\000\139\003\139\000\000\004\023\000\150\000\000\005\001\004(\006\136\003\150\000\000\001\186\000\000\006\134\004-\000\000\000\000\0042\000\000\004J\003\154\000\139\000\000\005\129\000\000\000\148\000\000\000\141\000\000\004\023\000\000\000\000\000\142\004(\006\136\005\163\000\143\000`\000\000\000\000\004-\000\000\003\155\0042\000\000\004J\003\154\003\156\000\000\0067\000\000\003\157\000\000\000\000\000\000\003\138\003\158\000\141\005\164\005\127\005\128\000\000\000\142\000\000\000\152\004\221\000\143\003\139\003\155\006U\000\000\004\r\000\000\003\156\000\000\005\163\000\000\003\157\000\141\005\003\000\000\003\138\003\158\000\142\000\000\000\000\004\018\000\143\000\000\002\199\004\019\004%\002\203\003\139\000\152\000\000\006S\000\000\005\164\005\127\005\128\005\185\000\000\000\000\000\139\006\134\004\224\000\000\000\148\005\004\000\000\004\247\003\154\000\000\000\000\000\152\000\000\000\000\000\000\000\000\000`\004\023\005\129\000\000\000\000\004(\006\136\000\000\000\000\000\000\000\000\005\212\004-\000\000\003\155\0042\000\000\004J\003\154\003\156\000\139\000\000\000\153\003\157\000\140\000\000\002\244\000\000\003\158\000\000\002\204\000\000\005\163\000\000\002\205\000\000\000\200\000\201\000\203\000\204\003\155\000\141\005\129\000\000\000\154\003\156\000\142\000\000\000\000\003\157\000\143\000\000\000\153\000\000\003\158\005\164\005\127\005\128\000\000\000\139\000\000\000\000\000\000\000\148\000\205\000\000\000\206\000\000\000\000\000\186\000\000\000\000\000\000\000\153\000\154\000`\000\000\000\141\000\152\000\000\000\000\000\000\000\142\000\000\000\000\000\000\000\143\000\200\001q\000\203\000\204\000\000\000\156\000\000\000\000\000\154\000\187\000\000\000\000\000\155\000\188\000\000\000\000\000\000\000\000\000\000\000\158\000\000\001J\000\000\005\223\000\000\002\245\000\000\000\152\000\205\000\141\000\206\000\000\005\129\000\186\000\142\000\156\000\000\000\139\000\143\000\000\003\147\000\148\002\218\003.\003/\003\028\000\000\003z\003{\000\158\000\000\002\248\000\000\000`\002\219\000\139\000\156\000\000\000\000\000\148\000\187\000\000\000\000\005\228\000\188\000\000\000\152\000\000\000\000\000\153\000\158\000`\001J\003\031\000\000\000\000\000\000\005\163\000\000\002\251\000\000\000\000\000\000\000\200\002\209\000\203\000\204\000\000\000\000\000\000\000\000\000\154\000\000\000\000\000\141\005\163\000\000\000\000\000\000\000\142\005\164\005\127\005\128\000\143\000\141\000\153\003|\000\000\003z\003\145\003}\000\205\000\141\000\206\000\000\000\000\000\186\000\142\005\164\005\127\005\128\000\143\000\000\002\253\000`\000\000\000\000\000\154\004\180\000\000\000\000\000\152\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\156\005\246\000\000\000\000\000\187\000\153\000\000\000\139\000\188\000\000\000\152\000\148\000\000\004\213\000\158\000\000\001J\000\000\000\000\000\200\003\129\000\203\000\204\000`\000\000\005\129\004\214\000\154\003|\000\000\000\000\000\000\003}\000\000\000\000\000\000\000\156\000\000\005\163\000\000\000\000\000\000\000\000\005\129\000\000\000\000\000\000\000\205\000\000\000\206\000\174\004\220\000\186\000\000\000\000\000\000\000\000\000\000\000\000\003z\003\145\005\164\005\127\005\128\000\141\000\000\000\000\000\000\003\138\000\142\000\153\000\000\000\000\000\143\000\000\000\156\000\000\000\000\000\000\000\187\003\139\004\006\005\028\000\188\000\200\004\015\000\203\000\204\000\153\000\158\000\000\001J\000\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\152\000\200\004/\000\203\000\204\000\000\000\000\000\000\000\000\000\154\000\000\000\205\005\163\000\206\000\000\002\244\000\186\003|\000\000\000\000\000\000\003}\000\000\000\000\005\129\000\000\000\000\000\000\003\138\000\205\000\000\000\206\005\255\000\000\000\186\005\164\005\127\005\128\004\221\000\156\003\139\000\000\000\000\000\187\000\000\000\000\003\155\000\188\000\000\000\000\005\253\000\000\004\222\000\158\000\000\001J\000\000\000\156\000\000\000\000\003\166\000\187\000\000\000\000\000\000\000\188\000\000\000\000\000\000\000\000\000\000\000\158\000\139\001J\003z\003\145\000\140\000\000\000\153\004\224\000\000\000\000\004\229\000\000\004\247\003\154\000\000\003z\003\145\000\000\000\000\000\000\000\200\004\226\000\203\000\204\004\006\004g\000\000\005\129\000\154\000\000\000\000\000\000\000\000\000\000\000\000\003\155\004\r\004\006\004]\000\000\003\156\000\000\000\000\000\000\003\157\000\000\003\138\000\000\000\205\003\158\000\206\004\018\000\000\000\186\000\000\004\019\000\000\000\141\003\139\002\244\0065\003|\000\142\000\000\000\000\003}\000\143\000\000\000\000\000\000\004\021\000\000\002\244\000\000\003|\000\139\000\156\000\000\003}\000\140\000\187\000\000\000\000\000\000\000\188\000\000\004\023\000\000\003z\003\145\000\158\000\000\001J\000\000\000\152\000\000\000\000\000\000\000\000\000\000\000\000\003z\003\145\003\154\000\000\000\000\000\000\000\000\000\000\000\000\004\006\004\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\006\004\017\003\155\003z\003\145\000\000\000\000\003\156\000\000\000\141\000\000\003\157\006:\000\000\000\142\000\000\003\158\000\000\000\143\000\000\000\000\000\000\002\244\000\000\003|\004\006\004i\000\000\003}\004\r\000\000\000\000\000\000\000\000\000\000\002\244\000\000\003|\000\000\003\138\002\199\003}\004\r\002\203\004\018\000\000\000\152\000\000\004\019\000\153\000\000\003\139\003\138\000\000\000\000\000\000\000\000\004\018\000\000\000\000\002\244\004\019\003|\004\021\003\139\000\000\003}\000\000\000\000\000\000\000\000\000\154\000\000\000\000\000\000\000\000\004\021\000\000\000\000\004\023\000\000\000\000\000\000\000\000\000\000\003z\003\145\000\000\000\000\000\000\000\000\000\000\004\023\000\000\000\000\000\000\003\154\000\141\003z\003\145\000\000\002\204\000\000\000\000\000\000\002\205\000\000\004\006\0055\003\154\000\000\000\000\000\000\000\000\000\000\004\r\000\000\000\000\003\155\000\156\004\006\0057\000\000\003\156\000\153\003\138\000\000\003\157\004\r\000\000\004\018\003\155\003\158\000\176\004\019\000\000\003\156\003\139\003\138\000\000\003\157\000\000\002\244\004\018\003|\003\158\000\154\004\019\003}\004\021\003\139\000\000\000\000\004\r\000\000\002\244\000\000\003|\000\000\000\000\000\000\003}\004\021\003\138\000\000\004\023\000\000\000\139\004\018\000\000\000\000\000\148\004\019\000\000\000\000\003\139\000\000\000\000\004\023\000\000\000\000\000\000\003\154\000`\000\000\000\000\000\000\004\021\000\000\000\000\000\000\000\000\000\000\000\000\000\156\003\154\000\000\000\000\000\000\000\000\002\218\000\000\000\000\004\023\003\155\003z\003\145\000\000\000\178\003\156\000\000\000\000\002\219\003\157\000\000\000\000\000\000\003\155\003\158\000\000\003\154\000\000\003\156\000\000\000\141\000\000\003\157\004\006\0059\000\142\000\000\003\158\000\000\000\143\000\000\004\r\002\199\000\000\000\000\002\203\000\000\000\000\003\155\000\000\000\000\003\138\000\000\003\156\004\r\000\000\004\018\003\157\000\000\000\000\004\019\000\000\003\158\003\139\003\138\000\000\000\000\000\152\002\244\004\018\003|\000\000\000\000\004\019\003}\004\021\003\139\000\000\000\000\000\000\000\139\000\000\000\000\000\000\000\148\000\000\000\000\002\253\004\021\000\000\000\000\004\023\000\000\000\000\002\199\000\000\000`\002\203\000\000\000\141\000\000\003\n\000\000\002\204\004\023\000\000\000\000\002\205\003\154\000\000\000\000\000\000\000\000\000\139\000\000\000\000\000\000\000\148\000\000\000\000\000\000\003\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000`\003\155\000\000\000\000\000\000\000\000\003\156\000\000\000\141\000\000\003\157\000\000\000\000\000\142\003\155\003\158\000\153\000\143\000\000\003\156\000\000\000\000\000\141\003\157\003z\003{\002\204\000\000\003\158\000\000\002\205\000\000\004\r\001Z\000\000\000\000\000\000\000\000\000\154\000\139\000\000\000\141\003\138\000\148\000\000\000\152\000\142\004\018\000\000\000\000\000\143\004\019\000\139\000\000\003\139\000`\000\148\000\000\001\206\000\000\000\206\000\000\000\000\000\186\000\000\000\000\004\021\000\000\000`\000\000\000\139\000\000\000\000\002\218\000\140\000\000\000\000\000\000\000\152\000\000\000\000\000\141\004\023\003|\000\000\002\219\000\156\003}\000\000\000\000\000\187\000\000\000\000\000\000\000\188\000\000\000\141\000\000\000\000\003\154\000\158\000\142\000\000\000\000\000\000\000\143\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\000\000\142\000\139\000\000\000\000\000\143\000\148\000\000\003\155\000\000\000\153\000\000\002\218\003\156\000\141\000\000\000\000\003\157\000`\000\142\000\152\000\000\003\158\000\143\002\219\000\000\000\000\001W\000\000\000\000\000\000\000\000\000\154\000\152\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\253\000\000\000\153\000\000\002\199\000\000\000\000\002\203\000\000\000\000\000\152\001\212\000\000\000\206\003\012\000\000\000\186\000\000\000\141\002\182\000\000\000\000\000\000\000\142\000\154\000\000\000\000\000\143\000\000\000\000\003\138\000\000\000\139\000\000\000\139\000\000\000\148\000\000\000\148\000\156\000\000\000\000\003\139\000\187\002\184\000\000\000\206\000\188\000\000\000\186\000\000\000\000\002\253\000\158\000\000\000\152\000\000\000\153\000\139\000\000\000\000\002\244\000\148\000\000\000\000\002\204\003\014\000\000\000\000\002\205\000\153\000\000\000\156\000\000\002\182\000\000\000\187\000\139\000\000\000\154\000\188\000\148\000\000\000\000\000\000\000\000\000\158\003j\000\153\000\141\000\000\000\141\000\154\000\000\000\142\000\000\000\142\000\000\000\143\002\201\000\143\000\206\000\000\000\000\000\186\000\000\000\000\000\000\000\000\003\155\000\154\000\182\003l\001\175\000\206\000\141\000\000\000\186\000\000\000\000\000\142\000\000\000\000\003\168\000\143\000\000\000\152\000\156\000\152\002\199\000\000\000\187\002\203\000\153\000\141\000\188\000\000\000\000\000\000\000\142\000\156\000\158\000\000\000\143\000\187\000\000\000\000\002\245\000\188\000\000\003j\000\000\000\152\000\000\000\158\000\154\000\000\000\000\000\156\000\000\000\000\000\000\000\000\000\000\002\218\003.\006\139\003\028\000\000\000\000\000\000\000\152\000\180\002\248\000\000\003\192\002\219\000\206\002\199\000\000\000\186\002\203\000\000\000\000\000\000\002\199\002\244\000\000\002\203\000\000\002\204\000\000\000\000\000\000\002\205\003\031\000\000\000\000\000\000\000\000\000\000\002\251\000\000\000\156\000\153\000\000\000\153\000\187\000\000\000\000\000\000\000\188\000\000\000\000\000\000\000\000\000\000\000\158\000\000\000\000\000\000\000\185\0034\000\185\000\000\000\000\000\154\000\000\000\154\000\000\000\153\000\000\000\000\000\000\000\000\002\244\000\000\000\000\000\000\002\204\000\139\002\239\002\244\002\205\000\148\002\253\002\204\002\241\000\000\000\153\002\205\000\186\000\154\000\186\000\000\000\000\000\000\000\000\000\000\002\254\000\000\000\000\000\000\000\000\000\000\000\000\002\241\000\000\000\000\000\000\000\000\000\154\002\245\000\000\000\156\000\000\000\156\000\186\000\187\000\000\000\187\000\000\000\188\000\000\000\188\000\000\000\000\000\000\000\158\002\218\000\158\000\000\003!\000\000\000\000\000\000\000\186\000\141\002\248\000\139\000\156\002\219\000\142\000\148\000\187\000\000\000\143\000\000\000\188\000\000\000\000\000\139\000\000\000\000\000\158\000\148\000\000\000\000\000\000\000\156\003#\002\245\000\000\000\187\000\000\000\000\002\251\000\188\002\245\000\000\000\000\000\000\000\000\000\158\000\152\000\000\000\000\000\000\002\218\000\000\000\000\003!\000\000\000\000\000\000\002\218\000\000\002\248\003!\000\139\002\219\000\000\000\000\000\148\002\248\000\000\000\141\002\219\000\000\000\000\000\000\000\142\000\000\000\000\003*\000\143\000\000\000\000\000\141\003#\002\253\000\000\000\000\000\142\000\000\002\251\003#\000\143\000\000\000\000\000\000\000\000\002\251\000\000\002\254\000\000\000\000\000\139\000\000\000\000\000\139\000\148\000\000\000\152\000\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003E\000\152\000\141\000\000\000\000\000\000\000\000\000\142\000\153\003%\000\000\000\143\000\000\000\000\000\000\002\253\003(\000\000\000\000\000\000\000\000\000\000\002\253\000\000\000\000\002\241\000\000\000\000\000\139\002\254\000\154\000\000\000\148\000\000\000\000\000\000\002\254\000\000\000\000\000\152\000\141\000\000\000\000\000\141\000\000\000\142\000\139\000\000\000\142\000\143\000\148\000\000\000\143\000\000\002\199\000\186\000\000\002\203\000\000\003P\000\000\000\000\003\182\000\000\000\000\003\235\000\139\000\153\000\000\000\000\000\148\003X\000\000\000\000\000\000\000\000\000\000\000\152\000\156\000\153\000\152\000\000\000\187\000\000\002\241\000\141\000\188\000\000\000\000\000\154\000\142\000\000\000\158\000\000\000\143\000\000\002\241\000\000\000\000\000\000\000\000\000\154\000\000\000\141\000\000\000\000\000\000\003\237\000\142\003_\000\000\000\141\000\143\000\000\000\186\002\204\000\000\000\153\000\000\002\205\000\000\000\000\000\152\000\141\000\000\003\239\000\186\000\000\000\142\000\000\000\000\000\000\000\143\000\000\002\241\000\000\000\000\000\156\000\000\000\154\000\152\000\187\000\000\000\000\000\000\000\188\000\000\000\000\000\000\000\156\000\000\000\158\000\000\000\187\000\000\000\153\000\000\000\188\000\153\000\000\000\152\000\000\000\000\000\158\000\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\185\000\000\000\000\000\185\000\000\000\154\000\000\000\000\000\154\000\000\000\000\000\000\000\000\000\000\000\139\000\156\000\139\000\000\000\148\000\187\000\148\000\000\000\000\000\188\000\000\000\000\000\000\000\000\000\153\000\158\000\186\000\000\000\000\000\186\000\139\000\139\000\000\000\000\000\148\000\148\000\000\000\000\002\218\000\000\000\000\000\185\000\153\000\000\000\000\000\000\000\154\000\000\000\000\000\156\002\219\000\000\000\156\000\187\004=\000\000\000\187\000\188\000\000\000\185\000\188\000\139\000\153\000\158\000\154\000\140\000\158\000\141\000\000\000\141\000\000\000\186\000\142\000\000\000\142\000\000\000\143\000\000\000\143\002\241\000\000\000\139\000\000\000\000\000\154\000\148\000\000\000\141\000\141\000\186\000\000\000\000\000\142\000\142\000\156\000\000\000\143\000\143\000\187\000\139\000\000\000\000\000\188\000\148\000\152\000\000\000\152\002\199\000\158\000\186\002\203\000\000\000\156\000\000\000\000\000\000\000\187\000\000\000\141\002\253\000\188\000\000\000\000\000\142\000\152\000\152\000\158\000\143\000\000\000\000\000\000\000\000\000\156\003\016\000\000\000\000\000\187\000\000\000\141\000\000\000\188\000\000\000\000\000\142\000\000\000\000\000\158\000\143\000\000\000\000\000\139\000\000\000\000\000\000\000\148\000\152\000\141\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\141\000\143\000\000\000\000\002\204\000\000\000\000\000\000\002\205\000\000\004F\000\152\004N\000\000\000\000\000\000\000\000\000\000\000\153\000\000\000\153\000\000\002\199\000\000\000\000\002\203\000\000\000\000\000\000\000\152\004\185\004\197\000\000\000\000\000\000\002\241\000\000\002\241\000\153\000\153\000\154\000\000\000\154\000\141\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\000\000\143\000\000\000\000\002\241\002\241\000\000\000\000\000\000\000\154\000\154\000\000\000\000\000\000\000\186\000\000\000\186\000\000\000\153\000\000\000\139\000\000\000\000\000\000\000\148\000\000\000\000\000\000\000\141\000\152\004\202\000\000\002\204\000\000\000\186\000\186\002\205\000\156\000\153\000\156\000\154\000\187\000\000\000\187\000\000\000\188\000\000\000\188\004\209\000\000\000\000\000\158\002\218\000\158\000\000\002\241\000\153\000\156\000\156\000\000\000\154\000\187\000\187\000\000\002\219\000\188\000\188\000\000\000\000\000\000\000\139\000\158\000\158\002\241\000\148\000\000\000\000\000\141\000\154\000\000\000\000\000\000\000\142\000\000\000\000\000\186\000\143\000\000\000\156\000\139\000\000\000\000\000\000\000\148\000\000\000\000\000\139\000\000\000\000\004\218\000\148\000\000\000\190\000\186\000\000\000\000\000\000\000\153\000\156\000\139\006g\000\000\000\187\000\148\000\152\002\199\000\188\000\000\002\203\000\000\000\000\000\000\000\158\006\199\002\241\000\000\000\156\000\141\000\000\000\154\000\187\002\218\000\142\002\253\000\188\000\000\000\143\000\000\000\139\000\000\000\158\000\000\000\148\002\219\000\000\000\000\000\141\003\018\000\000\000\000\000\000\000\142\000\000\000\141\000\186\000\143\000\000\000\000\000\142\000\000\000\000\000\000\000\143\000\000\000\152\000\000\000\141\000\000\000\000\000\000\000\000\000\142\000\141\000\000\000\000\000\143\002\204\000\156\000\139\000\000\002\205\000\187\000\148\000\152\004\240\000\188\000\000\000\000\000\000\000\000\000\152\000\158\000\153\000\000\000\000\000\141\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\152\000\143\000\000\003z\003{\000\000\002\241\000\000\000\000\002\253\000\000\000\154\000\000\000\000\000\000\000\000\000\000\000\139\000\000\000\000\000\000\000\148\000\000\003\020\000\000\000\000\000\000\000\000\000\000\000\152\000\000\004\245\000\141\000\000\000\000\000\000\000\186\000\142\000\000\000\153\000\000\000\143\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\004\252\000\000\000\000\000\000\000\000\000\000\002\241\000\000\000\153\000\156\000\141\000\154\003|\000\187\000\000\000\153\003}\000\188\000\000\000\152\000\000\000\000\002\218\000\158\000\141\002\241\000\000\000\000\000\153\000\142\000\154\000\000\006h\000\143\002\219\000\000\000\186\000\154\000\000\000\139\000\000\000\000\000\000\000\148\000\000\006h\000\000\000\000\000\000\000\000\000\154\000\000\000\000\000\000\000\139\000\186\000\000\000\153\000\148\000\156\000\000\000\152\000\186\000\187\000\000\000\000\000\000\000\188\000\000\000\000\000\000\000\000\000\139\000\158\001N\000\186\000\148\000\000\000\156\000\154\000\000\000\000\000\187\000\139\000\000\000\156\000\188\000\148\000\000\000\187\000\000\000\000\000\158\000\188\000\000\000\000\000\141\000\153\000\156\000\158\000\000\000\142\000\187\002\253\000\186\000\143\000\188\002\199\000\000\000\000\002\203\000\141\000\158\003\138\001t\000\000\000\142\003\022\000\000\000\154\000\143\000\000\000\139\000\000\000\000\003\139\000\148\000\156\000\000\000\141\000\000\000\187\000\000\000\152\000\142\000\188\000\000\000\000\000\143\000\153\000\141\000\158\000\000\000\000\000\186\000\142\000\000\000\000\000\152\000\143\000\000\000\000\000\000\000\000\000\000\000\000\001\141\000\000\000\139\000\000\000\000\000\154\000\148\000\000\000\141\000\139\000\152\000\156\002\204\000\148\000\000\000\187\002\205\000\000\000\000\000\188\000\000\000\152\000\000\000\141\000\000\000\158\000\000\000\000\000\142\000\000\000\186\000\000\000\143\000\000\000\000\000\000\003\155\000\000\000\139\000\000\000\000\000\000\000\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\170\000\000\000\000\000\156\000\000\000\153\000\000\000\187\000\000\000\141\000\152\000\188\000\000\000\000\000\142\000\000\000\141\000\158\000\143\000\000\000\153\000\142\001\190\000\000\000\000\000\143\000\000\000\154\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\002\160\000\153\000\000\000\000\000\000\000\154\000\000\000\000\000\141\000\152\000\000\000\000\000\153\000\142\000\000\000\186\000\152\000\143\002\164\000\000\000\000\000\000\000\000\000\154\002\218\000\000\000\000\000\000\000\000\002\212\000\186\000\000\000\000\000\000\000\154\000\000\002\219\000\000\000\156\000\000\000\000\000\000\000\187\000\000\000\000\000\152\000\188\000\000\000\186\000\000\000\000\000\153\000\158\000\156\000\000\000\000\000\139\000\187\000\139\000\186\000\148\000\188\000\148\000\000\000\000\000\000\000\000\000\158\002\227\000\000\000\000\000\156\000\000\000\154\000\000\000\187\000\000\000\000\000\000\000\188\000\000\000\000\000\156\000\000\000\000\000\158\000\187\000\153\000\000\000\000\000\188\000\000\000\000\000\000\000\153\000\000\000\158\000\139\000\186\000\000\000\000\000\148\000\000\000\000\002\229\002\253\000\000\000\000\000\000\000\154\000\000\003\132\000\000\000\141\000\000\000\141\000\154\000\000\000\142\003\024\000\142\000\156\000\143\000\153\000\143\000\187\000\000\000\000\000\000\000\188\000\000\000\000\000\000\000\139\000\186\000\158\000\000\000\148\000\000\000\000\003\197\000\186\000\000\002\199\000\000\000\154\002\203\000\000\000\000\000\000\000\152\000\000\000\152\000\000\000\141\000\000\000\000\000\156\000\000\000\142\000\000\000\187\000\000\000\143\000\156\000\188\000\000\000\000\000\187\000\139\000\186\000\158\000\188\000\148\000\000\000\000\000\139\000\000\000\158\000\000\000\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000\152\000\000\000\156\000\000\000\142\000\000\000\187\000\000\000\143\000\141\000\188\000\139\000\000\002\204\000\139\000\148\000\158\002\205\000\148\000\000\000\000\000\000\000\000\000\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\000\152\000\153\000\000\000\153\000\142\000\000\000\141\000\000\000\143\000\000\000\000\000\142\000\000\000\000\000\000\000\143\000\000\000\000\003\202\000\000\003\206\000\000\000\000\000\154\000\000\000\154\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000\000\000\000\000\141\000\152\000\142\000\000\000\000\000\142\000\143\000\153\000\152\000\143\000\000\000\000\000\139\000\186\000\000\000\186\000\148\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\227\000\000\000\000\000\000\000\000\000\154\000\000\000\139\000\000\000\000\000\152\000\148\000\156\000\152\000\156\000\000\000\187\002\218\000\187\000\153\000\188\000\000\000\188\000\000\000\000\000\000\000\158\000\000\000\158\002\219\000\186\000\000\000\000\000\139\000\000\000\000\004\n\000\148\000\000\000\000\000\000\000\154\000\000\000\000\000\000\000\141\000\000\000\000\000\000\000\000\000\142\000\000\000\000\000\156\000\143\000\153\000\000\000\187\000\000\000\000\000\000\000\188\000\153\000\000\000\141\000\000\000\186\000\158\000\000\000\142\000\000\000\000\004\172\000\143\000\000\000\000\000\000\000\154\000\000\005\019\000\000\000\000\000\152\000\000\000\154\000\000\003z\003{\000\153\000\156\000\141\000\153\000\000\000\187\000\000\000\142\000\000\000\188\002\253\000\143\000\000\000\152\000\186\000\158\000\000\005'\000\000\000\000\005)\000\186\000\154\000\000\003\026\000\154\000\139\000\000\000\000\000\000\000\148\000\000\000\000\000\000\000\000\000\000\000\139\000\156\000\139\000\152\000\150\000\187\000\140\000\000\000\156\000\188\000\000\000\186\000\187\000\139\000\186\000\158\000\188\000\140\000\000\000\141\000\000\003|\000\158\003z\003{\003}\000\000\000\000\003z\003{\000\000\000\000\000\000\000\000\000\156\000\000\000\153\000\156\000\187\000\000\000\000\000\187\000\188\000\000\000\000\000\188\000\000\000\141\000\158\000\000\000\000\000\158\000\142\005+\000\000\000\153\000\143\000\141\000\154\000\141\000\000\000\000\000\142\000\000\000\142\000\000\000\143\000\000\000\143\000\000\000\141\000\000\0051\003z\003{\000\142\000\000\000\154\000\000\000\143\000\141\000\153\003|\000\186\000\152\000\141\003}\003|\000\000\003z\003{\003}\000\000\000\000\000\152\000\000\000\152\000\000\005?\000\000\000\000\000\000\000\186\000\154\000\000\000\000\000\156\000\152\000\000\000\000\000\187\000\000\003z\003{\000\188\000\000\000\000\000\000\000\000\000\000\000\158\000\000\003\138\003z\003{\000\156\000\000\000\000\000\186\000\187\000\141\000\000\003|\000\188\003\139\000\000\003}\000\000\000\000\000\158\000\000\000\000\000\000\000\000\000\000\000\000\000\141\000\000\003|\003z\003{\000\156\003}\000\000\000\000\000\187\000\000\000\000\000\000\000\188\000\000\000\000\000\153\000\000\000\000\000\158\000\000\000\000\000\000\000\141\000\000\003|\000\153\000\000\000\153\003}\000\000\000\000\000\000\005M\000\141\000\000\003|\003\138\000\154\000\153\003}\000\000\003\138\000\000\000\000\000\000\000\000\000\000\000\154\003\139\000\154\000\000\000\000\000\000\003\139\003\155\000\000\000\000\000\000\000\000\000\141\000\154\003|\000\186\000\000\000\000\003}\000\000\000\000\003\172\000\000\000\000\000\000\000\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\156\003\138\000\000\000\000\000\187\000\000\000\000\000\000\000\188\000\000\000\156\000\000\000\156\003\139\000\158\003\149\000\000\003\138\000\000\000\000\000\000\000\000\000\000\000\156\000\158\000\000\000\192\000\000\000\000\003\139\003\155\000\000\000\000\000\000\000\000\003\155\000\000\000\194\000\000\000\000\003\138\000\000\000\000\000\000\003\174\000\000\000\000\000\000\000\000\003\176\000\000\003\138\003\139\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\139\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\138\000\000\000\000\003\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\139\000\000\000\000\000\000\000\000\003\178\000\000\003\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\180\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\155\000\000\000\000\003\186\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\188\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\155\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\003\190")) let semantic_action = [| @@ -1571,9 +1608,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1943 "parser_cocci_menhir.mly" +# 1956 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp _1 ) -# 1577 "parser_cocci_menhir.ml" +# 1614 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1594,12 +1631,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 69 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 1598 "parser_cocci_menhir.ml" +# 1635 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1945 "parser_cocci_menhir.mly" +# 1958 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -1608,7 +1645,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt) | Ast.CstLen n -> Ast0.CstListLen n in Ast0.wrap(Ast0.MetaExprList(nm,lenname,pure)) ) -# 1612 "parser_cocci_menhir.ml" +# 1649 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1630,9 +1667,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_aexpr = -# 1954 "parser_cocci_menhir.mly" +# 1967 "parser_cocci_menhir.mly" ( Ast0.set_arg_exp(Ast0.wrap(Ast0.TypeExp(_1))) ) -# 1636 "parser_cocci_menhir.ml" +# 1673 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1652,9 +1689,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 1998 "parser_cocci_menhir.mly" +# 2011 "parser_cocci_menhir.mly" ( Ast.WhenAny ) -# 1658 "parser_cocci_menhir.ml" +# 1695 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1674,9 +1711,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 1999 "parser_cocci_menhir.mly" +# 2012 "parser_cocci_menhir.mly" ( Ast.WhenStrict ) -# 1680 "parser_cocci_menhir.ml" +# 1717 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1696,9 +1733,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2000 "parser_cocci_menhir.mly" +# 2013 "parser_cocci_menhir.mly" ( Ast.WhenForall ) -# 1702 "parser_cocci_menhir.ml" +# 1739 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1718,9 +1755,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_any_strict = -# 2001 "parser_cocci_menhir.mly" +# 2014 "parser_cocci_menhir.mly" ( Ast.WhenExists ) -# 1724 "parser_cocci_menhir.ml" +# 1761 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1742,9 +1779,49 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1303 "parser_cocci_menhir.mly" +# 1314 "parser_cocci_menhir.mly" ( _1 ) -# 1748 "parser_cocci_menhir.ml" +# 1785 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.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_eexpr_dot_expressions_ = Obj.magic _3 in + let _2 : ( +# 102 "parser_cocci_menhir.mly" + (Data.clt) +# 1817 "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_ = +# 1316 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Mul _1 _2 _3 ) +# 1825 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1774,17 +1851,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 102 "parser_cocci_menhir.mly" - (Data.clt) -# 1780 "parser_cocci_menhir.ml" +# 100 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 1857 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1305 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Mul _1 _2 _3 ) -# 1788 "parser_cocci_menhir.ml" +# 1318 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 1865 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1814,17 +1891,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 100 "parser_cocci_menhir.mly" - (Ast_cocci.arithOp * Data.clt) -# 1820 "parser_cocci_menhir.ml" +# 101 "parser_cocci_menhir.mly" + (Data.clt) +# 1897 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1307 "parser_cocci_menhir.mly" - ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 1828 "parser_cocci_menhir.ml" +# 1320 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Plus _1 _2 _3 ) +# 1905 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1856,15 +1933,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 101 "parser_cocci_menhir.mly" (Data.clt) -# 1860 "parser_cocci_menhir.ml" +# 1937 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1309 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Plus _1 _2 _3 ) -# 1868 "parser_cocci_menhir.ml" +# 1322 "parser_cocci_menhir.mly" + ( P.arith_op Ast.Minus _1 _2 _3 ) +# 1945 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1894,17 +1971,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct } = _menhir_stack in let _3 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _3 in let _2 : ( -# 101 "parser_cocci_menhir.mly" - (Data.clt) -# 1900 "parser_cocci_menhir.ml" +# 99 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 1977 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1311 "parser_cocci_menhir.mly" - ( P.arith_op Ast.Minus _1 _2 _3 ) -# 1908 "parser_cocci_menhir.ml" +# 1324 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 1985 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1936,15 +2013,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 99 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 1940 "parser_cocci_menhir.ml" +# 2017 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_dot_expressions_ = -# 1313 "parser_cocci_menhir.mly" +# 1326 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 1948 "parser_cocci_menhir.ml" +# 2025 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -1976,15 +2053,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 98 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 1980 "parser_cocci_menhir.ml" +# 2057 "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" +# 1328 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 1988 "parser_cocci_menhir.ml" +# 2065 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2016,15 +2093,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 97 "parser_cocci_menhir.mly" (Data.clt) -# 2020 "parser_cocci_menhir.ml" +# 2097 "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" +# 1330 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 2028 "parser_cocci_menhir.ml" +# 2105 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2056,15 +2133,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 97 "parser_cocci_menhir.mly" (Data.clt) -# 2060 "parser_cocci_menhir.ml" +# 2137 "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" +# 1332 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 2068 "parser_cocci_menhir.ml" +# 2145 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2096,15 +2173,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 96 "parser_cocci_menhir.mly" (Data.clt) -# 2100 "parser_cocci_menhir.ml" +# 2177 "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" +# 1334 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 2108 "parser_cocci_menhir.ml" +# 2185 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2136,15 +2213,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 94 "parser_cocci_menhir.mly" (Data.clt) -# 2140 "parser_cocci_menhir.ml" +# 2217 "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" +# 1336 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 2148 "parser_cocci_menhir.ml" +# 2225 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2176,15 +2253,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 95 "parser_cocci_menhir.mly" (Data.clt) -# 2180 "parser_cocci_menhir.ml" +# 2257 "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" +# 1338 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 2188 "parser_cocci_menhir.ml" +# 2265 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2216,15 +2293,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 93 "parser_cocci_menhir.mly" (Data.clt) -# 2220 "parser_cocci_menhir.ml" +# 2297 "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" +# 1340 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 2228 "parser_cocci_menhir.ml" +# 2305 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2256,15 +2333,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 92 "parser_cocci_menhir.mly" (Data.clt) -# 2260 "parser_cocci_menhir.ml" +# 2337 "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" +# 1342 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 2268 "parser_cocci_menhir.ml" +# 2345 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2286,9 +2363,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1303 "parser_cocci_menhir.mly" +# 1314 "parser_cocci_menhir.mly" ( _1 ) -# 2292 "parser_cocci_menhir.ml" +# 2369 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2320,15 +2397,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 2324 "parser_cocci_menhir.ml" +# 2401 "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_ = -# 1305 "parser_cocci_menhir.mly" +# 1316 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 2332 "parser_cocci_menhir.ml" +# 2409 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2360,15 +2437,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 100 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2364 "parser_cocci_menhir.ml" +# 2441 "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_ = -# 1307 "parser_cocci_menhir.mly" +# 1318 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2372 "parser_cocci_menhir.ml" +# 2449 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2400,15 +2477,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 101 "parser_cocci_menhir.mly" (Data.clt) -# 2404 "parser_cocci_menhir.ml" +# 2481 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1309 "parser_cocci_menhir.mly" +# 1320 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 2412 "parser_cocci_menhir.ml" +# 2489 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2440,15 +2517,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 101 "parser_cocci_menhir.mly" (Data.clt) -# 2444 "parser_cocci_menhir.ml" +# 2521 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1311 "parser_cocci_menhir.mly" +# 1322 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 2452 "parser_cocci_menhir.ml" +# 2529 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2480,15 +2557,55 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 99 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2484 "parser_cocci_menhir.ml" +# 2561 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_invalid_ = -# 1313 "parser_cocci_menhir.mly" +# 1324 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2492 "parser_cocci_menhir.ml" +# 2569 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.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_eexpr_invalid_ = Obj.magic _3 in + let _2 : ( +# 99 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 2601 "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_ = +# 1326 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 2609 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2520,15 +2637,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 98 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 2524 "parser_cocci_menhir.ml" +# 2641 "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" +# 1328 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 2532 "parser_cocci_menhir.ml" +# 2649 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2560,15 +2677,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 97 "parser_cocci_menhir.mly" (Data.clt) -# 2564 "parser_cocci_menhir.ml" +# 2681 "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" +# 1330 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 2572 "parser_cocci_menhir.ml" +# 2689 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2600,15 +2717,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 97 "parser_cocci_menhir.mly" (Data.clt) -# 2604 "parser_cocci_menhir.ml" +# 2721 "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" +# 1332 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 2612 "parser_cocci_menhir.ml" +# 2729 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2640,15 +2757,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 96 "parser_cocci_menhir.mly" (Data.clt) -# 2644 "parser_cocci_menhir.ml" +# 2761 "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" +# 1334 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 2652 "parser_cocci_menhir.ml" +# 2769 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2680,15 +2797,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 94 "parser_cocci_menhir.mly" (Data.clt) -# 2684 "parser_cocci_menhir.ml" +# 2801 "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" +# 1336 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 2692 "parser_cocci_menhir.ml" +# 2809 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2720,15 +2837,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 95 "parser_cocci_menhir.mly" (Data.clt) -# 2724 "parser_cocci_menhir.ml" +# 2841 "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" +# 1338 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 2732 "parser_cocci_menhir.ml" +# 2849 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2760,15 +2877,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 93 "parser_cocci_menhir.mly" (Data.clt) -# 2764 "parser_cocci_menhir.ml" +# 2881 "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" +# 1340 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 2772 "parser_cocci_menhir.ml" +# 2889 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2800,15 +2917,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 92 "parser_cocci_menhir.mly" (Data.clt) -# 2804 "parser_cocci_menhir.ml" +# 2921 "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" +# 1342 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 2812 "parser_cocci_menhir.ml" +# 2929 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2830,9 +2947,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_ = -# 1303 "parser_cocci_menhir.mly" +# 1314 "parser_cocci_menhir.mly" ( _1 ) -# 2836 "parser_cocci_menhir.ml" +# 2953 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2864,15 +2981,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 2868 "parser_cocci_menhir.ml" +# 2985 "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_ = -# 1305 "parser_cocci_menhir.mly" +# 1316 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 2876 "parser_cocci_menhir.ml" +# 2993 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2904,15 +3021,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 100 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 2908 "parser_cocci_menhir.ml" +# 3025 "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_ = -# 1307 "parser_cocci_menhir.mly" +# 1318 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 2916 "parser_cocci_menhir.ml" +# 3033 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2944,15 +3061,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 101 "parser_cocci_menhir.mly" (Data.clt) -# 2948 "parser_cocci_menhir.ml" +# 3065 "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_ = -# 1309 "parser_cocci_menhir.mly" +# 1320 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 2956 "parser_cocci_menhir.ml" +# 3073 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -2984,15 +3101,55 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 101 "parser_cocci_menhir.mly" (Data.clt) -# 2988 "parser_cocci_menhir.ml" +# 3105 "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_ = -# 1311 "parser_cocci_menhir.mly" +# 1322 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 2996 "parser_cocci_menhir.ml" +# 3113 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.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_eexpr_nest_expressions_ = Obj.magic _3 in + let _2 : ( +# 99 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 3145 "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_ = +# 1324 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 3153 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3024,15 +3181,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 99 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3028 "parser_cocci_menhir.ml" +# 3185 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_eexpr_nest_expressions_ = -# 1313 "parser_cocci_menhir.mly" +# 1326 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3036 "parser_cocci_menhir.ml" +# 3193 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3064,15 +3221,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 98 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 3068 "parser_cocci_menhir.ml" +# 3225 "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" +# 1328 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 3076 "parser_cocci_menhir.ml" +# 3233 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3104,15 +3261,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 97 "parser_cocci_menhir.mly" (Data.clt) -# 3108 "parser_cocci_menhir.ml" +# 3265 "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" +# 1330 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 3116 "parser_cocci_menhir.ml" +# 3273 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3144,15 +3301,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 97 "parser_cocci_menhir.mly" (Data.clt) -# 3148 "parser_cocci_menhir.ml" +# 3305 "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" +# 1332 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 3156 "parser_cocci_menhir.ml" +# 3313 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3184,15 +3341,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 96 "parser_cocci_menhir.mly" (Data.clt) -# 3188 "parser_cocci_menhir.ml" +# 3345 "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" +# 1334 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 3196 "parser_cocci_menhir.ml" +# 3353 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3224,15 +3381,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 94 "parser_cocci_menhir.mly" (Data.clt) -# 3228 "parser_cocci_menhir.ml" +# 3385 "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" +# 1336 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 3236 "parser_cocci_menhir.ml" +# 3393 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3264,15 +3421,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 95 "parser_cocci_menhir.mly" (Data.clt) -# 3268 "parser_cocci_menhir.ml" +# 3425 "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" +# 1338 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 3276 "parser_cocci_menhir.ml" +# 3433 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3304,15 +3461,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 93 "parser_cocci_menhir.mly" (Data.clt) -# 3308 "parser_cocci_menhir.ml" +# 3465 "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" +# 1340 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 3316 "parser_cocci_menhir.ml" +# 3473 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3344,15 +3501,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 92 "parser_cocci_menhir.mly" (Data.clt) -# 3348 "parser_cocci_menhir.ml" +# 3505 "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" +# 1342 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 3356 "parser_cocci_menhir.ml" +# 3513 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3374,9 +3531,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1303 "parser_cocci_menhir.mly" +# 1314 "parser_cocci_menhir.mly" ( _1 ) -# 3380 "parser_cocci_menhir.ml" +# 3537 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3408,15 +3565,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 3412 "parser_cocci_menhir.ml" +# 3569 "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_ = -# 1305 "parser_cocci_menhir.mly" +# 1316 "parser_cocci_menhir.mly" ( P.arith_op Ast.Mul _1 _2 _3 ) -# 3420 "parser_cocci_menhir.ml" +# 3577 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3448,15 +3605,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 100 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3452 "parser_cocci_menhir.ml" +# 3609 "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_ = -# 1307 "parser_cocci_menhir.mly" +# 1318 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3460 "parser_cocci_menhir.ml" +# 3617 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3488,15 +3645,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 101 "parser_cocci_menhir.mly" (Data.clt) -# 3492 "parser_cocci_menhir.ml" +# 3649 "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_ = -# 1309 "parser_cocci_menhir.mly" +# 1320 "parser_cocci_menhir.mly" ( P.arith_op Ast.Plus _1 _2 _3 ) -# 3500 "parser_cocci_menhir.ml" +# 3657 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3528,15 +3685,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 101 "parser_cocci_menhir.mly" (Data.clt) -# 3532 "parser_cocci_menhir.ml" +# 3689 "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_ = -# 1311 "parser_cocci_menhir.mly" +# 1322 "parser_cocci_menhir.mly" ( P.arith_op Ast.Minus _1 _2 _3 ) -# 3540 "parser_cocci_menhir.ml" +# 3697 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3568,15 +3725,55 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 99 "parser_cocci_menhir.mly" (Ast_cocci.arithOp * Data.clt) -# 3572 "parser_cocci_menhir.ml" +# 3729 "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_ = -# 1313 "parser_cocci_menhir.mly" +# 1324 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) -# 3580 "parser_cocci_menhir.ml" +# 3737 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.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_expr_invalid_ = Obj.magic _3 in + let _2 : ( +# 99 "parser_cocci_menhir.mly" + (Ast_cocci.arithOp * Data.clt) +# 3769 "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_ = +# 1326 "parser_cocci_menhir.mly" + ( let (op,clt) = _2 in P.arith_op op _1 clt _3 ) +# 3777 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3608,15 +3805,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 98 "parser_cocci_menhir.mly" (Ast_cocci.logicalOp * Data.clt) -# 3612 "parser_cocci_menhir.ml" +# 3809 "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_ = -# 1315 "parser_cocci_menhir.mly" +# 1328 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in P.logic_op op _1 clt _3 ) -# 3620 "parser_cocci_menhir.ml" +# 3817 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3648,15 +3845,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 97 "parser_cocci_menhir.mly" (Data.clt) -# 3652 "parser_cocci_menhir.ml" +# 3849 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_arith_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_arith_expr_expr_invalid_ = -# 1317 "parser_cocci_menhir.mly" +# 1330 "parser_cocci_menhir.mly" ( P.logic_op Ast.Eq _1 _2 _3 ) -# 3660 "parser_cocci_menhir.ml" +# 3857 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3688,15 +3885,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 97 "parser_cocci_menhir.mly" (Data.clt) -# 3692 "parser_cocci_menhir.ml" +# 3889 "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" +# 1332 "parser_cocci_menhir.mly" ( P.logic_op Ast.NotEq _1 _2 _3 ) -# 3700 "parser_cocci_menhir.ml" +# 3897 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3728,15 +3925,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 96 "parser_cocci_menhir.mly" (Data.clt) -# 3732 "parser_cocci_menhir.ml" +# 3929 "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" +# 1334 "parser_cocci_menhir.mly" ( P.arith_op Ast.And _1 _2 _3 ) -# 3740 "parser_cocci_menhir.ml" +# 3937 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3768,15 +3965,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 94 "parser_cocci_menhir.mly" (Data.clt) -# 3772 "parser_cocci_menhir.ml" +# 3969 "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" +# 1336 "parser_cocci_menhir.mly" ( P.arith_op Ast.Or _1 _2 _3 ) -# 3780 "parser_cocci_menhir.ml" +# 3977 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3808,15 +4005,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 95 "parser_cocci_menhir.mly" (Data.clt) -# 3812 "parser_cocci_menhir.ml" +# 4009 "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" +# 1338 "parser_cocci_menhir.mly" ( P.arith_op Ast.Xor _1 _2 _3 ) -# 3820 "parser_cocci_menhir.ml" +# 4017 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3848,15 +4045,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 93 "parser_cocci_menhir.mly" (Data.clt) -# 3852 "parser_cocci_menhir.ml" +# 4049 "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" +# 1340 "parser_cocci_menhir.mly" ( P.logic_op Ast.AndLog _1 _2 _3 ) -# 3860 "parser_cocci_menhir.ml" +# 4057 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3888,15 +4085,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 92 "parser_cocci_menhir.mly" (Data.clt) -# 3892 "parser_cocci_menhir.ml" +# 4089 "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" +# 1342 "parser_cocci_menhir.mly" ( P.logic_op Ast.OrLog _1 _2 _3 ) -# 3900 "parser_cocci_menhir.ml" +# 4097 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3916,9 +4113,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 505 "parser_cocci_menhir.mly" +# 513 "parser_cocci_menhir.mly" ( Ast.UNIQUE ) -# 3922 "parser_cocci_menhir.ml" +# 4119 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3938,9 +4135,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 506 "parser_cocci_menhir.mly" +# 514 "parser_cocci_menhir.mly" ( Ast.OPT ) -# 3944 "parser_cocci_menhir.ml" +# 4141 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3960,9 +4157,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_arity = -# 507 "parser_cocci_menhir.mly" +# 515 "parser_cocci_menhir.mly" ( Ast.MULTI ) -# 3966 "parser_cocci_menhir.ml" +# 4163 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -3977,9 +4174,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_arity = -# 508 "parser_cocci_menhir.mly" +# 516 "parser_cocci_menhir.mly" ( Ast.NONE ) -# 3983 "parser_cocci_menhir.ml" +# 4180 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4010,20 +4207,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 4014 "parser_cocci_menhir.ml" +# 4211 "parser_cocci_menhir.ml" ) = Obj.magic r in let i : 'tv_option_eexpr_ = Obj.magic i in let l : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 4020 "parser_cocci_menhir.ml" +# 4217 "parser_cocci_menhir.ml" ) = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_array_dec = -# 1106 "parser_cocci_menhir.mly" +# 1117 "parser_cocci_menhir.mly" ( (l,i,r) ) -# 4027 "parser_cocci_menhir.ml" +# 4224 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4045,9 +4242,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_eexpr_dot_expressions_ = -# 1275 "parser_cocci_menhir.mly" +# 1286 "parser_cocci_menhir.mly" ( _1 ) -# 4051 "parser_cocci_menhir.ml" +# 4248 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4079,17 +4276,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4083 "parser_cocci_menhir.ml" +# 4280 "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_ = -# 1277 "parser_cocci_menhir.mly" +# 1288 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4093 "parser_cocci_menhir.ml" +# 4290 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4121,17 +4318,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 4125 "parser_cocci_menhir.ml" +# 4322 "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_ = -# 1281 "parser_cocci_menhir.mly" +# 1292 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4135 "parser_cocci_menhir.ml" +# 4332 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4153,9 +4350,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1275 "parser_cocci_menhir.mly" +# 1286 "parser_cocci_menhir.mly" ( _1 ) -# 4159 "parser_cocci_menhir.ml" +# 4356 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4187,17 +4384,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4191 "parser_cocci_menhir.ml" +# 4388 "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__3_ in let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1277 "parser_cocci_menhir.mly" +# 1288 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4201 "parser_cocci_menhir.ml" +# 4398 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4229,17 +4426,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 4233 "parser_cocci_menhir.ml" +# 4430 "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__3_ in let _v : 'tv_assign_expr_eexpr_nest_expressions_ = -# 1281 "parser_cocci_menhir.mly" +# 1292 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4243 "parser_cocci_menhir.ml" +# 4440 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4261,9 +4458,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1275 "parser_cocci_menhir.mly" +# 1286 "parser_cocci_menhir.mly" ( _1 ) -# 4267 "parser_cocci_menhir.ml" +# 4464 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4295,17 +4492,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4299 "parser_cocci_menhir.ml" +# 4496 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1277 "parser_cocci_menhir.mly" +# 1288 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4309 "parser_cocci_menhir.ml" +# 4506 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4337,17 +4534,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 4341 "parser_cocci_menhir.ml" +# 4538 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_unary_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_assign_expr_expr_invalid_ = -# 1281 "parser_cocci_menhir.mly" +# 1292 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4351 "parser_cocci_menhir.ml" +# 4548 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4369,9 +4566,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_assign_expr_bis = -# 1286 "parser_cocci_menhir.mly" +# 1297 "parser_cocci_menhir.mly" ( _1 ) -# 4375 "parser_cocci_menhir.ml" +# 4572 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4403,17 +4600,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 111 "parser_cocci_menhir.mly" (Ast_cocci.assignOp * Data.clt) -# 4407 "parser_cocci_menhir.ml" +# 4604 "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 = -# 1288 "parser_cocci_menhir.mly" +# 1299 "parser_cocci_menhir.mly" ( let (op,clt) = _2 in Ast0.wrap(Ast0.Assignment(_1,P.clt2mcode op clt, Ast0.set_arg_exp _3,false)) ) -# 4417 "parser_cocci_menhir.ml" +# 4614 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4445,17 +4642,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 4449 "parser_cocci_menhir.ml" +# 4646 "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 = -# 1292 "parser_cocci_menhir.mly" +# 1303 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Assignment (_1,P.clt2mcode Ast.SimpleAssign _2,Ast0.set_arg_exp _3,false)) ) -# 4459 "parser_cocci_menhir.ml" +# 4656 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4477,9 +4674,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_eexpr_dot_expressions_ = -# 1272 "parser_cocci_menhir.mly" +# 1283 "parser_cocci_menhir.mly" ( _1 ) -# 4483 "parser_cocci_menhir.ml" +# 4680 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4501,9 +4698,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_eexpr_nest_expressions_ = -# 1272 "parser_cocci_menhir.mly" +# 1283 "parser_cocci_menhir.mly" ( _1 ) -# 4507 "parser_cocci_menhir.ml" +# 4704 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4525,9 +4722,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_basic_expr_expr_invalid_ = -# 1272 "parser_cocci_menhir.mly" +# 1283 "parser_cocci_menhir.mly" ( _1 ) -# 4531 "parser_cocci_menhir.ml" +# 4728 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4559,20 +4756,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 4563 "parser_cocci_menhir.ml" +# 4760 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 4568 "parser_cocci_menhir.ml" +# 4765 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_case_line = -# 970 "parser_cocci_menhir.mly" +# 979 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Default(P.clt2mcode "default" _1,P.clt2mcode ":" _2,_3)) ) -# 4576 "parser_cocci_menhir.ml" +# 4773 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4609,20 +4806,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 4613 "parser_cocci_menhir.ml" +# 4810 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 4619 "parser_cocci_menhir.ml" +# 4816 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_case_line = -# 973 "parser_cocci_menhir.mly" +# 982 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Case(P.clt2mcode "case" _1,_2,P.clt2mcode ":" _3,_4)) ) -# 4626 "parser_cocci_menhir.ml" +# 4823 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4644,9 +4841,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_dot_expressions_ = -# 1332 "parser_cocci_menhir.mly" +# 1345 "parser_cocci_menhir.mly" ( _1 ) -# 4650 "parser_cocci_menhir.ml" +# 4847 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4683,21 +4880,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 4687 "parser_cocci_menhir.ml" +# 4884 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 4693 "parser_cocci_menhir.ml" +# 4890 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_e_ in let _v : 'tv_cast_expr_eexpr_dot_expressions_ = -# 1334 "parser_cocci_menhir.mly" +# 1347 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 4701 "parser_cocci_menhir.ml" +# 4898 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4719,9 +4916,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_invalid_ = -# 1332 "parser_cocci_menhir.mly" +# 1345 "parser_cocci_menhir.mly" ( _1 ) -# 4725 "parser_cocci_menhir.ml" +# 4922 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4758,21 +4955,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 4762 "parser_cocci_menhir.ml" +# 4959 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 4768 "parser_cocci_menhir.ml" +# 4965 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_e_ in let _v : 'tv_cast_expr_eexpr_invalid_ = -# 1334 "parser_cocci_menhir.mly" +# 1347 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 4776 "parser_cocci_menhir.ml" +# 4973 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4794,9 +4991,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_eexpr_nest_expressions_ = -# 1332 "parser_cocci_menhir.mly" +# 1345 "parser_cocci_menhir.mly" ( _1 ) -# 4800 "parser_cocci_menhir.ml" +# 4997 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4833,21 +5030,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 4837 "parser_cocci_menhir.ml" +# 5034 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 4843 "parser_cocci_menhir.ml" +# 5040 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_e_ in let _v : 'tv_cast_expr_eexpr_nest_expressions_ = -# 1334 "parser_cocci_menhir.mly" +# 1347 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 4851 "parser_cocci_menhir.ml" +# 5048 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4869,9 +5066,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cast_expr_expr_invalid_ = -# 1332 "parser_cocci_menhir.mly" +# 1345 "parser_cocci_menhir.mly" ( _1 ) -# 4875 "parser_cocci_menhir.ml" +# 5072 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4908,21 +5105,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 4912 "parser_cocci_menhir.ml" +# 5109 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 4918 "parser_cocci_menhir.ml" +# 5115 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_e_ in let _v : 'tv_cast_expr_expr_invalid_ = -# 1334 "parser_cocci_menhir.mly" +# 1347 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Cast (P.clt2mcode "(" lp, t, P.clt2mcode ")" rp, e)) ) -# 4926 "parser_cocci_menhir.ml" +# 5123 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4950,7 +5147,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_choose_iso = # 242 "parser_cocci_menhir.mly" ( List.map P.id2name _2 ) -# 4954 "parser_cocci_menhir.ml" +# 5151 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -4976,21 +5173,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 4980 "parser_cocci_menhir.ml" +# 5177 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 4985 "parser_cocci_menhir.ml" +# 5182 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_comma_decls_TEllipsis_decl_ = -# 1738 "parser_cocci_menhir.mly" +# 1751 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); dot_builder _2] ) -# 4994 "parser_cocci_menhir.ml" +# 5191 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5017,15 +5214,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 5021 "parser_cocci_menhir.ml" +# 5218 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_comma_decls_TEllipsis_decl_ = -# 1742 "parser_cocci_menhir.mly" +# 1755 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] ) -# 5029 "parser_cocci_menhir.ml" +# 5226 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5051,21 +5248,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 5055 "parser_cocci_menhir.ml" +# 5252 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 5060 "parser_cocci_menhir.ml" +# 5257 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ = -# 1738 "parser_cocci_menhir.mly" +# 1751 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); dot_builder _2] ) -# 5069 "parser_cocci_menhir.ml" +# 5266 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5092,15 +5289,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 5096 "parser_cocci_menhir.ml" +# 5293 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_comma_decls_TEllipsis_name_opt_decl_ = -# 1742 "parser_cocci_menhir.mly" +# 1755 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.PComma(P.clt2mcode "," _1)); _2] ) -# 5104 "parser_cocci_menhir.ml" +# 5301 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5115,9 +5312,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_comma_initializers_edots_when_TEllipsis_initialize__ = -# 1161 "parser_cocci_menhir.mly" +# 1172 "parser_cocci_menhir.mly" ( [] ) -# 5121 "parser_cocci_menhir.ml" +# 5318 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5145,9 +5342,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = -# 1163 "parser_cocci_menhir.mly" +# 1174 "parser_cocci_menhir.mly" ( (function dot_builder -> [dot_builder d])::r ) -# 5151 "parser_cocci_menhir.ml" +# 5348 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5173,9 +5370,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_r_ in let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = -# 1164 "parser_cocci_menhir.mly" +# 1175 "parser_cocci_menhir.mly" ( r ) -# 5179 "parser_cocci_menhir.ml" +# 5376 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5207,16 +5404,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 5211 "parser_cocci_menhir.ml" +# 5408 "parser_cocci_menhir.ml" ) = Obj.magic c in let i : 'tv_initialize2 = Obj.magic i in let _startpos = _startpos_i_ in let _endpos = _endpos_r_ in let _v : 'tv_comma_initializers_edots_when_TEllipsis_initialize__ = -# 1166 "parser_cocci_menhir.mly" +# 1177 "parser_cocci_menhir.mly" ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))]):: r ) -# 5220 "parser_cocci_menhir.ml" +# 5417 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5231,9 +5428,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_comma_initializers2_edots_when_TEllipsis_initialize__ = -# 1170 "parser_cocci_menhir.mly" +# 1181 "parser_cocci_menhir.mly" ( [] ) -# 5237 "parser_cocci_menhir.ml" +# 5434 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5259,9 +5456,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_r_ in let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = -# 1171 "parser_cocci_menhir.mly" +# 1182 "parser_cocci_menhir.mly" ( r ) -# 5265 "parser_cocci_menhir.ml" +# 5462 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5293,16 +5490,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 5297 "parser_cocci_menhir.ml" +# 5494 "parser_cocci_menhir.ml" ) = Obj.magic c in let i : 'tv_initialize2 = Obj.magic i in let _startpos = _startpos_i_ in let _endpos = _endpos_r_ in let _v : 'tv_comma_initializers2_edots_when_TEllipsis_initialize__ = -# 1173 "parser_cocci_menhir.mly" +# 1184 "parser_cocci_menhir.mly" ( (function dot_builder -> [i; Ast0.wrap(Ast0.IComma(P.clt2mcode "," c))]):: r ) -# 5306 "parser_cocci_menhir.ml" +# 5503 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5324,9 +5521,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_any_strict_ = -# 1976 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( _1 ) -# 5330 "parser_cocci_menhir.ml" +# 5527 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5348,9 +5545,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_ctype_ = -# 1976 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( _1 ) -# 5354 "parser_cocci_menhir.ml" +# 5551 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5372,9 +5569,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_d_ident_ = -# 1976 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( _1 ) -# 5378 "parser_cocci_menhir.ml" +# 5575 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5396,9 +5593,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_ident_or_const_ = -# 1976 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( _1 ) -# 5402 "parser_cocci_menhir.ml" +# 5599 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5420,9 +5617,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_meta_ident_ = -# 1976 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( _1 ) -# 5426 "parser_cocci_menhir.ml" +# 5623 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5444,9 +5641,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_ = -# 1976 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( _1 ) -# 5450 "parser_cocci_menhir.ml" +# 5647 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5468,9 +5665,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_ = -# 1976 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( _1 ) -# 5474 "parser_cocci_menhir.ml" +# 5671 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5492,9 +5689,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = -# 1976 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( _1 ) -# 5498 "parser_cocci_menhir.ml" +# 5695 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5516,9 +5713,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = -# 1976 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( _1 ) -# 5522 "parser_cocci_menhir.ml" +# 5719 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5540,9 +5737,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = -# 1976 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( _1 ) -# 5546 "parser_cocci_menhir.ml" +# 5743 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5564,9 +5761,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = -# 1976 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( _1 ) -# 5570 "parser_cocci_menhir.ml" +# 5767 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5588,9 +5785,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_seed_ = -# 1976 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( _1 ) -# 5594 "parser_cocci_menhir.ml" +# 5791 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5612,9 +5809,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_pure_ident_or_meta_ident_with_x_eq_not_pos__ = -# 1976 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( _1 ) -# 5618 "parser_cocci_menhir.ml" +# 5815 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5636,9 +5833,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_comma_list_typedef_ident_ = -# 1976 "parser_cocci_menhir.mly" +# 1989 "parser_cocci_menhir.mly" ( _1 ) -# 5642 "parser_cocci_menhir.ml" +# 5839 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5660,9 +5857,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_eexpr_dot_expressions_ = -# 1297 "parser_cocci_menhir.mly" +# 1308 "parser_cocci_menhir.mly" ( _1 ) -# 5666 "parser_cocci_menhir.ml" +# 5863 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5704,22 +5901,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let dd : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 5708 "parser_cocci_menhir.ml" +# 5905 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 5714 "parser_cocci_menhir.ml" +# 5911 "parser_cocci_menhir.ml" ) = Obj.magic w in let l : 'tv_arith_expr_eexpr_dot_expressions_ = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_cond_expr_eexpr_dot_expressions_ = -# 1299 "parser_cocci_menhir.mly" +# 1310 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5723 "parser_cocci_menhir.ml" +# 5920 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5741,9 +5938,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_eexpr_nest_expressions_ = -# 1297 "parser_cocci_menhir.mly" +# 1308 "parser_cocci_menhir.mly" ( _1 ) -# 5747 "parser_cocci_menhir.ml" +# 5944 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5785,22 +5982,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let dd : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 5789 "parser_cocci_menhir.ml" +# 5986 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 5795 "parser_cocci_menhir.ml" +# 5992 "parser_cocci_menhir.ml" ) = Obj.magic w in let l : 'tv_arith_expr_eexpr_nest_expressions_ = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_cond_expr_eexpr_nest_expressions_ = -# 1299 "parser_cocci_menhir.mly" +# 1310 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5804 "parser_cocci_menhir.ml" +# 6001 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5822,9 +6019,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_cond_expr_expr_invalid_ = -# 1297 "parser_cocci_menhir.mly" +# 1308 "parser_cocci_menhir.mly" ( _1 ) -# 5828 "parser_cocci_menhir.ml" +# 6025 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5866,22 +6063,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let dd : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 5870 "parser_cocci_menhir.ml" +# 6067 "parser_cocci_menhir.ml" ) = Obj.magic dd in let t : 'tv_option_eexpr_ = Obj.magic t in let w : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 5876 "parser_cocci_menhir.ml" +# 6073 "parser_cocci_menhir.ml" ) = Obj.magic w in let l : 'tv_arith_expr_expr_invalid_ = Obj.magic l in let _startpos = _startpos_l_ in let _endpos = _endpos_r_ in let _v : 'tv_cond_expr_expr_invalid_ = -# 1299 "parser_cocci_menhir.mly" +# 1310 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.CondExpr (l, P.clt2mcode "?" w, t, P.clt2mcode ":" dd, r)) ) -# 5885 "parser_cocci_menhir.ml" +# 6082 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5902,14 +6099,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 56 "parser_cocci_menhir.mly" (Data.clt) -# 5906 "parser_cocci_menhir.ml" +# 6103 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 879 "parser_cocci_menhir.mly" +# 888 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Const _1 ) -# 5913 "parser_cocci_menhir.ml" +# 6110 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5930,14 +6127,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 56 "parser_cocci_menhir.mly" (Data.clt) -# 5934 "parser_cocci_menhir.ml" +# 6131 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_const_vol = -# 880 "parser_cocci_menhir.mly" +# 889 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Volatile _1 ) -# 5941 "parser_cocci_menhir.ml" +# 6138 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5952,9 +6149,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_continue_struct_decl_list = -# 629 "parser_cocci_menhir.mly" +# 638 "parser_cocci_menhir.mly" ( [] ) -# 5958 "parser_cocci_menhir.ml" +# 6155 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -5982,9 +6179,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_continue_struct_decl_list = -# 630 "parser_cocci_menhir.mly" +# 639 "parser_cocci_menhir.mly" ( _1@_2 ) -# 5988 "parser_cocci_menhir.ml" +# 6185 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6006,9 +6203,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_continue_struct_decl_list = -# 631 "parser_cocci_menhir.mly" +# 640 "parser_cocci_menhir.mly" ( _1 ) -# 6012 "parser_cocci_menhir.ml" +# 6209 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6040,12 +6237,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6044 "parser_cocci_menhir.ml" +# 6241 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 6049 "parser_cocci_menhir.ml" +# 6246 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6055,28 +6252,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 515 "parser_cocci_menhir.mly" +# 523 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 6061 "parser_cocci_menhir.ml" +# 6258 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6067 "parser_cocci_menhir.ml" +# 6264 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6074 "parser_cocci_menhir.ml" +# 6271 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6080 "parser_cocci_menhir.ml" +# 6277 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6108,12 +6305,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6112 "parser_cocci_menhir.ml" +# 6309 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 6117 "parser_cocci_menhir.ml" +# 6314 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6123,28 +6320,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 525 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 6129 "parser_cocci_menhir.ml" +# 6326 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6135 "parser_cocci_menhir.ml" +# 6332 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6142 "parser_cocci_menhir.ml" +# 6339 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6148 "parser_cocci_menhir.ml" +# 6345 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6176,12 +6373,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6180 "parser_cocci_menhir.ml" +# 6377 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 6185 "parser_cocci_menhir.ml" +# 6382 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6191,28 +6388,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 519 "parser_cocci_menhir.mly" +# 527 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 6197 "parser_cocci_menhir.ml" +# 6394 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6203 "parser_cocci_menhir.ml" +# 6400 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6210 "parser_cocci_menhir.ml" +# 6407 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6216 "parser_cocci_menhir.ml" +# 6413 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6244,12 +6441,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 6248 "parser_cocci_menhir.ml" +# 6445 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 6253 "parser_cocci_menhir.ml" +# 6450 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6259,29 +6456,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 521 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 6266 "parser_cocci_menhir.ml" +# 6463 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6272 "parser_cocci_menhir.ml" +# 6469 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6279 "parser_cocci_menhir.ml" +# 6476 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6285 "parser_cocci_menhir.ml" +# 6482 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6322,17 +6519,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 6326 "parser_cocci_menhir.ml" +# 6523 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 6331 "parser_cocci_menhir.ml" +# 6528 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 6336 "parser_cocci_menhir.ml" +# 6533 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -6344,33 +6541,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 524 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 6355 "parser_cocci_menhir.ml" +# 6552 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6361 "parser_cocci_menhir.ml" +# 6558 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6368 "parser_cocci_menhir.ml" +# 6565 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6374 "parser_cocci_menhir.ml" +# 6571 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6402,12 +6599,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6406 "parser_cocci_menhir.ml" +# 6603 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 6411 "parser_cocci_menhir.ml" +# 6608 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6417,28 +6614,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 6423 "parser_cocci_menhir.ml" +# 6620 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6429 "parser_cocci_menhir.ml" +# 6626 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6436 "parser_cocci_menhir.ml" +# 6633 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6442 "parser_cocci_menhir.ml" +# 6639 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6475,17 +6672,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6479 "parser_cocci_menhir.ml" +# 6676 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6484 "parser_cocci_menhir.ml" +# 6681 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 6489 "parser_cocci_menhir.ml" +# 6686 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6497,31 +6694,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 533 "parser_cocci_menhir.mly" +# 541 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 6506 "parser_cocci_menhir.ml" +# 6703 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 6512 "parser_cocci_menhir.ml" +# 6709 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6519 "parser_cocci_menhir.ml" +# 6716 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6525 "parser_cocci_menhir.ml" +# 6722 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6553,12 +6750,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6557 "parser_cocci_menhir.ml" +# 6754 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 6562 "parser_cocci_menhir.ml" +# 6759 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6568,28 +6765,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 515 "parser_cocci_menhir.mly" +# 523 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 6574 "parser_cocci_menhir.ml" +# 6771 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6580 "parser_cocci_menhir.ml" +# 6777 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6587 "parser_cocci_menhir.ml" +# 6784 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6593 "parser_cocci_menhir.ml" +# 6790 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6621,12 +6818,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6625 "parser_cocci_menhir.ml" +# 6822 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 6630 "parser_cocci_menhir.ml" +# 6827 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6636,28 +6833,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 525 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 6642 "parser_cocci_menhir.ml" +# 6839 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6648 "parser_cocci_menhir.ml" +# 6845 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6655 "parser_cocci_menhir.ml" +# 6852 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6661 "parser_cocci_menhir.ml" +# 6858 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6689,12 +6886,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6693 "parser_cocci_menhir.ml" +# 6890 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 6698 "parser_cocci_menhir.ml" +# 6895 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6704,28 +6901,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 519 "parser_cocci_menhir.mly" +# 527 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 6710 "parser_cocci_menhir.ml" +# 6907 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6716 "parser_cocci_menhir.ml" +# 6913 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6723 "parser_cocci_menhir.ml" +# 6920 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6729 "parser_cocci_menhir.ml" +# 6926 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6757,12 +6954,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 6761 "parser_cocci_menhir.ml" +# 6958 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 6766 "parser_cocci_menhir.ml" +# 6963 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6772,29 +6969,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 521 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 6779 "parser_cocci_menhir.ml" +# 6976 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6785 "parser_cocci_menhir.ml" +# 6982 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6792 "parser_cocci_menhir.ml" +# 6989 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6798 "parser_cocci_menhir.ml" +# 6995 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6835,17 +7032,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 6839 "parser_cocci_menhir.ml" +# 7036 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 6844 "parser_cocci_menhir.ml" +# 7041 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 6849 "parser_cocci_menhir.ml" +# 7046 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -6857,33 +7054,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 524 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 6868 "parser_cocci_menhir.ml" +# 7065 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6874 "parser_cocci_menhir.ml" +# 7071 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6881 "parser_cocci_menhir.ml" +# 7078 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6887 "parser_cocci_menhir.ml" +# 7084 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6915,12 +7112,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6919 "parser_cocci_menhir.ml" +# 7116 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 6924 "parser_cocci_menhir.ml" +# 7121 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -6930,28 +7127,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 6936 "parser_cocci_menhir.ml" +# 7133 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 6942 "parser_cocci_menhir.ml" +# 7139 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 6949 "parser_cocci_menhir.ml" +# 7146 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 6955 "parser_cocci_menhir.ml" +# 7152 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -6988,17 +7185,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6992 "parser_cocci_menhir.ml" +# 7189 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 6997 "parser_cocci_menhir.ml" +# 7194 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 7002 "parser_cocci_menhir.ml" +# 7199 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -7010,31 +7207,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 533 "parser_cocci_menhir.mly" +# 541 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 7019 "parser_cocci_menhir.ml" +# 7216 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 7025 "parser_cocci_menhir.ml" +# 7222 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7032 "parser_cocci_menhir.ml" +# 7229 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7038 "parser_cocci_menhir.ml" +# 7235 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7061,7 +7258,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7065 "parser_cocci_menhir.ml" +# 7262 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7070,28 +7267,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 515 "parser_cocci_menhir.mly" +# 523 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 7076 "parser_cocci_menhir.ml" +# 7273 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 7082 "parser_cocci_menhir.ml" +# 7279 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7089 "parser_cocci_menhir.ml" +# 7286 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7095 "parser_cocci_menhir.ml" +# 7292 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7118,7 +7315,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7122 "parser_cocci_menhir.ml" +# 7319 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7127,28 +7324,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 525 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 7133 "parser_cocci_menhir.ml" +# 7330 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 7139 "parser_cocci_menhir.ml" +# 7336 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7146 "parser_cocci_menhir.ml" +# 7343 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7152 "parser_cocci_menhir.ml" +# 7349 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7175,7 +7372,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7179 "parser_cocci_menhir.ml" +# 7376 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7184,28 +7381,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 519 "parser_cocci_menhir.mly" +# 527 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 7190 "parser_cocci_menhir.ml" +# 7387 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 7196 "parser_cocci_menhir.ml" +# 7393 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7203 "parser_cocci_menhir.ml" +# 7400 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7209 "parser_cocci_menhir.ml" +# 7406 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7232,7 +7429,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 7236 "parser_cocci_menhir.ml" +# 7433 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -7241,29 +7438,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 521 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 7248 "parser_cocci_menhir.ml" +# 7445 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 7254 "parser_cocci_menhir.ml" +# 7451 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7261 "parser_cocci_menhir.ml" +# 7458 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7267 "parser_cocci_menhir.ml" +# 7464 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7299,12 +7496,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 7303 "parser_cocci_menhir.ml" +# 7500 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 7308 "parser_cocci_menhir.ml" +# 7505 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let _startpos = _startpos_r00_ in let _endpos = _endpos_m_ in @@ -7315,33 +7512,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 524 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 7326 "parser_cocci_menhir.ml" +# 7523 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 7332 "parser_cocci_menhir.ml" +# 7529 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7339 "parser_cocci_menhir.ml" +# 7536 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7345 "parser_cocci_menhir.ml" +# 7542 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7368,7 +7565,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7372 "parser_cocci_menhir.ml" +# 7569 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7377,28 +7574,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 7383 "parser_cocci_menhir.ml" +# 7580 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 7389 "parser_cocci_menhir.ml" +# 7586 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7396 "parser_cocci_menhir.ml" +# 7593 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7402 "parser_cocci_menhir.ml" +# 7599 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7430,12 +7627,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7434 "parser_cocci_menhir.ml" +# 7631 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7439 "parser_cocci_menhir.ml" +# 7636 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -7446,31 +7643,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 533 "parser_cocci_menhir.mly" +# 541 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 7455 "parser_cocci_menhir.ml" +# 7652 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 7461 "parser_cocci_menhir.ml" +# 7658 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7468 "parser_cocci_menhir.ml" +# 7665 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7474 "parser_cocci_menhir.ml" +# 7671 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7497,7 +7694,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 7501 "parser_cocci_menhir.ml" +# 7698 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7506,28 +7703,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 541 "parser_cocci_menhir.mly" +# 549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 7512 "parser_cocci_menhir.ml" +# 7709 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 7518 "parser_cocci_menhir.ml" +# 7715 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7525 "parser_cocci_menhir.ml" +# 7722 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7531 "parser_cocci_menhir.ml" +# 7728 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7554,7 +7751,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7558 "parser_cocci_menhir.ml" +# 7755 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7563,28 +7760,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 543 "parser_cocci_menhir.mly" +# 551 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 7569 "parser_cocci_menhir.ml" +# 7766 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 7575 "parser_cocci_menhir.ml" +# 7772 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7582 "parser_cocci_menhir.ml" +# 7779 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7588 "parser_cocci_menhir.ml" +# 7785 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7611,7 +7808,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 7615 "parser_cocci_menhir.ml" +# 7812 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -7620,28 +7817,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 545 "parser_cocci_menhir.mly" +# 553 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 7626 "parser_cocci_menhir.ml" +# 7823 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 7632 "parser_cocci_menhir.ml" +# 7829 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7639 "parser_cocci_menhir.ml" +# 7836 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7645 "parser_cocci_menhir.ml" +# 7842 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7674,7 +7871,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 7678 "parser_cocci_menhir.ml" +# 7875 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -7685,28 +7882,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 547 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 7691 "parser_cocci_menhir.ml" +# 7888 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 7697 "parser_cocci_menhir.ml" +# 7894 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7704 "parser_cocci_menhir.ml" +# 7901 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7710 "parser_cocci_menhir.ml" +# 7907 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7746,28 +7943,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 549 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 7752 "parser_cocci_menhir.ml" +# 7949 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 7758 "parser_cocci_menhir.ml" +# 7955 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7765 "parser_cocci_menhir.ml" +# 7962 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7771 "parser_cocci_menhir.ml" +# 7968 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7809,13 +8006,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 7813 "parser_cocci_menhir.ml" +# 8010 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 7819 "parser_cocci_menhir.ml" +# 8016 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let _startpos = _startpos_s00_ in @@ -7834,36 +8031,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 7838 "parser_cocci_menhir.ml" +# 8035 "parser_cocci_menhir.ml" in -# 552 "parser_cocci_menhir.mly" +# 560 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), P.clt2mcode "{" l, d, P.clt2mcode "}" r)) ) -# 7848 "parser_cocci_menhir.ml" +# 8045 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 7854 "parser_cocci_menhir.ml" +# 8051 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7861 "parser_cocci_menhir.ml" +# 8058 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7867 "parser_cocci_menhir.ml" +# 8064 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -7910,13 +8107,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 7914 "parser_cocci_menhir.ml" +# 8111 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 7920 "parser_cocci_menhir.ml" +# 8117 "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 @@ -7939,36 +8136,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 7943 "parser_cocci_menhir.ml" +# 8140 "parser_cocci_menhir.ml" in -# 552 "parser_cocci_menhir.mly" +# 560 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), P.clt2mcode "{" l, d, P.clt2mcode "}" r)) ) -# 7953 "parser_cocci_menhir.ml" +# 8150 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 7959 "parser_cocci_menhir.ml" +# 8156 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 7966 "parser_cocci_menhir.ml" +# 8163 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 7972 "parser_cocci_menhir.ml" +# 8169 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8010,18 +8207,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 8014 "parser_cocci_menhir.ml" +# 8211 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 8020 "parser_cocci_menhir.ml" +# 8217 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 8025 "parser_cocci_menhir.ml" +# 8222 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -8036,30 +8233,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 558 "parser_cocci_menhir.mly" +# 566 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = s in let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) -# 8044 "parser_cocci_menhir.ml" +# 8241 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 8050 "parser_cocci_menhir.ml" +# 8247 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8057 "parser_cocci_menhir.ml" +# 8254 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8063 "parser_cocci_menhir.ml" +# 8260 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8086,7 +8283,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 8090 "parser_cocci_menhir.ml" +# 8287 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -8095,28 +8292,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 562 "parser_cocci_menhir.mly" +# 570 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 8101 "parser_cocci_menhir.ml" +# 8298 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 8107 "parser_cocci_menhir.ml" +# 8304 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 8114 "parser_cocci_menhir.ml" +# 8311 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8120 "parser_cocci_menhir.ml" +# 8317 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8153,12 +8350,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8157 "parser_cocci_menhir.ml" +# 8354 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 8162 "parser_cocci_menhir.ml" +# 8359 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8169,15 +8366,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 515 "parser_cocci_menhir.mly" +# 523 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 8175 "parser_cocci_menhir.ml" +# 8372 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8181 "parser_cocci_menhir.ml" +# 8378 "parser_cocci_menhir.ml" in let cv = @@ -8185,13 +8382,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8189 "parser_cocci_menhir.ml" +# 8386 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8195 "parser_cocci_menhir.ml" +# 8392 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8228,12 +8425,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8232 "parser_cocci_menhir.ml" +# 8429 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 8237 "parser_cocci_menhir.ml" +# 8434 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8244,15 +8441,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 525 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 8250 "parser_cocci_menhir.ml" +# 8447 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8256 "parser_cocci_menhir.ml" +# 8453 "parser_cocci_menhir.ml" in let cv = @@ -8260,13 +8457,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8264 "parser_cocci_menhir.ml" +# 8461 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8270 "parser_cocci_menhir.ml" +# 8467 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8303,12 +8500,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8307 "parser_cocci_menhir.ml" +# 8504 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 8312 "parser_cocci_menhir.ml" +# 8509 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8319,15 +8516,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 519 "parser_cocci_menhir.mly" +# 527 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 8325 "parser_cocci_menhir.ml" +# 8522 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8331 "parser_cocci_menhir.ml" +# 8528 "parser_cocci_menhir.ml" in let cv = @@ -8335,13 +8532,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8339 "parser_cocci_menhir.ml" +# 8536 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8345 "parser_cocci_menhir.ml" +# 8542 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8378,12 +8575,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 8382 "parser_cocci_menhir.ml" +# 8579 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 8387 "parser_cocci_menhir.ml" +# 8584 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8394,16 +8591,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 521 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 8401 "parser_cocci_menhir.ml" +# 8598 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8407 "parser_cocci_menhir.ml" +# 8604 "parser_cocci_menhir.ml" in let cv = @@ -8411,13 +8608,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8415 "parser_cocci_menhir.ml" +# 8612 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8421 "parser_cocci_menhir.ml" +# 8618 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8463,17 +8660,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 8467 "parser_cocci_menhir.ml" +# 8664 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 8472 "parser_cocci_menhir.ml" +# 8669 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 8477 "parser_cocci_menhir.ml" +# 8674 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8486,20 +8683,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 524 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 8497 "parser_cocci_menhir.ml" +# 8694 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8503 "parser_cocci_menhir.ml" +# 8700 "parser_cocci_menhir.ml" in let cv = @@ -8507,13 +8704,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8511 "parser_cocci_menhir.ml" +# 8708 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8517 "parser_cocci_menhir.ml" +# 8714 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8550,12 +8747,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8554 "parser_cocci_menhir.ml" +# 8751 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 8559 "parser_cocci_menhir.ml" +# 8756 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8566,15 +8763,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 8572 "parser_cocci_menhir.ml" +# 8769 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8578 "parser_cocci_menhir.ml" +# 8775 "parser_cocci_menhir.ml" in let cv = @@ -8582,13 +8779,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8586 "parser_cocci_menhir.ml" +# 8783 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8592 "parser_cocci_menhir.ml" +# 8789 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8630,17 +8827,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8634 "parser_cocci_menhir.ml" +# 8831 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8639 "parser_cocci_menhir.ml" +# 8836 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 8644 "parser_cocci_menhir.ml" +# 8841 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8653,18 +8850,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 533 "parser_cocci_menhir.mly" +# 541 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 8662 "parser_cocci_menhir.ml" +# 8859 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 8668 "parser_cocci_menhir.ml" +# 8865 "parser_cocci_menhir.ml" in let cv = @@ -8672,13 +8869,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8676 "parser_cocci_menhir.ml" +# 8873 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8682 "parser_cocci_menhir.ml" +# 8879 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8715,12 +8912,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8719 "parser_cocci_menhir.ml" +# 8916 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 8724 "parser_cocci_menhir.ml" +# 8921 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8731,15 +8928,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 515 "parser_cocci_menhir.mly" +# 523 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 8737 "parser_cocci_menhir.ml" +# 8934 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8743 "parser_cocci_menhir.ml" +# 8940 "parser_cocci_menhir.ml" in let cv = @@ -8747,13 +8944,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8751 "parser_cocci_menhir.ml" +# 8948 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8757 "parser_cocci_menhir.ml" +# 8954 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8790,12 +8987,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8794 "parser_cocci_menhir.ml" +# 8991 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 8799 "parser_cocci_menhir.ml" +# 8996 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8806,15 +9003,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 525 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 8812 "parser_cocci_menhir.ml" +# 9009 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8818 "parser_cocci_menhir.ml" +# 9015 "parser_cocci_menhir.ml" in let cv = @@ -8822,13 +9019,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8826 "parser_cocci_menhir.ml" +# 9023 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8832 "parser_cocci_menhir.ml" +# 9029 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8865,12 +9062,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 8869 "parser_cocci_menhir.ml" +# 9066 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 8874 "parser_cocci_menhir.ml" +# 9071 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8881,15 +9078,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 519 "parser_cocci_menhir.mly" +# 527 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 8887 "parser_cocci_menhir.ml" +# 9084 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8893 "parser_cocci_menhir.ml" +# 9090 "parser_cocci_menhir.ml" in let cv = @@ -8897,13 +9094,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8901 "parser_cocci_menhir.ml" +# 9098 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8907 "parser_cocci_menhir.ml" +# 9104 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -8940,12 +9137,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 8944 "parser_cocci_menhir.ml" +# 9141 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 8949 "parser_cocci_menhir.ml" +# 9146 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -8956,16 +9153,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 521 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 8963 "parser_cocci_menhir.ml" +# 9160 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 8969 "parser_cocci_menhir.ml" +# 9166 "parser_cocci_menhir.ml" in let cv = @@ -8973,13 +9170,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 8977 "parser_cocci_menhir.ml" +# 9174 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 8983 "parser_cocci_menhir.ml" +# 9180 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9025,17 +9222,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 9029 "parser_cocci_menhir.ml" +# 9226 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 9034 "parser_cocci_menhir.ml" +# 9231 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 9039 "parser_cocci_menhir.ml" +# 9236 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9048,20 +9245,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 524 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 9059 "parser_cocci_menhir.ml" +# 9256 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9065 "parser_cocci_menhir.ml" +# 9262 "parser_cocci_menhir.ml" in let cv = @@ -9069,13 +9266,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9073 "parser_cocci_menhir.ml" +# 9270 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9079 "parser_cocci_menhir.ml" +# 9276 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9112,12 +9309,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9116 "parser_cocci_menhir.ml" +# 9313 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 9121 "parser_cocci_menhir.ml" +# 9318 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9128,15 +9325,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 9134 "parser_cocci_menhir.ml" +# 9331 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9140 "parser_cocci_menhir.ml" +# 9337 "parser_cocci_menhir.ml" in let cv = @@ -9144,13 +9341,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9148 "parser_cocci_menhir.ml" +# 9345 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9154 "parser_cocci_menhir.ml" +# 9351 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9192,17 +9389,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9196 "parser_cocci_menhir.ml" +# 9393 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9201 "parser_cocci_menhir.ml" +# 9398 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 9206 "parser_cocci_menhir.ml" +# 9403 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9215,18 +9412,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 533 "parser_cocci_menhir.mly" +# 541 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 9224 "parser_cocci_menhir.ml" +# 9421 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 9230 "parser_cocci_menhir.ml" +# 9427 "parser_cocci_menhir.ml" in let cv = @@ -9234,13 +9431,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9238 "parser_cocci_menhir.ml" +# 9435 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9244 "parser_cocci_menhir.ml" +# 9441 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9272,7 +9469,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9276 "parser_cocci_menhir.ml" +# 9473 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9282,15 +9479,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 515 "parser_cocci_menhir.mly" +# 523 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 9288 "parser_cocci_menhir.ml" +# 9485 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 9294 "parser_cocci_menhir.ml" +# 9491 "parser_cocci_menhir.ml" in let cv = @@ -9298,13 +9495,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9302 "parser_cocci_menhir.ml" +# 9499 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9308 "parser_cocci_menhir.ml" +# 9505 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9336,7 +9533,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9340 "parser_cocci_menhir.ml" +# 9537 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9346,15 +9543,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 525 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 9352 "parser_cocci_menhir.ml" +# 9549 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 9358 "parser_cocci_menhir.ml" +# 9555 "parser_cocci_menhir.ml" in let cv = @@ -9362,13 +9559,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9366 "parser_cocci_menhir.ml" +# 9563 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9372 "parser_cocci_menhir.ml" +# 9569 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9400,7 +9597,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9404 "parser_cocci_menhir.ml" +# 9601 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9410,15 +9607,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 519 "parser_cocci_menhir.mly" +# 527 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 9416 "parser_cocci_menhir.ml" +# 9613 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 9422 "parser_cocci_menhir.ml" +# 9619 "parser_cocci_menhir.ml" in let cv = @@ -9426,13 +9623,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9430 "parser_cocci_menhir.ml" +# 9627 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9436 "parser_cocci_menhir.ml" +# 9633 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9464,7 +9661,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 9468 "parser_cocci_menhir.ml" +# 9665 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9474,16 +9671,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 521 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 9481 "parser_cocci_menhir.ml" +# 9678 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 9487 "parser_cocci_menhir.ml" +# 9684 "parser_cocci_menhir.ml" in let cv = @@ -9491,13 +9688,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9495 "parser_cocci_menhir.ml" +# 9692 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9501 "parser_cocci_menhir.ml" +# 9698 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9538,12 +9735,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 9542 "parser_cocci_menhir.ml" +# 9739 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 9547 "parser_cocci_menhir.ml" +# 9744 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9555,20 +9752,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 524 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 9566 "parser_cocci_menhir.ml" +# 9763 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 9572 "parser_cocci_menhir.ml" +# 9769 "parser_cocci_menhir.ml" in let cv = @@ -9576,13 +9773,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9580 "parser_cocci_menhir.ml" +# 9777 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9586 "parser_cocci_menhir.ml" +# 9783 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9614,7 +9811,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9618 "parser_cocci_menhir.ml" +# 9815 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9624,15 +9821,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 9630 "parser_cocci_menhir.ml" +# 9827 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 9636 "parser_cocci_menhir.ml" +# 9833 "parser_cocci_menhir.ml" in let cv = @@ -9640,13 +9837,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9644 "parser_cocci_menhir.ml" +# 9841 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9650 "parser_cocci_menhir.ml" +# 9847 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9683,12 +9880,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9687 "parser_cocci_menhir.ml" +# 9884 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9692 "parser_cocci_menhir.ml" +# 9889 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9700,18 +9897,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 533 "parser_cocci_menhir.mly" +# 541 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 9709 "parser_cocci_menhir.ml" +# 9906 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 9715 "parser_cocci_menhir.ml" +# 9912 "parser_cocci_menhir.ml" in let cv = @@ -9719,13 +9916,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9723 "parser_cocci_menhir.ml" +# 9920 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9729 "parser_cocci_menhir.ml" +# 9926 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9757,7 +9954,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 9761 "parser_cocci_menhir.ml" +# 9958 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9767,15 +9964,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 541 "parser_cocci_menhir.mly" +# 549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 9773 "parser_cocci_menhir.ml" +# 9970 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 9779 "parser_cocci_menhir.ml" +# 9976 "parser_cocci_menhir.ml" in let cv = @@ -9783,13 +9980,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9787 "parser_cocci_menhir.ml" +# 9984 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9793 "parser_cocci_menhir.ml" +# 9990 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9821,7 +10018,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9825 "parser_cocci_menhir.ml" +# 10022 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9831,15 +10028,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 543 "parser_cocci_menhir.mly" +# 551 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 9837 "parser_cocci_menhir.ml" +# 10034 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 9843 "parser_cocci_menhir.ml" +# 10040 "parser_cocci_menhir.ml" in let cv = @@ -9847,13 +10044,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9851 "parser_cocci_menhir.ml" +# 10048 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9857 "parser_cocci_menhir.ml" +# 10054 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9885,7 +10082,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 9889 "parser_cocci_menhir.ml" +# 10086 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9895,15 +10092,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 545 "parser_cocci_menhir.mly" +# 553 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 9901 "parser_cocci_menhir.ml" +# 10098 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 9907 "parser_cocci_menhir.ml" +# 10104 "parser_cocci_menhir.ml" in let cv = @@ -9911,13 +10108,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9915 "parser_cocci_menhir.ml" +# 10112 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9921 "parser_cocci_menhir.ml" +# 10118 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -9955,7 +10152,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 9959 "parser_cocci_menhir.ml" +# 10156 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -9967,15 +10164,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 547 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 9973 "parser_cocci_menhir.ml" +# 10170 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 9979 "parser_cocci_menhir.ml" +# 10176 "parser_cocci_menhir.ml" in let cv = @@ -9983,13 +10180,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 9987 "parser_cocci_menhir.ml" +# 10184 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 9993 "parser_cocci_menhir.ml" +# 10190 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10035,15 +10232,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 549 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 10041 "parser_cocci_menhir.ml" +# 10238 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 10047 "parser_cocci_menhir.ml" +# 10244 "parser_cocci_menhir.ml" in let cv = @@ -10051,13 +10248,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10055 "parser_cocci_menhir.ml" +# 10252 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10061 "parser_cocci_menhir.ml" +# 10258 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10104,13 +10301,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 10108 "parser_cocci_menhir.ml" +# 10305 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 10114 "parser_cocci_menhir.ml" +# 10311 "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 @@ -10130,23 +10327,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 10134 "parser_cocci_menhir.ml" +# 10331 "parser_cocci_menhir.ml" in -# 552 "parser_cocci_menhir.mly" +# 560 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), P.clt2mcode "{" l, d, P.clt2mcode "}" r)) ) -# 10144 "parser_cocci_menhir.ml" +# 10341 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 10150 "parser_cocci_menhir.ml" +# 10347 "parser_cocci_menhir.ml" in let cv = @@ -10154,13 +10351,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10158 "parser_cocci_menhir.ml" +# 10355 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10164 "parser_cocci_menhir.ml" +# 10361 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10212,13 +10409,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 10216 "parser_cocci_menhir.ml" +# 10413 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 10222 "parser_cocci_menhir.ml" +# 10419 "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 @@ -10242,23 +10439,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10246 "parser_cocci_menhir.ml" +# 10443 "parser_cocci_menhir.ml" in -# 552 "parser_cocci_menhir.mly" +# 560 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), P.clt2mcode "{" l, d, P.clt2mcode "}" r)) ) -# 10256 "parser_cocci_menhir.ml" +# 10453 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 10262 "parser_cocci_menhir.ml" +# 10459 "parser_cocci_menhir.ml" in let cv = @@ -10266,13 +10463,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10270 "parser_cocci_menhir.ml" +# 10467 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10276 "parser_cocci_menhir.ml" +# 10473 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10319,18 +10516,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 10323 "parser_cocci_menhir.ml" +# 10520 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 10329 "parser_cocci_menhir.ml" +# 10526 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 10334 "parser_cocci_menhir.ml" +# 10531 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10346,17 +10543,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 558 "parser_cocci_menhir.mly" +# 566 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = s in let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) -# 10354 "parser_cocci_menhir.ml" +# 10551 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 10360 "parser_cocci_menhir.ml" +# 10557 "parser_cocci_menhir.ml" in let cv = @@ -10364,13 +10561,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10368 "parser_cocci_menhir.ml" +# 10565 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10374 "parser_cocci_menhir.ml" +# 10571 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10402,7 +10599,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 10406 "parser_cocci_menhir.ml" +# 10603 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -10412,15 +10609,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 562 "parser_cocci_menhir.mly" +# 570 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 10418 "parser_cocci_menhir.ml" +# 10615 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 10424 "parser_cocci_menhir.ml" +# 10621 "parser_cocci_menhir.ml" in let cv = @@ -10428,13 +10625,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 10432 "parser_cocci_menhir.ml" +# 10629 "parser_cocci_menhir.ml" in -# 575 "parser_cocci_menhir.mly" +# 583 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 10438 "parser_cocci_menhir.ml" +# 10635 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10455,14 +10652,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 10459 "parser_cocci_menhir.ml" +# 10656 "parser_cocci_menhir.ml" ) = Obj.magic r in let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_ctype = -# 577 "parser_cocci_menhir.mly" +# 585 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,None)) ) -# 10466 "parser_cocci_menhir.ml" +# 10663 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10483,14 +10680,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 10487 "parser_cocci_menhir.ml" +# 10684 "parser_cocci_menhir.ml" ) = Obj.magic r in let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_ctype = -# 579 "parser_cocci_menhir.mly" +# 587 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,None)) ) -# 10494 "parser_cocci_menhir.ml" +# 10691 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10521,22 +10718,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 10525 "parser_cocci_menhir.ml" +# 10722 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in let lp : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 10531 "parser_cocci_menhir.ml" +# 10728 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_ctype = -# 581 "parser_cocci_menhir.mly" +# 589 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 10540 "parser_cocci_menhir.ml" +# 10737 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10564,7 +10761,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_d_ident = -# 1097 "parser_cocci_menhir.mly" +# 1108 "parser_cocci_menhir.mly" ( (_1, function t -> List.fold_right @@ -10573,7 +10770,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Ast0.wrap (Ast0.Array(rest,P.clt2mcode "[" l,i,P.clt2mcode "]" r))) _2 t) ) -# 10577 "parser_cocci_menhir.ml" +# 10774 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10601,9 +10798,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_i_ in let _v : 'tv_decl = -# 853 "parser_cocci_menhir.mly" +# 862 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Param(t, Some i)) ) -# 10607 "parser_cocci_menhir.ml" +# 10804 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10625,9 +10822,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_t_ in let _v : 'tv_decl = -# 854 "parser_cocci_menhir.mly" +# 863 "parser_cocci_menhir.mly" ( (*verify in FunDecl*) Ast0.wrap(Ast0.Param(t, None)) ) -# 10631 "parser_cocci_menhir.ml" +# 10828 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10683,42 +10880,42 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 10687 "parser_cocci_menhir.ml" +# 10884 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 10693 "parser_cocci_menhir.ml" +# 10890 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let rp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 10698 "parser_cocci_menhir.ml" +# 10895 "parser_cocci_menhir.ml" ) = Obj.magic rp in let i : 'tv_ident = Obj.magic i in let s : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 10704 "parser_cocci_menhir.ml" +# 10901 "parser_cocci_menhir.ml" ) = Obj.magic s in let lp : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 10709 "parser_cocci_menhir.ml" +# 10906 "parser_cocci_menhir.ml" ) = Obj.magic lp in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_rp1_ in let _v : 'tv_decl = -# 857 "parser_cocci_menhir.mly" +# 866 "parser_cocci_menhir.mly" ( let fnptr = Ast0.wrap (Ast0.FunctionPointer (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp, P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in Ast0.wrap(Ast0.Param(fnptr, Some i)) ) -# 10722 "parser_cocci_menhir.ml" +# 10919 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10739,15 +10936,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 10743 "parser_cocci_menhir.ml" +# 10940 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl = -# 864 "parser_cocci_menhir.mly" +# 873 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaParam(P.clt2mcode nm clt,pure)) ) -# 10751 "parser_cocci_menhir.ml" +# 10948 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10768,14 +10965,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 10772 "parser_cocci_menhir.ml" +# 10969 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_ident = -# 1686 "parser_cocci_menhir.mly" +# 1699 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 10779 "parser_cocci_menhir.ml" +# 10976 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10796,15 +10993,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 65 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 10800 "parser_cocci_menhir.ml" +# 10997 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_ident = -# 1688 "parser_cocci_menhir.mly" +# 1701 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 10808 "parser_cocci_menhir.ml" +# 11005 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10819,9 +11016,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_decl_list_decl_ = -# 1708 "parser_cocci_menhir.mly" +# 1721 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS([])) ) -# 10825 "parser_cocci_menhir.ml" +# 11022 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10843,13 +11040,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_decl_ = -# 1710 "parser_cocci_menhir.mly" +# 1723 "parser_cocci_menhir.mly" (let circle x = match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in if List.exists circle _1 then Ast0.wrap(Ast0.CIRCLES(_1)) else Ast0.wrap(Ast0.DOTS(_1)) ) -# 10853 "parser_cocci_menhir.ml" +# 11050 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10864,9 +11061,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_decl_list_name_opt_decl_ = -# 1708 "parser_cocci_menhir.mly" +# 1721 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS([])) ) -# 10870 "parser_cocci_menhir.ml" +# 11067 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10888,13 +11085,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_name_opt_decl_ = -# 1710 "parser_cocci_menhir.mly" +# 1723 "parser_cocci_menhir.mly" (let circle x = match Ast0.unwrap x with Ast0.Pcircles(_) -> true | _ -> false in if List.exists circle _1 then Ast0.wrap(Ast0.CIRCLES(_1)) else Ast0.wrap(Ast0.DOTS(_1)) ) -# 10898 "parser_cocci_menhir.ml" +# 11095 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10916,9 +11113,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_start_decl_ = -# 1717 "parser_cocci_menhir.mly" +# 1730 "parser_cocci_menhir.mly" ( [_1] ) -# 10922 "parser_cocci_menhir.ml" +# 11119 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10950,15 +11147,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 10954 "parser_cocci_menhir.ml" +# 11151 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_one_dec_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_list_start_decl_ = -# 1719 "parser_cocci_menhir.mly" +# 1732 "parser_cocci_menhir.mly" ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 ) -# 10962 "parser_cocci_menhir.ml" +# 11159 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -10985,15 +11182,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 10989 "parser_cocci_menhir.ml" +# 11186 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_decl_list_start_decl_ = -# 1721 "parser_cocci_menhir.mly" +# 1734 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1)):: (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) ) -# 10997 "parser_cocci_menhir.ml" +# 11194 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11015,9 +11212,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_list_start_name_opt_decl_ = -# 1717 "parser_cocci_menhir.mly" +# 1730 "parser_cocci_menhir.mly" ( [_1] ) -# 11021 "parser_cocci_menhir.ml" +# 11218 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11049,15 +11246,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 11053 "parser_cocci_menhir.ml" +# 11250 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_one_dec_name_opt_decl_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_list_start_name_opt_decl_ = -# 1719 "parser_cocci_menhir.mly" +# 1732 "parser_cocci_menhir.mly" ( _1::Ast0.wrap(Ast0.PComma(P.clt2mcode "," _2))::_3 ) -# 11061 "parser_cocci_menhir.ml" +# 11258 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11084,15 +11281,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 11088 "parser_cocci_menhir.ml" +# 11285 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_decl_list_start_name_opt_decl_ = -# 1721 "parser_cocci_menhir.mly" +# 1734 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Pdots(P.clt2mcode "..." _1)):: (List.concat(List.map (function x -> x (P.mkpdots "...")) _2)) ) -# 11096 "parser_cocci_menhir.ml" +# 11293 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11113,15 +11310,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 11117 "parser_cocci_menhir.ml" +# 11314 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1179 "parser_cocci_menhir.mly" +# 1190 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) -# 11125 "parser_cocci_menhir.ml" +# 11322 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11143,13 +11340,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1182 "parser_cocci_menhir.mly" +# 1193 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x))) _1 ) -# 11153 "parser_cocci_menhir.ml" +# 11350 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11171,9 +11368,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement = -# 1187 "parser_cocci_menhir.mly" +# 1198 "parser_cocci_menhir.mly" ( [_1] ) -# 11177 "parser_cocci_menhir.ml" +# 11374 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11204,18 +11401,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 11208 "parser_cocci_menhir.ml" +# 11405 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let t : 'tv_midzero_list_fun_start_fun_start_ = Obj.magic t in let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 11214 "parser_cocci_menhir.ml" +# 11411 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement = -# 1196 "parser_cocci_menhir.mly" +# 1207 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function x -> @@ -11225,7 +11422,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct else [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3))] ) -# 11229 "parser_cocci_menhir.ml" +# 11426 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11246,15 +11443,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 11250 "parser_cocci_menhir.ml" +# 11447 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1209 "parser_cocci_menhir.mly" +# 1220 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in [Ast0.wrap(Ast0.MetaStmt(P.clt2mcode nm clt,pure))] ) -# 11258 "parser_cocci_menhir.ml" +# 11455 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11276,13 +11473,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1212 "parser_cocci_menhir.mly" +# 1223 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap (Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),x))) _1 ) -# 11286 "parser_cocci_menhir.ml" +# 11483 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11304,9 +11501,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_decl_statement_expr = -# 1217 "parser_cocci_menhir.mly" +# 1228 "parser_cocci_menhir.mly" ( [_1] ) -# 11310 "parser_cocci_menhir.ml" +# 11507 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11337,18 +11534,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 11341 "parser_cocci_menhir.ml" +# 11538 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let t : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = Obj.magic t in let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 11347 "parser_cocci_menhir.ml" +# 11544 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_decl_statement_expr = -# 1226 "parser_cocci_menhir.mly" +# 1237 "parser_cocci_menhir.mly" ( let (mids,code) = t in if List.for_all (function [] -> true | _ -> false) code then [] @@ -11357,7 +11554,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct List.map (function x -> Ast0.wrap(Ast0.DOTS x)) code in [Ast0.wrap(Ast0.Disj(P.clt2mcode "(" _1, dot_code, mids, P.clt2mcode ")" _3))] ) -# 11361 "parser_cocci_menhir.ml" +# 11558 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11383,15 +11580,43 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 11387 "parser_cocci_menhir.ml" +# 11584 "parser_cocci_menhir.ml" ) = Obj.magic pv in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_decl_var = -# 985 "parser_cocci_menhir.mly" +# 994 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] ) -# 11395 "parser_cocci_menhir.ml" +# 11592 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 68 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 11613 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_decl_var = +# 995 "parser_cocci_menhir.mly" + ( [P.meta_decl _1] ) +# 11620 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11422,7 +11647,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 11426 "parser_cocci_menhir.ml" +# 11651 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -11432,16 +11657,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11436 "parser_cocci_menhir.ml" +# 11661 "parser_cocci_menhir.ml" in -# 987 "parser_cocci_menhir.mly" +# 997 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) d ) -# 11445 "parser_cocci_menhir.ml" +# 11670 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11477,7 +11702,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 11481 "parser_cocci_menhir.ml" +# 11706 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -11489,16 +11714,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11493 "parser_cocci_menhir.ml" +# 11718 "parser_cocci_menhir.ml" in -# 987 "parser_cocci_menhir.mly" +# 997 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))) d ) -# 11502 "parser_cocci_menhir.ml" +# 11727 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11520,9 +11745,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_decl_var = -# 991 "parser_cocci_menhir.mly" +# 1001 "parser_cocci_menhir.mly" ( [f] ) -# 11526 "parser_cocci_menhir.ml" +# 11751 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11563,13 +11788,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 11567 "parser_cocci_menhir.ml" +# 11792 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 11573 "parser_cocci_menhir.ml" +# 11798 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -11579,14 +11804,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11583 "parser_cocci_menhir.ml" +# 11808 "parser_cocci_menhir.ml" in -# 993 "parser_cocci_menhir.mly" +# 1003 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 11590 "parser_cocci_menhir.ml" +# 11815 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11632,13 +11857,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 11636 "parser_cocci_menhir.ml" +# 11861 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 11642 "parser_cocci_menhir.ml" +# 11867 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -11650,14 +11875,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11654 "parser_cocci_menhir.ml" +# 11879 "parser_cocci_menhir.ml" in -# 993 "parser_cocci_menhir.mly" +# 1003 "parser_cocci_menhir.mly" (let (id,fn) = d in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 11661 "parser_cocci_menhir.ml" +# 11886 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11688,7 +11913,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 11692 "parser_cocci_menhir.ml" +# 11917 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11698,25 +11923,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11702 "parser_cocci_menhir.ml" +# 11927 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11709 "parser_cocci_menhir.ml" +# 11934 "parser_cocci_menhir.ml" in -# 998 "parser_cocci_menhir.mly" +# 1008 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv))) d ) -# 11720 "parser_cocci_menhir.ml" +# 11945 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11752,7 +11977,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 11756 "parser_cocci_menhir.ml" +# 11981 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11764,25 +11989,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11768 "parser_cocci_menhir.ml" +# 11993 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11775 "parser_cocci_menhir.ml" +# 12000 "parser_cocci_menhir.ml" in -# 998 "parser_cocci_menhir.mly" +# 1008 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv))) d ) -# 11786 "parser_cocci_menhir.ml" +# 12011 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11818,7 +12043,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 11822 "parser_cocci_menhir.ml" +# 12047 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11829,7 +12054,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11833 "parser_cocci_menhir.ml" +# 12058 "parser_cocci_menhir.ml" in let s = @@ -11837,18 +12062,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11841 "parser_cocci_menhir.ml" +# 12066 "parser_cocci_menhir.ml" in -# 998 "parser_cocci_menhir.mly" +# 1008 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv))) d ) -# 11852 "parser_cocci_menhir.ml" +# 12077 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11889,7 +12114,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 11893 "parser_cocci_menhir.ml" +# 12118 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_comma_list_d_ident_ = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11902,7 +12127,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11906 "parser_cocci_menhir.ml" +# 12131 "parser_cocci_menhir.ml" in let s = @@ -11910,18 +12135,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 11914 "parser_cocci_menhir.ml" +# 12139 "parser_cocci_menhir.ml" in -# 998 "parser_cocci_menhir.mly" +# 1008 "parser_cocci_menhir.mly" ( List.map (function (id,fn) -> let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv))) d ) -# 11925 "parser_cocci_menhir.ml" +# 12150 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -11962,13 +12187,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 11966 "parser_cocci_menhir.ml" +# 12191 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 11972 "parser_cocci_menhir.ml" +# 12197 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -11978,24 +12203,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 11982 "parser_cocci_menhir.ml" +# 12207 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 11989 "parser_cocci_menhir.ml" +# 12214 "parser_cocci_menhir.ml" in -# 1006 "parser_cocci_menhir.mly" +# 1016 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv))] ) -# 11999 "parser_cocci_menhir.ml" +# 12224 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12041,13 +12266,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 12045 "parser_cocci_menhir.ml" +# 12270 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 12051 "parser_cocci_menhir.ml" +# 12276 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -12059,24 +12284,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12063 "parser_cocci_menhir.ml" +# 12288 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 12070 "parser_cocci_menhir.ml" +# 12295 "parser_cocci_menhir.ml" in -# 1006 "parser_cocci_menhir.mly" +# 1016 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv))] ) -# 12080 "parser_cocci_menhir.ml" +# 12305 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12122,13 +12347,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 12126 "parser_cocci_menhir.ml" +# 12351 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 12132 "parser_cocci_menhir.ml" +# 12357 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -12139,7 +12364,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12143 "parser_cocci_menhir.ml" +# 12368 "parser_cocci_menhir.ml" in let s = @@ -12147,17 +12372,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12151 "parser_cocci_menhir.ml" +# 12376 "parser_cocci_menhir.ml" in -# 1006 "parser_cocci_menhir.mly" +# 1016 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv))] ) -# 12161 "parser_cocci_menhir.ml" +# 12386 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12208,13 +12433,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 12212 "parser_cocci_menhir.ml" +# 12437 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 12218 "parser_cocci_menhir.ml" +# 12443 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -12227,7 +12452,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12231 "parser_cocci_menhir.ml" +# 12456 "parser_cocci_menhir.ml" in let s = @@ -12235,17 +12460,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12239 "parser_cocci_menhir.ml" +# 12464 "parser_cocci_menhir.ml" in -# 1006 "parser_cocci_menhir.mly" +# 1016 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in [Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv))] ) -# 12249 "parser_cocci_menhir.ml" +# 12474 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12306,34 +12531,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 12310 "parser_cocci_menhir.ml" +# 12535 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 12315 "parser_cocci_menhir.ml" +# 12540 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 12321 "parser_cocci_menhir.ml" +# 12546 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 12326 "parser_cocci_menhir.ml" +# 12551 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 12332 "parser_cocci_menhir.ml" +# 12557 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 12337 "parser_cocci_menhir.ml" +# 12562 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -12342,11 +12567,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12346 "parser_cocci_menhir.ml" +# 12571 "parser_cocci_menhir.ml" in -# 1016 "parser_cocci_menhir.mly" +# 1026 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12354,7 +12579,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] ) -# 12358 "parser_cocci_menhir.ml" +# 12583 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12420,34 +12645,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 12424 "parser_cocci_menhir.ml" +# 12649 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 12429 "parser_cocci_menhir.ml" +# 12654 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 12435 "parser_cocci_menhir.ml" +# 12660 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 12440 "parser_cocci_menhir.ml" +# 12665 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 12446 "parser_cocci_menhir.ml" +# 12671 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 12451 "parser_cocci_menhir.ml" +# 12676 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -12458,11 +12683,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12462 "parser_cocci_menhir.ml" +# 12687 "parser_cocci_menhir.ml" in -# 1016 "parser_cocci_menhir.mly" +# 1026 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12470,7 +12695,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in [Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv))] ) -# 12474 "parser_cocci_menhir.ml" +# 12699 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12511,27 +12736,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _5 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 12515 "parser_cocci_menhir.ml" +# 12740 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 12520 "parser_cocci_menhir.ml" +# 12745 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 12526 "parser_cocci_menhir.ml" +# 12751 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_decl_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_decl_var = -# 1024 "parser_cocci_menhir.mly" +# 1034 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5))] ) -# 12535 "parser_cocci_menhir.ml" +# 12760 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12602,40 +12827,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 12606 "parser_cocci_menhir.ml" +# 12831 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 12612 "parser_cocci_menhir.ml" +# 12837 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 12617 "parser_cocci_menhir.ml" +# 12842 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 12623 "parser_cocci_menhir.ml" +# 12848 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 12628 "parser_cocci_menhir.ml" +# 12853 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 12634 "parser_cocci_menhir.ml" +# 12859 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 12639 "parser_cocci_menhir.ml" +# 12864 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -12644,11 +12869,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 12648 "parser_cocci_menhir.ml" +# 12873 "parser_cocci_menhir.ml" in -# 1030 "parser_cocci_menhir.mly" +# 1040 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12656,7 +12881,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 12660 "parser_cocci_menhir.ml" +# 12885 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12732,40 +12957,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 12736 "parser_cocci_menhir.ml" +# 12961 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 12742 "parser_cocci_menhir.ml" +# 12967 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 12747 "parser_cocci_menhir.ml" +# 12972 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 12753 "parser_cocci_menhir.ml" +# 12978 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 12758 "parser_cocci_menhir.ml" +# 12983 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 12764 "parser_cocci_menhir.ml" +# 12989 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 12769 "parser_cocci_menhir.ml" +# 12994 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -12776,11 +13001,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 12780 "parser_cocci_menhir.ml" +# 13005 "parser_cocci_menhir.ml" in -# 1030 "parser_cocci_menhir.mly" +# 1040 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -12788,7 +13013,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in [Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))]) -# 12792 "parser_cocci_menhir.ml" +# 13017 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12824,25 +13049,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 12828 "parser_cocci_menhir.ml" +# 13053 "parser_cocci_menhir.ml" ) = Obj.magic pv in let id : 'tv_comma_list_typedef_ident_ = Obj.magic id in let t : 'tv_typedef_ctype = Obj.magic t in let s : ( # 55 "parser_cocci_menhir.mly" (Data.clt) -# 12835 "parser_cocci_menhir.ml" +# 13060 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_pv_ in let _v : 'tv_decl_var = -# 1038 "parser_cocci_menhir.mly" +# 1048 "parser_cocci_menhir.mly" ( let s = P.clt2mcode "typedef" s in List.map (function id -> Ast0.wrap(Ast0.Typedef(s,t,id,P.clt2mcode ";" pv))) id ) -# 12846 "parser_cocci_menhir.ml" +# 13071 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12864,13 +13089,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_define_param_list = -# 755 "parser_cocci_menhir.mly" +# 764 "parser_cocci_menhir.mly" (let circle x = match Ast0.unwrap x with Ast0.DPcircles(_) -> true | _ -> false in if List.exists circle _1 then Ast0.wrap(Ast0.CIRCLES(_1)) else Ast0.wrap(Ast0.DOTS(_1)) ) -# 12874 "parser_cocci_menhir.ml" +# 13099 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12892,9 +13117,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_define_param_list_option = -# 779 "parser_cocci_menhir.mly" +# 788 "parser_cocci_menhir.mly" ( _1 ) -# 12898 "parser_cocci_menhir.ml" +# 13123 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12909,9 +13134,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_define_param_list_option = -# 780 "parser_cocci_menhir.mly" +# 789 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS([])) ) -# 12915 "parser_cocci_menhir.ml" +# 13140 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12933,9 +13158,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_define_param_list_start = -# 762 "parser_cocci_menhir.mly" +# 771 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.DParam _1)] ) -# 12939 "parser_cocci_menhir.ml" +# 13164 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -12967,16 +13192,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 12971 "parser_cocci_menhir.ml" +# 13196 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_define_param_list_start = -# 764 "parser_cocci_menhir.mly" +# 773 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DParam _1):: Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _2))::_3 ) -# 12980 "parser_cocci_menhir.ml" +# 13205 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13003,15 +13228,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 13007 "parser_cocci_menhir.ml" +# 13232 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_define_param_list_start = -# 767 "parser_cocci_menhir.mly" +# 776 "parser_cocci_menhir.mly" ( (P.mkdpdots "..." d):: (List.concat (List.map (function x -> x (P.mkdpdots "...")) r)) ) -# 13015 "parser_cocci_menhir.ml" +# 13240 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13032,12 +13257,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 84 "parser_cocci_menhir.mly" (Data.clt * token) -# 13036 "parser_cocci_menhir.ml" +# 13261 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_defineop = -# 714 "parser_cocci_menhir.mly" +# 723 "parser_cocci_menhir.mly" ( let (clt,ident) = _1 in function body -> Ast0.wrap @@ -13054,7 +13279,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct "unexpected name for a #define")), Ast0.wrap Ast0.NoParams, body)) ) -# 13058 "parser_cocci_menhir.ml" +# 13283 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13085,18 +13310,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 13089 "parser_cocci_menhir.ml" +# 13314 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_define_param_list_option = Obj.magic _2 in let _1 : ( # 85 "parser_cocci_menhir.mly" (Data.clt * token * int * int) -# 13095 "parser_cocci_menhir.ml" +# 13320 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_defineop = -# 731 "parser_cocci_menhir.mly" +# 740 "parser_cocci_menhir.mly" ( let (clt,ident,parenoff,parencol) = _1 in (* clt is the start of the #define itself *) let (arity,line,lline,offset,col,strbef,straft,pos) = clt in @@ -13117,7 +13342,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Semantic_cocci.Semantic "unexpected name for a #define")), Ast0.wrap (Ast0.DParams (lp,_2,P.clt2mcode ")" _3)),body)) ) -# 13121 "parser_cocci_menhir.ml" +# 13346 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13141,7 +13366,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_dep = # 230 "parser_cocci_menhir.mly" ( _1 ) -# 13145 "parser_cocci_menhir.ml" +# 13370 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13175,7 +13400,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_dep = # 231 "parser_cocci_menhir.mly" ( Ast.AndDep(_1, _3) ) -# 13179 "parser_cocci_menhir.ml" +# 13404 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13209,7 +13434,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_dep = # 232 "parser_cocci_menhir.mly" ( Ast.OrDep (_1, _3) ) -# 13213 "parser_cocci_menhir.ml" +# 13438 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13226,7 +13451,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_depends = # 226 "parser_cocci_menhir.mly" ( Ast.NoDep ) -# 13230 "parser_cocci_menhir.ml" +# 13455 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13258,7 +13483,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_depends = # 227 "parser_cocci_menhir.mly" ( parents ) -# 13262 "parser_cocci_menhir.ml" +# 13487 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13285,14 +13510,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 13289 "parser_cocci_menhir.ml" +# 13514 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_designator = -# 1139 "parser_cocci_menhir.mly" +# 1150 "parser_cocci_menhir.mly" ( Ast0.DesignatorField (P.clt2mcode "." _1,_2) ) -# 13296 "parser_cocci_menhir.ml" +# 13521 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13323,20 +13548,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 13327 "parser_cocci_menhir.ml" +# 13552 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 13333 "parser_cocci_menhir.ml" +# 13558 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_designator = -# 1141 "parser_cocci_menhir.mly" +# 1152 "parser_cocci_menhir.mly" ( Ast0.DesignatorIndex (P.clt2mcode "[" _1,_2,P.clt2mcode "]" _3) ) -# 13340 "parser_cocci_menhir.ml" +# 13565 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13377,27 +13602,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _5 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 13381 "parser_cocci_menhir.ml" +# 13606 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : 'tv_eexpr = Obj.magic _4 in let _3 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 13387 "parser_cocci_menhir.ml" +# 13612 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 13393 "parser_cocci_menhir.ml" +# 13618 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_designator = -# 1143 "parser_cocci_menhir.mly" +# 1154 "parser_cocci_menhir.mly" ( Ast0.DesignatorRange (P.clt2mcode "[" _1,_2,P.clt2mcode "..." _3, _4,P.clt2mcode "]" _5) ) -# 13401 "parser_cocci_menhir.ml" +# 13626 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13419,9 +13644,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dexpr = -# 1246 "parser_cocci_menhir.mly" +# 1257 "parser_cocci_menhir.mly" ( _1 ) -# 13425 "parser_cocci_menhir.ml" +# 13650 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13449,7 +13674,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_disable = # 245 "parser_cocci_menhir.mly" ( List.map P.id2name _2 ) -# 13453 "parser_cocci_menhir.ml" +# 13678 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13470,14 +13695,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 13474 "parser_cocci_menhir.ml" +# 13699 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1255 "parser_cocci_menhir.mly" +# 1266 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Edots(P.clt2mcode "..." _1,None)) ) -# 13481 "parser_cocci_menhir.ml" +# 13706 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13499,9 +13724,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_dot_expressions = -# 1256 "parser_cocci_menhir.mly" +# 1267 "parser_cocci_menhir.mly" ( _1 ) -# 13505 "parser_cocci_menhir.ml" +# 13730 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13527,20 +13752,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 13531 "parser_cocci_menhir.ml" +# 13756 "parser_cocci_menhir.ml" ) = Obj.magic d in let c : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 13536 "parser_cocci_menhir.ml" +# 13761 "parser_cocci_menhir.ml" ) = Obj.magic c in let _startpos = _startpos_c_ in let _endpos = _endpos_d_ in let _v : 'tv_dp_comma_args_TEllipsis_ = -# 772 "parser_cocci_menhir.mly" +# 781 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," c)); dot_builder d] ) -# 13544 "parser_cocci_menhir.ml" +# 13769 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13567,16 +13792,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 13571 "parser_cocci_menhir.ml" +# 13796 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_dp_comma_args_TEllipsis_ = -# 775 "parser_cocci_menhir.mly" +# 784 "parser_cocci_menhir.mly" ( function dot_builder -> [Ast0.wrap(Ast0.DPComma(P.clt2mcode "," _1)); Ast0.wrap(Ast0.DParam _2)] ) -# 13580 "parser_cocci_menhir.ml" +# 13805 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13597,14 +13822,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 13601 "parser_cocci_menhir.ml" +# 13826 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_edots_when_TEllipsis_eexpr_ = -# 1986 "parser_cocci_menhir.mly" +# 1999 "parser_cocci_menhir.mly" ( (d,None) ) -# 13608 "parser_cocci_menhir.ml" +# 13833 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13643,14 +13868,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 13647 "parser_cocci_menhir.ml" +# 13872 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__5_ in let _v : 'tv_edots_when_TEllipsis_eexpr_ = -# 1987 "parser_cocci_menhir.mly" +# 2000 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 13654 "parser_cocci_menhir.ml" +# 13879 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13671,14 +13896,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 13675 "parser_cocci_menhir.ml" +# 13900 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_edots_when_TEllipsis_initialize_ = -# 1986 "parser_cocci_menhir.mly" +# 1999 "parser_cocci_menhir.mly" ( (d,None) ) -# 13682 "parser_cocci_menhir.ml" +# 13907 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13717,14 +13942,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 13721 "parser_cocci_menhir.ml" +# 13946 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__5_ in let _v : 'tv_edots_when_TEllipsis_initialize_ = -# 1987 "parser_cocci_menhir.mly" +# 2000 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 13728 "parser_cocci_menhir.ml" +# 13953 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13745,14 +13970,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 13749 "parser_cocci_menhir.ml" +# 13974 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos_d_ in let _v : 'tv_edots_when_TEllipsis_struct_decl_ = -# 1986 "parser_cocci_menhir.mly" +# 1999 "parser_cocci_menhir.mly" ( (d,None) ) -# 13756 "parser_cocci_menhir.ml" +# 13981 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13791,14 +14016,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let d : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 13795 "parser_cocci_menhir.ml" +# 14020 "parser_cocci_menhir.ml" ) = Obj.magic d in let _startpos = _startpos_d_ in let _endpos = _endpos__5_ in let _v : 'tv_edots_when_TEllipsis_struct_decl_ = -# 1987 "parser_cocci_menhir.mly" +# 2000 "parser_cocci_menhir.mly" ( (d,Some w) ) -# 13802 "parser_cocci_menhir.ml" +# 14027 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13820,9 +14045,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr = -# 1244 "parser_cocci_menhir.mly" +# 1255 "parser_cocci_menhir.mly" ( _1 ) -# 13826 "parser_cocci_menhir.ml" +# 14051 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13844,7 +14069,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr_list = -# 1929 "parser_cocci_menhir.mly" +# 1942 "parser_cocci_menhir.mly" (let circle x = match Ast0.unwrap x with Ast0.Ecircles(_) -> true | _ -> false in let star x = @@ -13855,7 +14080,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct if List.exists star _1 then Ast0.wrap(Ast0.STARS(_1)) else Ast0.wrap(Ast0.DOTS(_1)) ) -# 13859 "parser_cocci_menhir.ml" +# 14084 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13877,9 +14102,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr_list_option = -# 1969 "parser_cocci_menhir.mly" +# 1982 "parser_cocci_menhir.mly" ( _1 ) -# 13883 "parser_cocci_menhir.ml" +# 14108 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13894,9 +14119,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_eexpr_list_option = -# 1970 "parser_cocci_menhir.mly" +# 1983 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS([])) ) -# 13900 "parser_cocci_menhir.ml" +# 14125 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13918,9 +14143,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_eexpr_list_start = -# 1957 "parser_cocci_menhir.mly" +# 1970 "parser_cocci_menhir.mly" ( [_1] ) -# 13924 "parser_cocci_menhir.ml" +# 14149 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13952,15 +14177,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 13956 "parser_cocci_menhir.ml" +# 14181 "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_eexpr_list_start = -# 1959 "parser_cocci_menhir.mly" +# 1972 "parser_cocci_menhir.mly" ( _1::Ast0.wrap(Ast0.EComma(P.clt2mcode "," _2))::_3 ) -# 13964 "parser_cocci_menhir.ml" +# 14189 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -13982,7 +14207,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_exists = # 248 "parser_cocci_menhir.mly" ( Ast.Exists ) -# 13986 "parser_cocci_menhir.ml" +# 14211 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14004,7 +14229,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_exists = # 249 "parser_cocci_menhir.mly" ( Ast.Forall ) -# 14008 "parser_cocci_menhir.ml" +# 14233 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14021,7 +14246,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_exists = # 250 "parser_cocci_menhir.mly" ( Ast.Undetermined ) -# 14025 "parser_cocci_menhir.ml" +# 14250 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14043,9 +14268,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_expr = -# 1242 "parser_cocci_menhir.mly" +# 1253 "parser_cocci_menhir.mly" ( _1 ) -# 14049 "parser_cocci_menhir.ml" +# 14274 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14067,9 +14292,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_r_ in let _endpos = _endpos_r_ in let _v : 'tv_expr_dots_TEllipsis_ = -# 1424 "parser_cocci_menhir.mly" +# 1437 "parser_cocci_menhir.mly" ( r ) -# 14073 "parser_cocci_menhir.ml" +# 14298 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14086,7 +14311,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_extends = # 221 "parser_cocci_menhir.mly" ( () ) -# 14090 "parser_cocci_menhir.ml" +# 14315 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14111,14 +14336,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let parent : ( # 49 "parser_cocci_menhir.mly" (string) -# 14115 "parser_cocci_menhir.ml" +# 14340 "parser_cocci_menhir.ml" ) = Obj.magic parent in let _startpos = _startpos__1_ in let _endpos = _endpos_parent_ in let _v : 'tv_extends = # 223 "parser_cocci_menhir.mly" ( !Data.install_bindings (parent) ) -# 14122 "parser_cocci_menhir.ml" +# 14347 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14144,21 +14369,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 86 "parser_cocci_menhir.mly" (string * Data.clt) -# 14148 "parser_cocci_menhir.ml" +# 14373 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 86 "parser_cocci_menhir.mly" (string * Data.clt) -# 14153 "parser_cocci_menhir.ml" +# 14378 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_filespec = -# 669 "parser_cocci_menhir.mly" +# 678 "parser_cocci_menhir.mly" ( [Ast0.wrap (Ast0.FILEINFO(P.id2mcode _1, P.id2mcode _2))] ) -# 14162 "parser_cocci_menhir.ml" +# 14387 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14173,9 +14398,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fninfo = -# 808 "parser_cocci_menhir.mly" +# 817 "parser_cocci_menhir.mly" ( [] ) -# 14179 "parser_cocci_menhir.ml" +# 14404 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14203,13 +14428,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 810 "parser_cocci_menhir.mly" +# 819 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate storage") with Not_found -> (Ast0.FStorage(_1))::_2 ) -# 14213 "parser_cocci_menhir.ml" +# 14438 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14237,9 +14462,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_r_ in let _v : 'tv_fninfo = -# 815 "parser_cocci_menhir.mly" +# 824 "parser_cocci_menhir.mly" ( (Ast0.FType(t))::r ) -# 14243 "parser_cocci_menhir.ml" +# 14468 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14266,17 +14491,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 55 "parser_cocci_menhir.mly" (Data.clt) -# 14270 "parser_cocci_menhir.ml" +# 14495 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 817 "parser_cocci_menhir.mly" +# 826 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate inline") with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 ) -# 14280 "parser_cocci_menhir.ml" +# 14505 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14303,17 +14528,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 57 "parser_cocci_menhir.mly" (string * Data.clt) -# 14307 "parser_cocci_menhir.ml" +# 14532 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo = -# 822 "parser_cocci_menhir.mly" +# 831 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "multiple attributes") with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 ) -# 14317 "parser_cocci_menhir.ml" +# 14542 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14328,9 +14553,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fninfo_nt = -# 828 "parser_cocci_menhir.mly" +# 837 "parser_cocci_menhir.mly" ( [] ) -# 14334 "parser_cocci_menhir.ml" +# 14559 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14358,13 +14583,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 830 "parser_cocci_menhir.mly" +# 839 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FStorage(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate storage") with Not_found -> (Ast0.FStorage(_1))::_2 ) -# 14368 "parser_cocci_menhir.ml" +# 14593 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14391,17 +14616,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 55 "parser_cocci_menhir.mly" (Data.clt) -# 14395 "parser_cocci_menhir.ml" +# 14620 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 836 "parser_cocci_menhir.mly" +# 845 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FInline(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate inline") with Not_found -> (Ast0.FInline(P.clt2mcode "inline" _1))::_2 ) -# 14405 "parser_cocci_menhir.ml" +# 14630 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14428,17 +14653,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 57 "parser_cocci_menhir.mly" (string * Data.clt) -# 14432 "parser_cocci_menhir.ml" +# 14657 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fninfo_nt = -# 841 "parser_cocci_menhir.mly" +# 850 "parser_cocci_menhir.mly" ( try let _ = List.find (function Ast0.FAttr(_) -> true | _ -> false) _2 in raise (Semantic_cocci.Semantic "duplicate init") with Not_found -> (Ast0.FAttr(P.id2mcode _1))::_2 ) -# 14442 "parser_cocci_menhir.ml" +# 14667 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14453,9 +14678,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_dots = -# 1877 "parser_cocci_menhir.mly" +# 1890 "parser_cocci_menhir.mly" ([]) -# 14459 "parser_cocci_menhir.ml" +# 14684 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14481,9 +14706,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1878 "parser_cocci_menhir.mly" +# 1891 "parser_cocci_menhir.mly" (_2) -# 14487 "parser_cocci_menhir.ml" +# 14712 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14511,9 +14736,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1879 "parser_cocci_menhir.mly" +# 1892 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) -# 14517 "parser_cocci_menhir.ml" +# 14742 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14541,9 +14766,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots = -# 1880 "parser_cocci_menhir.mly" +# 1893 "parser_cocci_menhir.mly" (_1@_2) -# 14547 "parser_cocci_menhir.ml" +# 14772 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14558,9 +14783,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_dots_or = -# 1887 "parser_cocci_menhir.mly" +# 1900 "parser_cocci_menhir.mly" ([]) -# 14564 "parser_cocci_menhir.ml" +# 14789 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14586,9 +14811,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1888 "parser_cocci_menhir.mly" +# 1901 "parser_cocci_menhir.mly" (_2) -# 14592 "parser_cocci_menhir.ml" +# 14817 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14616,9 +14841,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1889 "parser_cocci_menhir.mly" +# 1902 "parser_cocci_menhir.mly" (Ast0.wrap(Ast0.Exp(_1))::_2) -# 14622 "parser_cocci_menhir.ml" +# 14847 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14646,9 +14871,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_dots_or = -# 1890 "parser_cocci_menhir.mly" +# 1903 "parser_cocci_menhir.mly" (_1@_2) -# 14652 "parser_cocci_menhir.ml" +# 14877 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14676,9 +14901,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp = -# 1883 "parser_cocci_menhir.mly" +# 1896 "parser_cocci_menhir.mly" (_1::_2) -# 14682 "parser_cocci_menhir.ml" +# 14907 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14693,9 +14918,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_exp_or = -# 1893 "parser_cocci_menhir.mly" +# 1906 "parser_cocci_menhir.mly" ([]) -# 14699 "parser_cocci_menhir.ml" +# 14924 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14723,9 +14948,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_exp_or = -# 1894 "parser_cocci_menhir.mly" +# 1907 "parser_cocci_menhir.mly" (_1::_2) -# 14729 "parser_cocci_menhir.ml" +# 14954 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14740,9 +14965,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_fun_after_stm = -# 1872 "parser_cocci_menhir.mly" +# 1885 "parser_cocci_menhir.mly" ([]) -# 14746 "parser_cocci_menhir.ml" +# 14971 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14770,9 +14995,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 1873 "parser_cocci_menhir.mly" +# 1886 "parser_cocci_menhir.mly" (_1::_2) -# 14776 "parser_cocci_menhir.ml" +# 15001 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14800,9 +15025,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_fun_after_stm = -# 1874 "parser_cocci_menhir.mly" +# 1887 "parser_cocci_menhir.mly" (_1@_2) -# 14806 "parser_cocci_menhir.ml" +# 15031 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14824,9 +15049,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_fun_start = -# 1869 "parser_cocci_menhir.mly" +# 1882 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 14830 "parser_cocci_menhir.ml" +# 15055 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14848,9 +15073,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1666 "parser_cocci_menhir.mly" +# 1679 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 14854 "parser_cocci_menhir.ml" +# 15079 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14871,15 +15096,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 64 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 14875 "parser_cocci_menhir.ml" +# 15100 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1668 "parser_cocci_menhir.mly" +# 1681 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 14883 "parser_cocci_menhir.ml" +# 15108 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14900,15 +15125,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 64 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 14904 "parser_cocci_menhir.ml" +# 15129 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1671 "parser_cocci_menhir.mly" +# 1684 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 14912 "parser_cocci_menhir.ml" +# 15137 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14929,16 +15154,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 64 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 14933 "parser_cocci_menhir.ml" +# 15158 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_func_ident = -# 1674 "parser_cocci_menhir.mly" +# 1687 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap (Ast0.MetaLocalFunc(P.clt2mcode nm clt,constraints,pure)) ) -# 14942 "parser_cocci_menhir.ml" +# 15167 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -14998,31 +15223,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rb : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 15002 "parser_cocci_menhir.ml" +# 15227 "parser_cocci_menhir.ml" ) = Obj.magic rb in let b : 'tv_fun_start = Obj.magic b in let lb : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 15008 "parser_cocci_menhir.ml" +# 15233 "parser_cocci_menhir.ml" ) = Obj.magic lb in let rp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 15013 "parser_cocci_menhir.ml" +# 15238 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_decl_ = Obj.magic d in let lp : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 15019 "parser_cocci_menhir.ml" +# 15244 "parser_cocci_menhir.ml" ) = Obj.magic lp in let i : 'tv_func_ident = Obj.magic i in let f : 'tv_fninfo = Obj.magic f in let _startpos = _startpos_f_ in let _endpos = _endpos_rb_ in let _v : 'tv_fundecl = -# 799 "parser_cocci_menhir.mly" +# 808 "parser_cocci_menhir.mly" ( P.verify_parameter_declarations (Ast0.undots d); Ast0.wrap(Ast0.FunDecl((Ast0.default_info(),Ast0.context_befaft()), f, i, @@ -15030,7 +15255,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode ")" rp, P.clt2mcode "{" lb, b, P.clt2mcode "}" rb)) ) -# 15034 "parser_cocci_menhir.ml" +# 15259 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15076,18 +15301,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pt : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 15080 "parser_cocci_menhir.ml" +# 15305 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 15085 "parser_cocci_menhir.ml" +# 15310 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 15091 "parser_cocci_menhir.ml" +# 15316 "parser_cocci_menhir.ml" ) = Obj.magic lp in let id : 'tv_func_ident = Obj.magic id in let t : 'tv_ctype = Obj.magic t in @@ -15097,11 +15322,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 15101 "parser_cocci_menhir.ml" +# 15326 "parser_cocci_menhir.ml" in -# 787 "parser_cocci_menhir.mly" +# 796 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -15109,7 +15334,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.FunctionType(Some t, P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), id, P.clt2mcode ";" pt)) ) -# 15113 "parser_cocci_menhir.ml" +# 15338 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15160,18 +15385,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pt : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 15164 "parser_cocci_menhir.ml" +# 15389 "parser_cocci_menhir.ml" ) = Obj.magic pt in let rp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 15169 "parser_cocci_menhir.ml" +# 15394 "parser_cocci_menhir.ml" ) = Obj.magic rp in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 15175 "parser_cocci_menhir.ml" +# 15400 "parser_cocci_menhir.ml" ) = Obj.magic lp in let id : 'tv_func_ident = Obj.magic id in let t : 'tv_ctype = Obj.magic t in @@ -15183,11 +15408,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 15187 "parser_cocci_menhir.ml" +# 15412 "parser_cocci_menhir.ml" in -# 787 "parser_cocci_menhir.mly" +# 796 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.UnInit (s, @@ -15195,7 +15420,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (Ast0.FunctionType(Some t, P.clt2mcode "(" lp, d, P.clt2mcode ")" rp)), id, P.clt2mcode ";" pt)) ) -# 15199 "parser_cocci_menhir.ml" +# 15424 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15217,9 +15442,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1679 "parser_cocci_menhir.mly" +# 1692 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 15223 "parser_cocci_menhir.ml" +# 15448 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15240,15 +15465,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 64 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 15244 "parser_cocci_menhir.ml" +# 15469 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident = -# 1681 "parser_cocci_menhir.mly" +# 1694 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 15252 "parser_cocci_menhir.ml" +# 15477 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15270,9 +15495,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_i_ in let _v : 'tv_ident_or_const = -# 1639 "parser_cocci_menhir.mly" +# 1652 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i)))) ) -# 15276 "parser_cocci_menhir.ml" +# 15501 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15293,15 +15518,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 15297 "parser_cocci_menhir.ml" +# 15522 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_ident_or_const = -# 1641 "parser_cocci_menhir.mly" +# 1654 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 15305 "parser_cocci_menhir.ml" +# 15530 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15322,14 +15547,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 83 "parser_cocci_menhir.mly" (string * Data.clt) -# 15326 "parser_cocci_menhir.ml" +# 15551 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_incl = # 261 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Data.Include(x) ) -# 15333 "parser_cocci_menhir.ml" +# 15558 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15354,14 +15579,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 15358 "parser_cocci_menhir.ml" +# 15583 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = # 262 "parser_cocci_menhir.mly" ( Data.Iso(Common.Left(P.id2name _2)) ) -# 15365 "parser_cocci_menhir.ml" +# 15590 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15386,14 +15611,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 82 "parser_cocci_menhir.mly" (string) -# 15390 "parser_cocci_menhir.ml" +# 15615 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_incl = # 263 "parser_cocci_menhir.mly" ( Data.Iso(Common.Right _2) ) -# 15397 "parser_cocci_menhir.ml" +# 15622 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15426,7 +15651,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (function name -> Hashtbl.add Data.all_metadecls name []) names; Data.Virt(names) ) -# 15430 "parser_cocci_menhir.ml" +# 15655 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15454,11 +15679,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 151 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 15458 "parser_cocci_menhir.ml" +# 15683 "parser_cocci_menhir.ml" ) = # 257 "parser_cocci_menhir.mly" ( _1 ) -# 15462 "parser_cocci_menhir.ml" +# 15687 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15486,11 +15711,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 151 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 15490 "parser_cocci_menhir.ml" +# 15715 "parser_cocci_menhir.ml" ) = # 258 "parser_cocci_menhir.mly" ( _1 ) -# 15494 "parser_cocci_menhir.ml" +# 15719 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15511,12 +15736,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 83 "parser_cocci_menhir.mly" (string * Data.clt) -# 15515 "parser_cocci_menhir.ml" +# 15740 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 675 "parser_cocci_menhir.mly" +# 684 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -15527,7 +15752,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode (Ast.Local (Parse_aux.str2inc (P.id2name _1))) (P.drop_bef clt))) ) -# 15531 "parser_cocci_menhir.ml" +# 15756 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15548,12 +15773,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 83 "parser_cocci_menhir.mly" (string * Data.clt) -# 15552 "parser_cocci_menhir.ml" +# 15777 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_includes = -# 686 "parser_cocci_menhir.mly" +# 695 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.Include(P.clt2mcode "#include" (P.drop_pos (P.drop_aft (P.id2clt _1))), @@ -15564,7 +15789,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.clt2mcode (Ast.NonLocal (Parse_aux.str2inc (P.id2name _1))) (P.drop_bef clt))) ) -# 15568 "parser_cocci_menhir.ml" +# 15793 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15590,9 +15815,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__2_ in let _v : 'tv_includes = -# 697 "parser_cocci_menhir.mly" +# 706 "parser_cocci_menhir.mly" ( d (Ast0.wrap(Ast0.DOTS([]))) ) -# 15596 "parser_cocci_menhir.ml" +# 15821 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15624,10 +15849,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 699 "parser_cocci_menhir.mly" +# 708 "parser_cocci_menhir.mly" ( let ty = Ast0.wrap(Ast0.TopExp(Ast0.wrap(Ast0.TypeExp(t)))) in d (Ast0.wrap(Ast0.DOTS([ty]))) ) -# 15631 "parser_cocci_menhir.ml" +# 15856 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15659,7 +15884,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_includes = -# 702 "parser_cocci_menhir.mly" +# 711 "parser_cocci_menhir.mly" ( let body = match b with [e] -> @@ -15669,7 +15894,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | _ -> b) | _ -> b in _1 (Ast0.wrap(Ast0.DOTS(body))) ) -# 15673 "parser_cocci_menhir.ml" +# 15898 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15691,9 +15916,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1110 "parser_cocci_menhir.mly" +# 1121 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) -# 15697 "parser_cocci_menhir.ml" +# 15922 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15724,20 +15949,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 15728 "parser_cocci_menhir.ml" +# 15953 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 15734 "parser_cocci_menhir.ml" +# 15959 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize = -# 1112 "parser_cocci_menhir.mly" +# 1123 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) ) -# 15741 "parser_cocci_menhir.ml" +# 15966 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15763,21 +15988,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 15767 "parser_cocci_menhir.ml" +# 15992 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 15772 "parser_cocci_menhir.ml" +# 15997 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_initialize = -# 1114 "parser_cocci_menhir.mly" +# 1125 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []), P.clt2mcode "}" _2)) ) -# 15781 "parser_cocci_menhir.ml" +# 16006 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15798,15 +16023,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 68 "parser_cocci_menhir.mly" (Parse_aux.info) -# 15802 "parser_cocci_menhir.ml" +# 16027 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize = -# 1118 "parser_cocci_menhir.mly" +# 1129 "parser_cocci_menhir.mly" (let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaInit(P.clt2mcode nm clt,pure)) ) -# 15810 "parser_cocci_menhir.ml" +# 16035 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15828,9 +16053,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize2 = -# 1124 "parser_cocci_menhir.mly" +# 1135 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitExpr(_1)) ) -# 15834 "parser_cocci_menhir.ml" +# 16059 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15861,20 +16086,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 15865 "parser_cocci_menhir.ml" +# 16090 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 15871 "parser_cocci_menhir.ml" +# 16096 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1126 "parser_cocci_menhir.mly" +# 1137 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) ) -# 15878 "parser_cocci_menhir.ml" +# 16103 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15900,21 +16125,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 15904 "parser_cocci_menhir.ml" +# 16129 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 15909 "parser_cocci_menhir.ml" +# 16134 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_initialize2 = -# 1128 "parser_cocci_menhir.mly" +# 1139 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.InitList(P.clt2mcode "{" _1,Ast0.wrap(Ast0.DOTS []), P.clt2mcode "}" _2)) ) -# 15918 "parser_cocci_menhir.ml" +# 16143 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15946,15 +16171,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 15950 "parser_cocci_menhir.ml" +# 16175 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_list_designator_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1133 "parser_cocci_menhir.mly" +# 1144 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccExt(_1,P.clt2mcode "=" _2,_3)) ) -# 15958 "parser_cocci_menhir.ml" +# 16183 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -15986,15 +16211,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 15990 "parser_cocci_menhir.ml" +# 16215 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize2 = -# 1135 "parser_cocci_menhir.mly" +# 1146 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitGccName(_1,P.clt2mcode ":" _2,_3)) ) -# 15998 "parser_cocci_menhir.ml" +# 16223 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16016,9 +16241,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_initialize_list = -# 1147 "parser_cocci_menhir.mly" +# 1158 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 16022 "parser_cocci_menhir.ml" +# 16247 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16044,15 +16269,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 16048 "parser_cocci_menhir.ml" +# 16273 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_initialize2 = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_initialize_list_start = -# 1150 "parser_cocci_menhir.mly" +# 1161 "parser_cocci_menhir.mly" ( [_1;Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))] ) -# 16056 "parser_cocci_menhir.ml" +# 16281 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16084,15 +16309,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 16088 "parser_cocci_menhir.ml" +# 16313 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_initialize2 = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_initialize_list_start = -# 1152 "parser_cocci_menhir.mly" +# 1163 "parser_cocci_menhir.mly" ( _1::Ast0.wrap(Ast0.IComma(P.clt2mcode "," _2))::_3 ) -# 16096 "parser_cocci_menhir.ml" +# 16321 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16118,9 +16343,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_initialize_list_start = -# 1154 "parser_cocci_menhir.mly" +# 1165 "parser_cocci_menhir.mly" ( _2 ) -# 16124 "parser_cocci_menhir.ml" +# 16349 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16148,10 +16373,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_initialize_list_start = -# 1157 "parser_cocci_menhir.mly" +# 1168 "parser_cocci_menhir.mly" ( (P.mkidots "..." d):: (List.concat(List.map (function x -> x (P.mkidots "...")) r)) ) -# 16155 "parser_cocci_menhir.ml" +# 16380 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16171,9 +16396,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_invalid = -# 1252 "parser_cocci_menhir.mly" +# 1263 "parser_cocci_menhir.mly" ( raise (Semantic_cocci.Semantic "not matchable") ) -# 16177 "parser_cocci_menhir.ml" +# 16402 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16190,7 +16415,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_is_expression = # 253 "parser_cocci_menhir.mly" ( false ) -# 16194 "parser_cocci_menhir.ml" +# 16419 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16212,7 +16437,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_is_expression = # 254 "parser_cocci_menhir.mly" ( true ) -# 16216 "parser_cocci_menhir.ml" +# 16441 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16238,9 +16463,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 2042 "parser_cocci_menhir.mly" +# 2055 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16244 "parser_cocci_menhir.ml" +# 16469 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16266,9 +16491,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_ctype_ = -# 2043 "parser_cocci_menhir.mly" +# 2056 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16272 "parser_cocci_menhir.ml" +# 16497 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16294,9 +16519,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 2042 "parser_cocci_menhir.mly" +# 2055 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16300 "parser_cocci_menhir.ml" +# 16525 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16322,9 +16547,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_decl_var_ = -# 2043 "parser_cocci_menhir.mly" +# 2056 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16328 "parser_cocci_menhir.ml" +# 16553 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16350,9 +16575,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_eexpr_ = -# 2042 "parser_cocci_menhir.mly" +# 2055 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16356 "parser_cocci_menhir.ml" +# 16581 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16378,9 +16603,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_eexpr_ = -# 2043 "parser_cocci_menhir.mly" +# 2056 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16384 "parser_cocci_menhir.ml" +# 16609 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16406,9 +16631,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 2042 "parser_cocci_menhir.mly" +# 2055 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16412 "parser_cocci_menhir.ml" +# 16637 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16434,9 +16659,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_nest_start_ = -# 2043 "parser_cocci_menhir.mly" +# 2056 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16440 "parser_cocci_menhir.ml" +# 16665 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16462,9 +16687,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 2042 "parser_cocci_menhir.mly" +# 2055 "parser_cocci_menhir.mly" ( Common.Left t ) -# 16468 "parser_cocci_menhir.ml" +# 16693 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16490,9 +16715,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_t_ in let _v : 'tv_iso_single_statement_ = -# 2043 "parser_cocci_menhir.mly" +# 2056 "parser_cocci_menhir.mly" ( Common.Right t ) -# 16496 "parser_cocci_menhir.ml" +# 16721 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16530,11 +16755,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 167 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16534 "parser_cocci_menhir.ml" +# 16759 "parser_cocci_menhir.ml" ) = -# 2010 "parser_cocci_menhir.mly" +# 2023 "parser_cocci_menhir.mly" ( let fn x = Ast0.ExprTag x in P.iso_adjust fn fn e1 el ) -# 16538 "parser_cocci_menhir.ml" +# 16763 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16572,11 +16797,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 167 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16576 "parser_cocci_menhir.ml" +# 16801 "parser_cocci_menhir.ml" ) = -# 2012 "parser_cocci_menhir.mly" +# 2025 "parser_cocci_menhir.mly" ( let fn x = Ast0.ArgExprTag x in P.iso_adjust fn fn e1 el ) -# 16580 "parser_cocci_menhir.ml" +# 16805 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16614,11 +16839,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 167 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16618 "parser_cocci_menhir.ml" +# 16843 "parser_cocci_menhir.ml" ) = -# 2014 "parser_cocci_menhir.mly" +# 2027 "parser_cocci_menhir.mly" ( let fn x = Ast0.TestExprTag x in P.iso_adjust fn fn e1 el ) -# 16622 "parser_cocci_menhir.ml" +# 16847 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16656,13 +16881,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 167 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16660 "parser_cocci_menhir.ml" +# 16885 "parser_cocci_menhir.ml" ) = -# 2016 "parser_cocci_menhir.mly" +# 2029 "parser_cocci_menhir.mly" ( let ffn x = Ast0.ExprTag x in let fn x = Ast0.TestExprTag x in P.iso_adjust ffn fn e1 el ) -# 16666 "parser_cocci_menhir.ml" +# 16891 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16700,11 +16925,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 167 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16704 "parser_cocci_menhir.ml" +# 16929 "parser_cocci_menhir.ml" ) = -# 2020 "parser_cocci_menhir.mly" +# 2033 "parser_cocci_menhir.mly" ( let fn x = Ast0.StmtTag x in P.iso_adjust fn fn s1 sl ) -# 16708 "parser_cocci_menhir.ml" +# 16933 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16742,11 +16967,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 167 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16746 "parser_cocci_menhir.ml" +# 16971 "parser_cocci_menhir.ml" ) = -# 2022 "parser_cocci_menhir.mly" +# 2035 "parser_cocci_menhir.mly" ( let fn x = Ast0.TypeCTag x in P.iso_adjust fn fn t1 tl ) -# 16750 "parser_cocci_menhir.ml" +# 16975 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16784,11 +17009,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 167 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16788 "parser_cocci_menhir.ml" +# 17013 "parser_cocci_menhir.ml" ) = -# 2024 "parser_cocci_menhir.mly" +# 2037 "parser_cocci_menhir.mly" ( let fn x = Ast0.DotsStmtTag x in P.iso_adjust fn fn e1 el ) -# 16792 "parser_cocci_menhir.ml" +# 17017 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16826,9 +17051,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 167 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 16830 "parser_cocci_menhir.ml" +# 17055 "parser_cocci_menhir.ml" ) = -# 2026 "parser_cocci_menhir.mly" +# 2039 "parser_cocci_menhir.mly" ( let check_one = function [x] -> x | _ -> @@ -16843,7 +17068,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 ) -# 16847 "parser_cocci_menhir.ml" +# 17072 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16867,11 +17092,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 170 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 16871 "parser_cocci_menhir.ml" +# 17096 "parser_cocci_menhir.ml" ) = # 187 "parser_cocci_menhir.mly" ( m "" ) -# 16875 "parser_cocci_menhir.ml" +# 17100 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16899,11 +17124,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 154 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 16903 "parser_cocci_menhir.ml" +# 17128 "parser_cocci_menhir.ml" ) = # 202 "parser_cocci_menhir.mly" ( P.make_iso_rule_name_result (P.id2name nm) ) -# 16907 "parser_cocci_menhir.ml" +# 17132 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16924,14 +17149,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 16928 "parser_cocci_menhir.ml" +# 17153 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1693 "parser_cocci_menhir.mly" +# 1706 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Id(P.id2mcode _1)) ) -# 16935 "parser_cocci_menhir.ml" +# 17160 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16952,15 +17177,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 65 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 16956 "parser_cocci_menhir.ml" +# 17181 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_iter_ident = -# 1695 "parser_cocci_menhir.mly" +# 1708 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaId(P.clt2mcode nm clt,constraints,pure)) ) -# 16964 "parser_cocci_menhir.ml" +# 17189 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -16977,7 +17202,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_TMul_ = # 114 "standard.mly" ( [] ) -# 16981 "parser_cocci_menhir.ml" +# 17206 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17004,14 +17229,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let x : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 17008 "parser_cocci_menhir.ml" +# 17233 "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 ) -# 17015 "parser_cocci_menhir.ml" +# 17240 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17028,7 +17253,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_array_dec_ = # 114 "standard.mly" ( [] ) -# 17032 "parser_cocci_menhir.ml" +# 17257 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17058,7 +17283,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_array_dec_ = # 116 "standard.mly" ( x :: xs ) -# 17062 "parser_cocci_menhir.ml" +# 17287 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17075,7 +17300,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_case_line_ = # 114 "standard.mly" ( [] ) -# 17079 "parser_cocci_menhir.ml" +# 17304 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17105,7 +17330,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_case_line_ = # 116 "standard.mly" ( x :: xs ) -# 17109 "parser_cocci_menhir.ml" +# 17334 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17122,7 +17347,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_comma_decls_TEllipsis_decl__ = # 114 "standard.mly" ( [] ) -# 17126 "parser_cocci_menhir.ml" +# 17351 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17152,7 +17377,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_comma_decls_TEllipsis_decl__ = # 116 "standard.mly" ( x :: xs ) -# 17156 "parser_cocci_menhir.ml" +# 17381 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17169,7 +17394,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = # 114 "standard.mly" ( [] ) -# 17173 "parser_cocci_menhir.ml" +# 17398 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17199,7 +17424,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_comma_decls_TEllipsis_name_opt_decl__ = # 116 "standard.mly" ( x :: xs ) -# 17203 "parser_cocci_menhir.ml" +# 17428 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17216,7 +17441,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_decl_var_ = # 114 "standard.mly" ( [] ) -# 17220 "parser_cocci_menhir.ml" +# 17445 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17246,7 +17471,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_decl_var_ = # 116 "standard.mly" ( x :: xs ) -# 17250 "parser_cocci_menhir.ml" +# 17475 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17263,7 +17488,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_designator_ = # 114 "standard.mly" ( [] ) -# 17267 "parser_cocci_menhir.ml" +# 17492 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17293,7 +17518,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_designator_ = # 116 "standard.mly" ( x :: xs ) -# 17297 "parser_cocci_menhir.ml" +# 17522 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17310,7 +17535,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_dp_comma_args_TEllipsis__ = # 114 "standard.mly" ( [] ) -# 17314 "parser_cocci_menhir.ml" +# 17539 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17340,7 +17565,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_dp_comma_args_TEllipsis__ = # 116 "standard.mly" ( x :: xs ) -# 17344 "parser_cocci_menhir.ml" +# 17569 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17357,7 +17582,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_incl_ = # 114 "standard.mly" ( [] ) -# 17361 "parser_cocci_menhir.ml" +# 17586 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17387,7 +17612,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_incl_ = # 116 "standard.mly" ( x :: xs ) -# 17391 "parser_cocci_menhir.ml" +# 17616 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17404,7 +17629,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_ctype__ = # 114 "standard.mly" ( [] ) -# 17408 "parser_cocci_menhir.ml" +# 17633 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17434,7 +17659,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_ctype__ = # 116 "standard.mly" ( x :: xs ) -# 17438 "parser_cocci_menhir.ml" +# 17663 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17451,7 +17676,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_decl_var__ = # 114 "standard.mly" ( [] ) -# 17455 "parser_cocci_menhir.ml" +# 17680 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17481,7 +17706,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_decl_var__ = # 116 "standard.mly" ( x :: xs ) -# 17485 "parser_cocci_menhir.ml" +# 17710 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17498,7 +17723,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_eexpr__ = # 114 "standard.mly" ( [] ) -# 17502 "parser_cocci_menhir.ml" +# 17727 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17528,7 +17753,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_eexpr__ = # 116 "standard.mly" ( x :: xs ) -# 17532 "parser_cocci_menhir.ml" +# 17757 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17545,7 +17770,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_nest_start__ = # 114 "standard.mly" ( [] ) -# 17549 "parser_cocci_menhir.ml" +# 17774 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17575,7 +17800,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_nest_start__ = # 116 "standard.mly" ( x :: xs ) -# 17579 "parser_cocci_menhir.ml" +# 17804 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17592,7 +17817,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_single_statement__ = # 114 "standard.mly" ( [] ) -# 17596 "parser_cocci_menhir.ml" +# 17821 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17622,7 +17847,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_iso_single_statement__ = # 116 "standard.mly" ( x :: xs ) -# 17626 "parser_cocci_menhir.ml" +# 17851 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17639,7 +17864,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_ctype__ = # 114 "standard.mly" ( [] ) -# 17643 "parser_cocci_menhir.ml" +# 17868 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17669,7 +17894,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_ctype__ = # 116 "standard.mly" ( x :: xs ) -# 17673 "parser_cocci_menhir.ml" +# 17898 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17686,7 +17911,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_eexpr__ = # 114 "standard.mly" ( [] ) -# 17690 "parser_cocci_menhir.ml" +# 17915 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17716,7 +17941,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_eexpr__ = # 116 "standard.mly" ( x :: xs ) -# 17720 "parser_cocci_menhir.ml" +# 17945 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17733,7 +17958,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_after_dots_or__ = # 114 "standard.mly" ( [] ) -# 17737 "parser_cocci_menhir.ml" +# 17962 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17763,7 +17988,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_after_dots_or__ = # 116 "standard.mly" ( x :: xs ) -# 17767 "parser_cocci_menhir.ml" +# 17992 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17780,7 +18005,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_start__ = # 114 "standard.mly" ( [] ) -# 17784 "parser_cocci_menhir.ml" +# 18009 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17810,7 +18035,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_fun_start__ = # 116 "standard.mly" ( x :: xs ) -# 17814 "parser_cocci_menhir.ml" +# 18039 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17827,7 +18052,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_rule_elem_statement__ = # 114 "standard.mly" ( [] ) -# 17831 "parser_cocci_menhir.ml" +# 18056 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17857,7 +18082,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_rule_elem_statement__ = # 116 "standard.mly" ( x :: xs ) -# 17861 "parser_cocci_menhir.ml" +# 18086 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17874,7 +18099,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_statement__ = # 114 "standard.mly" ( [] ) -# 17878 "parser_cocci_menhir.ml" +# 18103 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17904,7 +18129,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_mzl_statement__ = # 116 "standard.mly" ( x :: xs ) -# 17908 "parser_cocci_menhir.ml" +# 18133 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17921,7 +18146,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_pair_edots_when_TEllipsis_eexpr__dexpr__ = # 114 "standard.mly" ( [] ) -# 17925 "parser_cocci_menhir.ml" +# 18150 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17960,13 +18185,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 70 "standard.mly" ( (x, y) ) -# 17964 "parser_cocci_menhir.ml" +# 18189 "parser_cocci_menhir.ml" in # 116 "standard.mly" ( x :: xs ) -# 17970 "parser_cocci_menhir.ml" +# 18195 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -17983,7 +18208,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_whenppdecs_ = # 114 "standard.mly" ( [] ) -# 17987 "parser_cocci_menhir.ml" +# 18212 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18013,7 +18238,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_whenppdecs_ = # 116 "standard.mly" ( x :: xs ) -# 18017 "parser_cocci_menhir.ml" +# 18242 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18037,7 +18262,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_list_len = # 334 "parser_cocci_menhir.mly" ( Common.Left _1 ) -# 18041 "parser_cocci_menhir.ml" +# 18266 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18058,14 +18283,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 18062 "parser_cocci_menhir.ml" +# 18287 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_list_len = # 335 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Common.Right (int_of_string x) ) -# 18069 "parser_cocci_menhir.ml" +# 18294 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18082,7 +18307,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_choose_iso_ = # 57 "standard.mly" ( [] ) -# 18086 "parser_cocci_menhir.ml" +# 18311 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18106,7 +18331,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_choose_iso_ = # 59 "standard.mly" ( x ) -# 18110 "parser_cocci_menhir.ml" +# 18335 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18123,7 +18348,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_disable_ = # 57 "standard.mly" ( [] ) -# 18127 "parser_cocci_menhir.ml" +# 18352 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18147,7 +18372,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_disable_ = # 59 "standard.mly" ( x ) -# 18151 "parser_cocci_menhir.ml" +# 18376 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18164,7 +18389,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_filespec_ = # 57 "standard.mly" ( [] ) -# 18168 "parser_cocci_menhir.ml" +# 18393 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18188,7 +18413,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_filespec_ = # 59 "standard.mly" ( x ) -# 18192 "parser_cocci_menhir.ml" +# 18417 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18205,7 +18430,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_minus_start_ = # 57 "standard.mly" ( [] ) -# 18209 "parser_cocci_menhir.ml" +# 18434 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18229,7 +18454,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_minus_start_ = # 59 "standard.mly" ( x ) -# 18233 "parser_cocci_menhir.ml" +# 18458 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18246,7 +18471,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_not_pos_ = # 57 "standard.mly" ( [] ) -# 18250 "parser_cocci_menhir.ml" +# 18475 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18270,7 +18495,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_not_pos_ = # 59 "standard.mly" ( x ) -# 18274 "parser_cocci_menhir.ml" +# 18499 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18287,7 +18512,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_plus_start_ = # 57 "standard.mly" ( [] ) -# 18291 "parser_cocci_menhir.ml" +# 18516 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18311,7 +18536,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_loption_plus_start_ = # 59 "standard.mly" ( x ) -# 18315 "parser_cocci_menhir.ml" +# 18540 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18333,9 +18558,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_t_ in let _endpos = _endpos_t_ in let _v : 'tv_meta_exp_type = -# 499 "parser_cocci_menhir.mly" +# 507 "parser_cocci_menhir.mly" ( [Ast0_cocci.ast0_type_to_type t] ) -# 18339 "parser_cocci_menhir.ml" +# 18564 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18371,11 +18596,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_m_ in let _v : 'tv_meta_exp_type = -# 501 "parser_cocci_menhir.mly" +# 509 "parser_cocci_menhir.mly" ( List.map (function x -> P.ty_pointerify (Ast0_cocci.ast0_type_to_type x) m) t ) -# 18379 "parser_cocci_menhir.ml" +# 18604 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18406,14 +18631,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 49 "parser_cocci_menhir.mly" (string) -# 18410 "parser_cocci_menhir.ml" +# 18635 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_ident = -# 1462 "parser_cocci_menhir.mly" +# 1475 "parser_cocci_menhir.mly" ( (Some _1,P.id2name _3) ) -# 18417 "parser_cocci_menhir.ml" +# 18642 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18444,14 +18669,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 49 "parser_cocci_menhir.mly" (string) -# 18448 "parser_cocci_menhir.ml" +# 18673 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_meta_ident = -# 1463 "parser_cocci_menhir.mly" +# 1476 "parser_cocci_menhir.mly" ( (Some _1,_3) ) -# 18455 "parser_cocci_menhir.ml" +# 18680 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18475,11 +18700,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 162 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 18479 "parser_cocci_menhir.ml" +# 18704 "parser_cocci_menhir.ml" ) = # 186 "parser_cocci_menhir.mly" ( m (!Ast0.rule_name) ) -# 18483 "parser_cocci_menhir.ml" +# 18708 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18526,13 +18751,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaParamDecl(arity,name)) in !Data.add_param_meta name pure; tok) ) -# 18530 "parser_cocci_menhir.ml" +# 18755 "parser_cocci_menhir.ml" in # 275 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18536 "parser_cocci_menhir.ml" +# 18761 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18584,13 +18809,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let len = Ast.AnyLen in let tok = check_meta(Ast.MetaParamListDecl(arity,name,len)) in !Data.add_paramlist_meta name len pure; tok) ) -# 18588 "parser_cocci_menhir.ml" +# 18813 "parser_cocci_menhir.ml" in # 275 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18594 "parser_cocci_menhir.ml" +# 18819 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18642,13 +18867,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let len = Ast.AnyLen in let tok = check_meta(Ast.MetaExpListDecl(arity,name,len)) in !Data.add_explist_meta name len pure; tok) ) -# 18646 "parser_cocci_menhir.ml" +# 18871 "parser_cocci_menhir.ml" in # 275 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18652 "parser_cocci_menhir.ml" +# 18877 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18695,13 +18920,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaTypeDecl(arity,name)) in !Data.add_type_meta name pure; tok) ) -# 18699 "parser_cocci_menhir.ml" +# 18924 "parser_cocci_menhir.ml" in # 275 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18705 "parser_cocci_menhir.ml" +# 18930 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18748,13 +18973,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaInitDecl(arity,name)) in !Data.add_init_meta name pure; tok) ) -# 18752 "parser_cocci_menhir.ml" +# 18977 "parser_cocci_menhir.ml" in # 275 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18758 "parser_cocci_menhir.ml" +# 18983 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18801,13 +19026,119 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaStmDecl(arity,name)) in !Data.add_stm_meta name pure; tok) ) -# 18805 "parser_cocci_menhir.ml" +# 19030 "parser_cocci_menhir.ml" in # 275 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18811 "parser_cocci_menhir.ml" +# 19036 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + 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 = + +# 372 "parser_cocci_menhir.mly" + ( (fun arity name pure check_meta -> + let tok = check_meta(Ast.MetaDeclDecl(arity,name)) in + !Data.add_decl_meta name pure; tok) ) +# 19083 "parser_cocci_menhir.ml" + + in + +# 275 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 19089 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + 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 = + +# 376 "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) ) +# 19136 "parser_cocci_menhir.ml" + + in + +# 275 "parser_cocci_menhir.mly" + ( P.create_metadec ar ispure kindfn ids ) +# 19142 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18854,17 +19185,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 372 "parser_cocci_menhir.mly" +# 380 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in !Data.add_stmlist_meta name pure; tok) ) -# 18862 "parser_cocci_menhir.ml" +# 19193 "parser_cocci_menhir.ml" in # 275 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18868 "parser_cocci_menhir.ml" +# 19199 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18907,18 +19238,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 376 "parser_cocci_menhir.mly" +# 384 "parser_cocci_menhir.mly" ( (fun arity (_,name) pure check_meta -> if arity = Ast.NONE && pure = Ast0.Impure then (!Data.add_type_name name; []) else raise (Semantic_cocci.Semantic "bad typedef")) ) -# 18916 "parser_cocci_menhir.ml" +# 19247 "parser_cocci_menhir.ml" in # 275 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18922 "parser_cocci_menhir.ml" +# 19253 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -18965,18 +19296,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 381 "parser_cocci_menhir.mly" +# 389 "parser_cocci_menhir.mly" ( (fun arity (_,name) pure check_meta -> if arity = Ast.NONE && pure = Ast0.Impure then (!Data.add_declarer_name name; []) else raise (Semantic_cocci.Semantic "bad declarer")) ) -# 18974 "parser_cocci_menhir.ml" +# 19305 "parser_cocci_menhir.ml" in # 275 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 18980 "parser_cocci_menhir.ml" +# 19311 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19023,18 +19354,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 386 "parser_cocci_menhir.mly" +# 394 "parser_cocci_menhir.mly" ( (fun arity (_,name) pure check_meta -> if arity = Ast.NONE && pure = Ast0.Impure then (!Data.add_iterator_name name; []) else raise (Semantic_cocci.Semantic "bad iterator")) ) -# 19032 "parser_cocci_menhir.ml" +# 19363 "parser_cocci_menhir.ml" in # 275 "parser_cocci_menhir.mly" ( P.create_metadec ar ispure kindfn ids ) -# 19038 "parser_cocci_menhir.ml" +# 19369 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19073,13 +19404,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct ( (fun name check_meta seed -> let tok = check_meta(Ast.MetaFreshIdDecl(name,seed)) in !Data.add_fresh_id_meta name; tok) ) -# 19077 "parser_cocci_menhir.ml" +# 19408 "parser_cocci_menhir.ml" in # 278 "parser_cocci_menhir.mly" ( P.create_fresh_metadec kindfn ids ) -# 19083 "parser_cocci_menhir.ml" +# 19414 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19122,7 +19453,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 393 "parser_cocci_menhir.mly" +# 401 "parser_cocci_menhir.mly" ( let idfn arity name pure check_meta constraints = let tok = check_meta(Ast.MetaIdDecl(arity,name)) in @@ -19136,7 +19467,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let tok = check_meta(Ast.MetaIdDecl(arity,name)) in !Data.add_virt_id_meta_not_found name pure; tok in (idfn,virtfn) ) -# 19140 "parser_cocci_menhir.ml" +# 19471 "parser_cocci_menhir.ml" in @@ -19146,7 +19477,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct function cr -> (P.create_metadec_with_constraints ar ispure idfn normal cr) @ (P.create_metadec_virt ar ispure virtfn virt cr) ) -# 19150 "parser_cocci_menhir.ml" +# 19481 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19189,17 +19520,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 409 "parser_cocci_menhir.mly" +# 417 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaFuncDecl(arity,name)) in !Data.add_func_meta name constraints pure; tok) ) -# 19197 "parser_cocci_menhir.ml" +# 19528 "parser_cocci_menhir.ml" in # 293 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19203 "parser_cocci_menhir.ml" +# 19534 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19246,18 +19577,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__6_ in let _v : 'tv_metadec = let kindfn = -# 413 "parser_cocci_menhir.mly" +# 421 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaLocalFuncDecl(arity,name)) in !Data.add_local_func_meta name constraints pure; tok) ) -# 19255 "parser_cocci_menhir.ml" +# 19586 "parser_cocci_menhir.ml" in # 293 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19261 "parser_cocci_menhir.ml" +# 19592 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19300,17 +19631,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 418 "parser_cocci_menhir.mly" +# 426 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaDeclarerDecl(arity,name)) in !Data.add_declarer_meta name constraints pure; tok) ) -# 19308 "parser_cocci_menhir.ml" +# 19639 "parser_cocci_menhir.ml" in # 293 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19314 "parser_cocci_menhir.ml" +# 19645 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19353,17 +19684,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 422 "parser_cocci_menhir.mly" +# 430 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaIteratorDecl(arity,name)) in !Data.add_iterator_meta name constraints pure; tok) ) -# 19361 "parser_cocci_menhir.ml" +# 19692 "parser_cocci_menhir.ml" in # 293 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19367 "parser_cocci_menhir.ml" +# 19698 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19406,17 +19737,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 428 "parser_cocci_menhir.mly" +# 436 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaErrDecl(arity,name)) in !Data.add_err_meta name constraints pure; tok) ) -# 19414 "parser_cocci_menhir.ml" +# 19745 "parser_cocci_menhir.ml" in # 298 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19420 "parser_cocci_menhir.ml" +# 19751 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19469,11 +19800,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 19473 "parser_cocci_menhir.ml" +# 19804 "parser_cocci_menhir.ml" in -# 432 "parser_cocci_menhir.mly" +# 440 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -19482,13 +19813,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 19486 "parser_cocci_menhir.ml" +# 19817 "parser_cocci_menhir.ml" in # 298 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19492 "parser_cocci_menhir.ml" +# 19823 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19549,11 +19880,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 19553 "parser_cocci_menhir.ml" +# 19884 "parser_cocci_menhir.ml" in -# 432 "parser_cocci_menhir.mly" +# 440 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> match l with None -> @@ -19562,13 +19893,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 19566 "parser_cocci_menhir.ml" +# 19897 "parser_cocci_menhir.ml" in # 298 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19572 "parser_cocci_menhir.ml" +# 19903 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19625,7 +19956,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let m = m0 in let l = l0 in -# 441 "parser_cocci_menhir.mly" +# 449 "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 @@ -19635,13 +19966,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Some _ -> !Data.add_local_idexp_meta ty name constraints pure; check_meta(Ast.MetaLocalIdExpDecl(arity,name,ty))) ) -# 19639 "parser_cocci_menhir.ml" +# 19970 "parser_cocci_menhir.ml" in # 298 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19645 "parser_cocci_menhir.ml" +# 19976 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19691,18 +20022,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let m = m0 in -# 451 "parser_cocci_menhir.mly" +# 459 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let ty = Some [P.ty_pointerify Type_cocci.Unknown m] in let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in !Data.add_exp_meta ty name constraints pure; tok) ) -# 19700 "parser_cocci_menhir.ml" +# 20031 "parser_cocci_menhir.ml" in # 298 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19706 "parser_cocci_menhir.ml" +# 20037 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19756,18 +20087,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let vl = vl0 in -# 456 "parser_cocci_menhir.mly" +# 464 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let ty = Some (List.map (function x -> Type_cocci.Array x) vl) in let tok = check_meta(Ast.MetaExpDecl(arity,name,ty)) in !Data.add_exp_meta ty name constraints pure; tok) ) -# 19765 "parser_cocci_menhir.ml" +# 20096 "parser_cocci_menhir.ml" in # 298 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19771 "parser_cocci_menhir.ml" +# 20102 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19813,21 +20144,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 19817 "parser_cocci_menhir.ml" +# 20148 "parser_cocci_menhir.ml" in -# 461 "parser_cocci_menhir.mly" +# 469 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in !Data.add_const_meta ty name constraints pure; tok) ) -# 19825 "parser_cocci_menhir.ml" +# 20156 "parser_cocci_menhir.ml" in # 298 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19831 "parser_cocci_menhir.ml" +# 20162 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19881,21 +20212,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 19885 "parser_cocci_menhir.ml" +# 20216 "parser_cocci_menhir.ml" in -# 461 "parser_cocci_menhir.mly" +# 469 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaConstDecl(arity,name,ty)) in !Data.add_const_meta ty name constraints pure; tok) ) -# 19893 "parser_cocci_menhir.ml" +# 20224 "parser_cocci_menhir.ml" in # 298 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19899 "parser_cocci_menhir.ml" +# 20230 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19938,17 +20269,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _endpos = _endpos__5_ in let _v : 'tv_metadec = let kindfn = -# 467 "parser_cocci_menhir.mly" +# 475 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let tok = check_meta(Ast.MetaExpDecl(arity,name,None)) in !Data.add_exp_meta None name constraints pure; tok) ) -# 19946 "parser_cocci_menhir.ml" +# 20277 "parser_cocci_menhir.ml" in # 303 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 19952 "parser_cocci_menhir.ml" +# 20283 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -19994,7 +20325,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_metadec = let kindfn = let vl = vl0 in -# 471 "parser_cocci_menhir.mly" +# 479 "parser_cocci_menhir.mly" ( (fun arity name pure check_meta constraints -> let ty = Some vl in (match constraints with @@ -20019,13 +20350,13 @@ 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) ) -# 20023 "parser_cocci_menhir.ml" +# 20354 "parser_cocci_menhir.ml" in # 303 "parser_cocci_menhir.mly" ( P.create_metadec_with_constraints ar ispure kindfn ids ) -# 20029 "parser_cocci_menhir.ml" +# 20360 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20075,7 +20406,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let any = match a with None -> Ast.PER | Some _ -> Ast.ALL in !Data.add_pos_meta name constraints any; tok in P.create_metadec_with_constraints ar false kindfn ids ) -# 20079 "parser_cocci_menhir.ml" +# 20410 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20141,7 +20472,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let tok = check_meta(Ast.MetaParamListDecl(arity,name,lenname)) in !Data.add_paramlist_meta name lenname pure; tok) len ids ) -# 20145 "parser_cocci_menhir.ml" +# 20476 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20207,7 +20538,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let tok = check_meta(Ast.MetaExpListDecl(arity,name,lenname)) in !Data.add_explist_meta name lenname pure; tok) len ids ) -# 20211 "parser_cocci_menhir.ml" +# 20542 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20235,9 +20566,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_ctype_ctype_ = -# 1980 "parser_cocci_menhir.mly" +# 1993 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20241 "parser_cocci_menhir.ml" +# 20572 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20265,9 +20596,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_eexpr_eexpr_ = -# 1980 "parser_cocci_menhir.mly" +# 1993 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20271 "parser_cocci_menhir.ml" +# 20602 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20295,9 +20626,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_expr_eexpr_ = -# 1980 "parser_cocci_menhir.mly" +# 1993 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20301 "parser_cocci_menhir.ml" +# 20632 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20325,9 +20656,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_fun_after_stm_fun_after_dots_or_ = -# 1980 "parser_cocci_menhir.mly" +# 1993 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20331 "parser_cocci_menhir.ml" +# 20662 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20355,9 +20686,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_fun_start_fun_start_ = -# 1980 "parser_cocci_menhir.mly" +# 1993 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20361 "parser_cocci_menhir.ml" +# 20692 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20385,9 +20716,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = -# 1980 "parser_cocci_menhir.mly" +# 1993 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20391 "parser_cocci_menhir.ml" +# 20722 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20415,9 +20746,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_midzero_list_statement_statement_ = -# 1980 "parser_cocci_menhir.mly" +# 1993 "parser_cocci_menhir.mly" ( let (mids,code) = List.split b in (mids,(a::code)) ) -# 20421 "parser_cocci_menhir.ml" +# 20752 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20445,11 +20776,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_minus_body = -# 643 "parser_cocci_menhir.mly" +# 652 "parser_cocci_menhir.mly" ( match f@b(*@ew*) with [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") | code -> Top_level.top_level code ) -# 20453 "parser_cocci_menhir.ml" +# 20784 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20477,11 +20808,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_minus_exp_body = -# 657 "parser_cocci_menhir.mly" +# 666 "parser_cocci_menhir.mly" ( match f@[b](*@ew*) with [] -> raise (Semantic_cocci.Semantic "minus slice can't be empty") | code -> Top_level.top_level code ) -# 20485 "parser_cocci_menhir.ml" +# 20816 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20509,11 +20840,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 142 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 20513 "parser_cocci_menhir.ml" +# 20844 "parser_cocci_menhir.ml" ) = # 182 "parser_cocci_menhir.mly" ( _1 ) -# 20517 "parser_cocci_menhir.ml" +# 20848 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20541,11 +20872,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 142 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 20545 "parser_cocci_menhir.ml" +# 20876 "parser_cocci_menhir.ml" ) = # 182 "parser_cocci_menhir.mly" ( m ) -# 20549 "parser_cocci_menhir.ml" +# 20880 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20573,11 +20904,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 142 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 20577 "parser_cocci_menhir.ml" +# 20908 "parser_cocci_menhir.ml" ) = # 183 "parser_cocci_menhir.mly" ( m ) -# 20581 "parser_cocci_menhir.ml" +# 20912 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20605,11 +20936,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 139 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 20609 "parser_cocci_menhir.ml" +# 20940 "parser_cocci_menhir.ml" ) = # 178 "parser_cocci_menhir.mly" ( _1 ) -# 20613 "parser_cocci_menhir.ml" +# 20944 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20637,11 +20968,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 139 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 20641 "parser_cocci_menhir.ml" +# 20972 "parser_cocci_menhir.ml" ) = # 178 "parser_cocci_menhir.mly" ( m ) -# 20645 "parser_cocci_menhir.ml" +# 20976 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20669,11 +21000,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 139 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 20673 "parser_cocci_menhir.ml" +# 21004 "parser_cocci_menhir.ml" ) = # 179 "parser_cocci_menhir.mly" ( m ) -# 20677 "parser_cocci_menhir.ml" +# 21008 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20695,9 +21026,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1788 "parser_cocci_menhir.mly" +# 1801 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.DECL(_1))] ) -# 20701 "parser_cocci_menhir.ml" +# 21032 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20719,9 +21050,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1789 "parser_cocci_menhir.mly" +# 1802 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) -# 20725 "parser_cocci_menhir.ml" +# 21056 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20743,9 +21074,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1790 "parser_cocci_menhir.mly" +# 1803 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) -# 20749 "parser_cocci_menhir.ml" +# 21080 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20767,9 +21098,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_minus_start = -# 1792 "parser_cocci_menhir.mly" +# 1805 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1 ) -# 20773 "parser_cocci_menhir.ml" +# 21104 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20796,14 +21127,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 20800 "parser_cocci_menhir.ml" +# 21131 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_ctype_ = -# 1983 "parser_cocci_menhir.mly" +# 1996 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 20807 "parser_cocci_menhir.ml" +# 21138 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20830,14 +21161,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 20834 "parser_cocci_menhir.ml" +# 21165 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_eexpr_ = -# 1983 "parser_cocci_menhir.mly" +# 1996 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 20841 "parser_cocci_menhir.ml" +# 21172 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20864,14 +21195,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 20868 "parser_cocci_menhir.ml" +# 21199 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_fun_after_dots_or_ = -# 1983 "parser_cocci_menhir.mly" +# 1996 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 20875 "parser_cocci_menhir.ml" +# 21206 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20898,14 +21229,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 20902 "parser_cocci_menhir.ml" +# 21233 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_fun_start_ = -# 1983 "parser_cocci_menhir.mly" +# 1996 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 20909 "parser_cocci_menhir.ml" +# 21240 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20932,14 +21263,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 20936 "parser_cocci_menhir.ml" +# 21267 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_rule_elem_statement_ = -# 1983 "parser_cocci_menhir.mly" +# 1996 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 20943 "parser_cocci_menhir.ml" +# 21274 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20966,14 +21297,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 20970 "parser_cocci_menhir.ml" +# 21301 "parser_cocci_menhir.ml" ) = Obj.magic a in let _startpos = _startpos_a_ in let _endpos = _endpos_b_ in let _v : 'tv_mzl_statement_ = -# 1983 "parser_cocci_menhir.mly" +# 1996 "parser_cocci_menhir.mly" ( (P.clt2mcode "|" a, b) ) -# 20977 "parser_cocci_menhir.ml" +# 21308 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -20995,9 +21326,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_name_opt_decl = -# 868 "parser_cocci_menhir.mly" +# 877 "parser_cocci_menhir.mly" ( _1 ) -# 21001 "parser_cocci_menhir.ml" +# 21332 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21048,41 +21379,41 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 21052 "parser_cocci_menhir.ml" +# 21383 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_decl_list_name_opt_decl_ = Obj.magic d in let lp1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 21058 "parser_cocci_menhir.ml" +# 21389 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let rp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 21063 "parser_cocci_menhir.ml" +# 21394 "parser_cocci_menhir.ml" ) = Obj.magic rp in let s : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 21068 "parser_cocci_menhir.ml" +# 21399 "parser_cocci_menhir.ml" ) = Obj.magic s in let lp : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 21073 "parser_cocci_menhir.ml" +# 21404 "parser_cocci_menhir.ml" ) = Obj.magic lp in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_rp1_ in let _v : 'tv_name_opt_decl = -# 871 "parser_cocci_menhir.mly" +# 880 "parser_cocci_menhir.mly" ( let fnptr = Ast0.wrap (Ast0.FunctionPointer (t,P.clt2mcode "(" lp,P.clt2mcode "*" s,P.clt2mcode ")" rp, P.clt2mcode "(" lp1,d,P.clt2mcode ")" rp1)) in Ast0.wrap(Ast0.Param(fnptr, None)) ) -# 21086 "parser_cocci_menhir.ml" +# 21417 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21110,9 +21441,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 1903 "parser_cocci_menhir.mly" +# 1916 "parser_cocci_menhir.mly" (_1@_2) -# 21116 "parser_cocci_menhir.ml" +# 21447 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21138,9 +21469,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 1904 "parser_cocci_menhir.mly" +# 1917 "parser_cocci_menhir.mly" (_2) -# 21144 "parser_cocci_menhir.ml" +# 21475 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21168,9 +21499,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_dots = -# 1905 "parser_cocci_menhir.mly" +# 1918 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 21174 "parser_cocci_menhir.ml" +# 21505 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21185,9 +21516,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_nest_after_exp = -# 1913 "parser_cocci_menhir.mly" +# 1926 "parser_cocci_menhir.mly" ([]) -# 21191 "parser_cocci_menhir.ml" +# 21522 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21215,9 +21546,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_exp = -# 1914 "parser_cocci_menhir.mly" +# 1927 "parser_cocci_menhir.mly" (_1::_2) -# 21221 "parser_cocci_menhir.ml" +# 21552 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21232,9 +21563,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_nest_after_stm = -# 1908 "parser_cocci_menhir.mly" +# 1921 "parser_cocci_menhir.mly" ([]) -# 21238 "parser_cocci_menhir.ml" +# 21569 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21262,9 +21593,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_stm = -# 1909 "parser_cocci_menhir.mly" +# 1922 "parser_cocci_menhir.mly" (_1::_2) -# 21268 "parser_cocci_menhir.ml" +# 21599 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21292,9 +21623,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_nest_after_stm = -# 1910 "parser_cocci_menhir.mly" +# 1923 "parser_cocci_menhir.mly" (_1@_2) -# 21298 "parser_cocci_menhir.ml" +# 21629 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21325,22 +21656,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 21329 "parser_cocci_menhir.ml" +# 21660 "parser_cocci_menhir.ml" ) = Obj.magic c in let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in let _1 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 21335 "parser_cocci_menhir.ml" +# 21666 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_nest_expressions = -# 1261 "parser_cocci_menhir.mly" +# 1272 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<..." _1, Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), P.clt2mcode "...>" c, None, false)) ) -# 21344 "parser_cocci_menhir.ml" +# 21675 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21371,22 +21702,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 21375 "parser_cocci_menhir.ml" +# 21706 "parser_cocci_menhir.ml" ) = Obj.magic c in let e : 'tv_expr_dots_TEllipsis_ = Obj.magic e in let _1 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 21381 "parser_cocci_menhir.ml" +# 21712 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_nest_expressions = -# 1265 "parser_cocci_menhir.mly" +# 1276 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.NestExpr(P.clt2mcode "<+..." _1, Ast0.wrap(Ast0.DOTS(e (P.mkedots "..."))), P.clt2mcode "...+>" c, None, true)) ) -# 21390 "parser_cocci_menhir.ml" +# 21721 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21408,9 +21739,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_nest_start = -# 1900 "parser_cocci_menhir.mly" +# 1913 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 21414 "parser_cocci_menhir.ml" +# 21745 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21432,11 +21763,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 173 "parser_cocci_menhir.mly" (unit) -# 21436 "parser_cocci_menhir.ml" +# 21767 "parser_cocci_menhir.ml" ) = -# 2050 "parser_cocci_menhir.mly" +# 2063 "parser_cocci_menhir.mly" ( () ) -# 21440 "parser_cocci_menhir.ml" +# 21771 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21462,11 +21793,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 173 "parser_cocci_menhir.mly" (unit) -# 21466 "parser_cocci_menhir.ml" +# 21797 "parser_cocci_menhir.ml" ) = -# 2051 "parser_cocci_menhir.mly" +# 2064 "parser_cocci_menhir.mly" ( () ) -# 21470 "parser_cocci_menhir.ml" +# 21801 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21488,11 +21819,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 173 "parser_cocci_menhir.mly" (unit) -# 21492 "parser_cocci_menhir.ml" +# 21823 "parser_cocci_menhir.ml" ) = -# 2052 "parser_cocci_menhir.mly" +# 2065 "parser_cocci_menhir.mly" ( () ) -# 21496 "parser_cocci_menhir.ml" +# 21827 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21520,10 +21851,10 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_g_ in let _endpos = _endpos_dg_ in let _v : 'tv_no_dot_start_end_dexpr_edots_when_TEllipsis_eexpr__ = -# 1429 "parser_cocci_menhir.mly" +# 1442 "parser_cocci_menhir.mly" ( function dot_builder -> g :: (List.concat(List.map (function (d,g) -> [dot_builder d;g]) dg)) ) -# 21527 "parser_cocci_menhir.ml" +# 21858 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21544,14 +21875,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let x : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 21548 "parser_cocci_menhir.ml" +# 21879 "parser_cocci_menhir.ml" ) = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : 'tv_nonempty_list_TMul_ = # 124 "standard.mly" ( [ x ] ) -# 21555 "parser_cocci_menhir.ml" +# 21886 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21578,14 +21909,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let x : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 21582 "parser_cocci_menhir.ml" +# 21913 "parser_cocci_menhir.ml" ) = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in let _v : 'tv_nonempty_list_TMul_ = # 126 "standard.mly" ( x :: xs ) -# 21589 "parser_cocci_menhir.ml" +# 21920 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21611,13 +21942,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_ceq = -# 1602 "parser_cocci_menhir.mly" +# 1615 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); [i] ) -# 21621 "parser_cocci_menhir.ml" +# 21952 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21651,13 +21982,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_ceq = -# 1608 "parser_cocci_menhir.mly" +# 1621 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); l ) -# 21661 "parser_cocci_menhir.ml" +# 21992 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21679,9 +22010,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ceq_ in let _endpos = _endpos_ceq_ in let _v : 'tv_not_ceq_or_sub = -# 1578 "parser_cocci_menhir.mly" +# 1591 "parser_cocci_menhir.mly" (Ast0.NotExpCstrt ceq) -# 21685 "parser_cocci_menhir.ml" +# 22016 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21703,9 +22034,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_not_ceq_or_sub = -# 1579 "parser_cocci_menhir.mly" +# 1592 "parser_cocci_menhir.mly" (Ast0.SubExpCstrt s) -# 21709 "parser_cocci_menhir.ml" +# 22040 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21731,14 +22062,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqe = -# 1583 "parser_cocci_menhir.mly" +# 1596 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); [Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))] ) -# 21742 "parser_cocci_menhir.ml" +# 22073 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21772,7 +22103,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqe = -# 1590 "parser_cocci_menhir.mly" +# 1603 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21782,7 +22113,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct Ast0.wrap(Ast0.Ident(Ast0.wrap(Ast0.Id(P.id2mcode i))))) l ) -# 21786 "parser_cocci_menhir.ml" +# 22117 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21808,7 +22139,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_eqid = -# 1540 "parser_cocci_menhir.mly" +# 1553 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21822,7 +22153,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (function mv -> Ast.MetaIdDecl(Ast.NONE,mv)) in Ast.IdNegIdSet([],[i]) | (None,i) -> Ast.IdNegIdSet([i],[])) ) -# 21826 "parser_cocci_menhir.ml" +# 22157 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21856,7 +22187,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_eqid = -# 1554 "parser_cocci_menhir.mly" +# 1567 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21874,7 +22205,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct ([],[]) l in Ast.IdNegIdSet(str,meta) ) -# 21878 "parser_cocci_menhir.ml" +# 22209 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21900,7 +22231,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_not_pos = -# 1646 "parser_cocci_menhir.mly" +# 1659 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21909,7 +22240,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaPosDecl(Ast.NONE,mv)) in [i] ) -# 21913 "parser_cocci_menhir.ml" +# 22244 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21943,7 +22274,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_not_pos = -# 1655 "parser_cocci_menhir.mly" +# 1668 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -21953,7 +22284,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaPosDecl(Ast.NONE,mv))) l ) -# 21957 "parser_cocci_menhir.ml" +# 22288 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21975,9 +22306,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1725 "parser_cocci_menhir.mly" +# 1738 "parser_cocci_menhir.mly" ( _1 ) -# 21981 "parser_cocci_menhir.ml" +# 22312 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -21998,12 +22329,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 69 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 22002 "parser_cocci_menhir.ml" +# 22333 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_decl_ = -# 1727 "parser_cocci_menhir.mly" +# 1740 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -22012,7 +22343,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt) | Ast.CstLen n -> Ast0.CstListLen n in Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) ) -# 22016 "parser_cocci_menhir.ml" +# 22347 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22034,9 +22365,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_name_opt_decl_ = -# 1725 "parser_cocci_menhir.mly" +# 1738 "parser_cocci_menhir.mly" ( _1 ) -# 22040 "parser_cocci_menhir.ml" +# 22371 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22057,12 +22388,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 69 "parser_cocci_menhir.mly" (Parse_aux.list_info) -# 22061 "parser_cocci_menhir.ml" +# 22392 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_one_dec_name_opt_decl_ = -# 1727 "parser_cocci_menhir.mly" +# 1740 "parser_cocci_menhir.mly" ( let (nm,lenname,pure,clt) = _1 in let nm = P.clt2mcode nm clt in let lenname = @@ -22071,7 +22402,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct | Ast.MetaLen nm -> Ast0.MetaListLen(P.clt2mcode nm clt) | Ast.CstLen n -> Ast0.CstListLen n in Ast0.wrap(Ast0.MetaParamList(nm,lenname,pure)) ) -# 22075 "parser_cocci_menhir.ml" +# 22406 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22097,15 +22428,43 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22101 "parser_cocci_menhir.ml" +# 22432 "parser_cocci_menhir.ml" ) = Obj.magic pv in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_one_decl_var = -# 1046 "parser_cocci_menhir.mly" +# 1056 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) ) -# 22109 "parser_cocci_menhir.ml" +# 22440 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 68 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 22461 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_one_decl_var = +# 1057 "parser_cocci_menhir.mly" + ( P.meta_decl _1 ) +# 22468 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22136,7 +22495,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22140 "parser_cocci_menhir.ml" +# 22499 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -22146,14 +22505,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22150 "parser_cocci_menhir.ml" +# 22509 "parser_cocci_menhir.ml" in -# 1048 "parser_cocci_menhir.mly" +# 1059 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 22157 "parser_cocci_menhir.ml" +# 22516 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22189,7 +22548,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22193 "parser_cocci_menhir.ml" +# 22552 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -22201,14 +22560,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22205 "parser_cocci_menhir.ml" +# 22564 "parser_cocci_menhir.ml" in -# 1048 "parser_cocci_menhir.mly" +# 1059 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 22212 "parser_cocci_menhir.ml" +# 22571 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22230,9 +22589,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_f_ in let _v : 'tv_one_decl_var = -# 1050 "parser_cocci_menhir.mly" +# 1061 "parser_cocci_menhir.mly" ( f ) -# 22236 "parser_cocci_menhir.ml" +# 22595 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22273,13 +22632,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22277 "parser_cocci_menhir.ml" +# 22636 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22283 "parser_cocci_menhir.ml" +# 22642 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -22289,14 +22648,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22293 "parser_cocci_menhir.ml" +# 22652 "parser_cocci_menhir.ml" in -# 1052 "parser_cocci_menhir.mly" +# 1063 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) -# 22300 "parser_cocci_menhir.ml" +# 22659 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22342,13 +22701,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22346 "parser_cocci_menhir.ml" +# 22705 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22352 "parser_cocci_menhir.ml" +# 22711 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in @@ -22360,14 +22719,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22364 "parser_cocci_menhir.ml" +# 22723 "parser_cocci_menhir.ml" in -# 1052 "parser_cocci_menhir.mly" +# 1063 "parser_cocci_menhir.mly" ( let (id,fn) = d in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv)) ) -# 22371 "parser_cocci_menhir.ml" +# 22730 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22398,7 +22757,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22402 "parser_cocci_menhir.ml" +# 22761 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22408,22 +22767,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22412 "parser_cocci_menhir.ml" +# 22771 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22419 "parser_cocci_menhir.ml" +# 22778 "parser_cocci_menhir.ml" in -# 1057 "parser_cocci_menhir.mly" +# 1068 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) -# 22427 "parser_cocci_menhir.ml" +# 22786 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22459,7 +22818,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22463 "parser_cocci_menhir.ml" +# 22822 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22471,22 +22830,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22475 "parser_cocci_menhir.ml" +# 22834 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22482 "parser_cocci_menhir.ml" +# 22841 "parser_cocci_menhir.ml" in -# 1057 "parser_cocci_menhir.mly" +# 1068 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) -# 22490 "parser_cocci_menhir.ml" +# 22849 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22522,7 +22881,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22526 "parser_cocci_menhir.ml" +# 22885 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22533,7 +22892,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22537 "parser_cocci_menhir.ml" +# 22896 "parser_cocci_menhir.ml" in let s = @@ -22541,15 +22900,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22545 "parser_cocci_menhir.ml" +# 22904 "parser_cocci_menhir.ml" in -# 1057 "parser_cocci_menhir.mly" +# 1068 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) -# 22553 "parser_cocci_menhir.ml" +# 22912 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22590,7 +22949,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22594 "parser_cocci_menhir.ml" +# 22953 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22603,7 +22962,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22607 "parser_cocci_menhir.ml" +# 22966 "parser_cocci_menhir.ml" in let s = @@ -22611,15 +22970,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22615 "parser_cocci_menhir.ml" +# 22974 "parser_cocci_menhir.ml" in -# 1057 "parser_cocci_menhir.mly" +# 1068 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.UnInit(s,fn idtype,id,P.clt2mcode ";" pv)) ) -# 22623 "parser_cocci_menhir.ml" +# 22982 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22660,13 +23019,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22664 "parser_cocci_menhir.ml" +# 23023 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22670 "parser_cocci_menhir.ml" +# 23029 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22676,24 +23035,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22680 "parser_cocci_menhir.ml" +# 23039 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22687 "parser_cocci_menhir.ml" +# 23046 "parser_cocci_menhir.ml" in -# 1062 "parser_cocci_menhir.mly" +# 1073 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv)) ) -# 22697 "parser_cocci_menhir.ml" +# 23056 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22739,13 +23098,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22743 "parser_cocci_menhir.ml" +# 23102 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22749 "parser_cocci_menhir.ml" +# 23108 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22757,24 +23116,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22761 "parser_cocci_menhir.ml" +# 23120 "parser_cocci_menhir.ml" in let s = # 39 "standard.mly" ( None ) -# 22768 "parser_cocci_menhir.ml" +# 23127 "parser_cocci_menhir.ml" in -# 1062 "parser_cocci_menhir.mly" +# 1073 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv)) ) -# 22778 "parser_cocci_menhir.ml" +# 23137 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22820,13 +23179,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22824 "parser_cocci_menhir.ml" +# 23183 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22830 "parser_cocci_menhir.ml" +# 23189 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22837,7 +23196,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 22841 "parser_cocci_menhir.ml" +# 23200 "parser_cocci_menhir.ml" in let s = @@ -22845,17 +23204,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22849 "parser_cocci_menhir.ml" +# 23208 "parser_cocci_menhir.ml" in -# 1062 "parser_cocci_menhir.mly" +# 1073 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv)) ) -# 22859 "parser_cocci_menhir.ml" +# 23218 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -22906,13 +23265,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22910 "parser_cocci_menhir.ml" +# 23269 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 22916 "parser_cocci_menhir.ml" +# 23275 "parser_cocci_menhir.ml" ) = Obj.magic q in let d : 'tv_d_ident = Obj.magic d in let i : 'tv_pure_ident = Obj.magic i in @@ -22925,7 +23284,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22929 "parser_cocci_menhir.ml" +# 23288 "parser_cocci_menhir.ml" in let s = @@ -22933,17 +23292,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 22937 "parser_cocci_menhir.ml" +# 23296 "parser_cocci_menhir.ml" in -# 1062 "parser_cocci_menhir.mly" +# 1073 "parser_cocci_menhir.mly" ( let (id,fn) = d in !Data.add_type_name (P.id2name i); let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in Ast0.wrap(Ast0.Init(s,fn idtype,id,P.clt2mcode "=" q,e, P.clt2mcode ";" pv)) ) -# 22947 "parser_cocci_menhir.ml" +# 23306 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23004,34 +23363,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 23008 "parser_cocci_menhir.ml" +# 23367 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 23013 "parser_cocci_menhir.ml" +# 23372 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 23019 "parser_cocci_menhir.ml" +# 23378 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 23024 "parser_cocci_menhir.ml" +# 23383 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 23030 "parser_cocci_menhir.ml" +# 23389 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 23035 "parser_cocci_menhir.ml" +# 23394 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -23040,11 +23399,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 23044 "parser_cocci_menhir.ml" +# 23403 "parser_cocci_menhir.ml" in -# 1072 "parser_cocci_menhir.mly" +# 1083 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -23052,7 +23411,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 23056 "parser_cocci_menhir.ml" +# 23415 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23118,34 +23477,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 23122 "parser_cocci_menhir.ml" +# 23481 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 23127 "parser_cocci_menhir.ml" +# 23486 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 23133 "parser_cocci_menhir.ml" +# 23492 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 23138 "parser_cocci_menhir.ml" +# 23497 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 23144 "parser_cocci_menhir.ml" +# 23503 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 23149 "parser_cocci_menhir.ml" +# 23508 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -23156,11 +23515,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 23160 "parser_cocci_menhir.ml" +# 23519 "parser_cocci_menhir.ml" in -# 1072 "parser_cocci_menhir.mly" +# 1083 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -23168,7 +23527,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) ) -# 23172 "parser_cocci_menhir.ml" +# 23531 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23209,27 +23568,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _5 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 23213 "parser_cocci_menhir.ml" +# 23572 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 23218 "parser_cocci_menhir.ml" +# 23577 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 23224 "parser_cocci_menhir.ml" +# 23583 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_decl_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_one_decl_var = -# 1080 "parser_cocci_menhir.mly" +# 1091 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.MacroDecl(_1,P.clt2mcode "(" _2,_3, P.clt2mcode ")" _4,P.clt2mcode ";" _5)) ) -# 23233 "parser_cocci_menhir.ml" +# 23592 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23300,40 +23659,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 23304 "parser_cocci_menhir.ml" +# 23663 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 23310 "parser_cocci_menhir.ml" +# 23669 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 23315 "parser_cocci_menhir.ml" +# 23674 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 23321 "parser_cocci_menhir.ml" +# 23680 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 23326 "parser_cocci_menhir.ml" +# 23685 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 23332 "parser_cocci_menhir.ml" +# 23691 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 23337 "parser_cocci_menhir.ml" +# 23696 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in @@ -23342,11 +23701,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 23346 "parser_cocci_menhir.ml" +# 23705 "parser_cocci_menhir.ml" in -# 1086 "parser_cocci_menhir.mly" +# 1097 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -23354,7 +23713,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))) -# 23358 "parser_cocci_menhir.ml" +# 23717 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23430,40 +23789,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 23434 "parser_cocci_menhir.ml" +# 23793 "parser_cocci_menhir.ml" ) = Obj.magic pv in let e : 'tv_initialize = Obj.magic e in let q : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 23440 "parser_cocci_menhir.ml" +# 23799 "parser_cocci_menhir.ml" ) = Obj.magic q in let rp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 23445 "parser_cocci_menhir.ml" +# 23804 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 23451 "parser_cocci_menhir.ml" +# 23810 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 23456 "parser_cocci_menhir.ml" +# 23815 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 23462 "parser_cocci_menhir.ml" +# 23821 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 23467 "parser_cocci_menhir.ml" +# 23826 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let x0 : 'tv_storage = Obj.magic x0 in @@ -23474,11 +23833,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 23478 "parser_cocci_menhir.ml" +# 23837 "parser_cocci_menhir.ml" in -# 1086 "parser_cocci_menhir.mly" +# 1097 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -23486,7 +23845,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (t,P.clt2mcode "(" lp1,P.clt2mcode "*" st,P.clt2mcode ")" rp1, P.clt2mcode "(" lp2,p,P.clt2mcode ")" rp2)) in Ast0.wrap(Ast0.Init(s,fn t,id,P.clt2mcode "=" q,e,P.clt2mcode ";" pv))) -# 23490 "parser_cocci_menhir.ml" +# 23849 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23503,7 +23862,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TLocal_ = # 29 "standard.mly" ( None ) -# 23507 "parser_cocci_menhir.ml" +# 23866 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23527,7 +23886,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TLocal_ = # 31 "standard.mly" ( Some x ) -# 23531 "parser_cocci_menhir.ml" +# 23890 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23544,7 +23903,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TPosAny_ = # 29 "standard.mly" ( None ) -# 23548 "parser_cocci_menhir.ml" +# 23907 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23568,7 +23927,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_TPosAny_ = # 31 "standard.mly" ( Some x ) -# 23572 "parser_cocci_menhir.ml" +# 23931 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23585,7 +23944,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_eexpr_ = # 29 "standard.mly" ( None ) -# 23589 "parser_cocci_menhir.ml" +# 23948 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23609,7 +23968,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_eexpr_ = # 31 "standard.mly" ( Some x ) -# 23613 "parser_cocci_menhir.ml" +# 23972 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23626,7 +23985,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_not_ceq_or_sub_ = # 29 "standard.mly" ( None ) -# 23630 "parser_cocci_menhir.ml" +# 23989 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23650,7 +24009,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_not_ceq_or_sub_ = # 31 "standard.mly" ( Some x ) -# 23654 "parser_cocci_menhir.ml" +# 24013 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23667,7 +24026,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqe_or_sub_ = # 29 "standard.mly" ( None ) -# 23671 "parser_cocci_menhir.ml" +# 24030 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23691,7 +24050,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqe_or_sub_ = # 31 "standard.mly" ( Some x ) -# 23695 "parser_cocci_menhir.ml" +# 24054 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23708,7 +24067,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqid_ = # 29 "standard.mly" ( None ) -# 23712 "parser_cocci_menhir.ml" +# 24071 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23732,7 +24091,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_option_re_or_not_eqid_ = # 31 "standard.mly" ( Some x ) -# 23736 "parser_cocci_menhir.ml" +# 24095 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23747,9 +24106,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_dots = -# 1850 "parser_cocci_menhir.mly" +# 1863 "parser_cocci_menhir.mly" ([]) -# 23753 "parser_cocci_menhir.ml" +# 24112 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23775,9 +24134,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1851 "parser_cocci_menhir.mly" +# 1864 "parser_cocci_menhir.mly" (_2) -# 23781 "parser_cocci_menhir.ml" +# 24140 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23805,9 +24164,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1853 "parser_cocci_menhir.mly" +# 1866 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) -# 23811 "parser_cocci_menhir.ml" +# 24170 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23835,9 +24194,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1854 "parser_cocci_menhir.mly" +# 1867 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 23841 "parser_cocci_menhir.ml" +# 24200 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23865,9 +24224,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_dots = -# 1856 "parser_cocci_menhir.mly" +# 1869 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 23871 "parser_cocci_menhir.ml" +# 24230 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23882,9 +24241,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_exp = -# 1846 "parser_cocci_menhir.mly" +# 1859 "parser_cocci_menhir.mly" ([]) -# 23888 "parser_cocci_menhir.ml" +# 24247 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23912,9 +24271,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_exp = -# 1847 "parser_cocci_menhir.mly" +# 1860 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 23918 "parser_cocci_menhir.ml" +# 24277 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23929,9 +24288,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_plus_after_stm = -# 1859 "parser_cocci_menhir.mly" +# 1872 "parser_cocci_menhir.mly" ([]) -# 23935 "parser_cocci_menhir.ml" +# 24294 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23959,9 +24318,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1860 "parser_cocci_menhir.mly" +# 1873 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 23965 "parser_cocci_menhir.ml" +# 24324 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -23989,9 +24348,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1861 "parser_cocci_menhir.mly" +# 1874 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 23995 "parser_cocci_menhir.ml" +# 24354 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24019,9 +24378,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_after_stm = -# 1863 "parser_cocci_menhir.mly" +# 1876 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 24025 "parser_cocci_menhir.ml" +# 24384 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24049,9 +24408,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_body = -# 651 "parser_cocci_menhir.mly" +# 660 "parser_cocci_menhir.mly" ( Top_level.top_level (f@b(*@ew*)) ) -# 24055 "parser_cocci_menhir.ml" +# 24414 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24079,9 +24438,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_f_ in let _endpos = _endpos_b_ in let _v : 'tv_plus_exp_body = -# 665 "parser_cocci_menhir.mly" +# 674 "parser_cocci_menhir.mly" ( Top_level.top_level (f@[b](*@ew*)) ) -# 24085 "parser_cocci_menhir.ml" +# 24444 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24109,11 +24468,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 148 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 24113 "parser_cocci_menhir.ml" +# 24472 "parser_cocci_menhir.ml" ) = # 184 "parser_cocci_menhir.mly" ( _1 ) -# 24117 "parser_cocci_menhir.ml" +# 24476 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24141,11 +24500,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 148 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 24145 "parser_cocci_menhir.ml" +# 24504 "parser_cocci_menhir.ml" ) = # 184 "parser_cocci_menhir.mly" ( p ) -# 24149 "parser_cocci_menhir.ml" +# 24508 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24173,11 +24532,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 148 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 24177 "parser_cocci_menhir.ml" +# 24536 "parser_cocci_menhir.ml" ) = # 185 "parser_cocci_menhir.mly" ( p ) -# 24181 "parser_cocci_menhir.ml" +# 24540 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24205,11 +24564,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 145 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 24209 "parser_cocci_menhir.ml" +# 24568 "parser_cocci_menhir.ml" ) = # 180 "parser_cocci_menhir.mly" ( _1 ) -# 24213 "parser_cocci_menhir.ml" +# 24572 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24237,11 +24596,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 145 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 24241 "parser_cocci_menhir.ml" +# 24600 "parser_cocci_menhir.ml" ) = # 180 "parser_cocci_menhir.mly" ( p ) -# 24245 "parser_cocci_menhir.ml" +# 24604 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24269,11 +24628,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 145 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 24273 "parser_cocci_menhir.ml" +# 24632 "parser_cocci_menhir.ml" ) = # 181 "parser_cocci_menhir.mly" ( p ) -# 24277 "parser_cocci_menhir.ml" +# 24636 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24295,9 +24654,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 1835 "parser_cocci_menhir.mly" +# 1848 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Ty(_1))))] ) -# 24301 "parser_cocci_menhir.ml" +# 24660 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24319,9 +24678,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_plus_start = -# 1836 "parser_cocci_menhir.mly" +# 1849 "parser_cocci_menhir.mly" ( [Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.TopInit(_1))))] ) -# 24325 "parser_cocci_menhir.ml" +# 24684 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24349,9 +24708,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1838 "parser_cocci_menhir.mly" +# 1851 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(_1)))::_2 ) -# 24355 "parser_cocci_menhir.ml" +# 24714 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24379,9 +24738,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1840 "parser_cocci_menhir.mly" +# 1853 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))))::_2 ) -# 24385 "parser_cocci_menhir.ml" +# 24744 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24409,9 +24768,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1841 "parser_cocci_menhir.mly" +# 1854 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DECL(_1))::_2 ) -# 24415 "parser_cocci_menhir.ml" +# 24774 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24439,9 +24798,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_plus_start = -# 1843 "parser_cocci_menhir.mly" +# 1856 "parser_cocci_menhir.mly" ( (List.map (function x -> Ast0.wrap(Ast0.OTHER(x))) _1)@_2 ) -# 24445 "parser_cocci_menhir.ml" +# 24804 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24462,14 +24821,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 49 "parser_cocci_menhir.mly" (string) -# 24466 "parser_cocci_menhir.ml" +# 24825 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pnrule = # 235 "parser_cocci_menhir.mly" ( Ast.Dep _1 ) -# 24473 "parser_cocci_menhir.ml" +# 24832 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24494,14 +24853,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 49 "parser_cocci_menhir.mly" (string) -# 24498 "parser_cocci_menhir.ml" +# 24857 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = # 236 "parser_cocci_menhir.mly" ( Ast.AntiDep _2 ) -# 24505 "parser_cocci_menhir.ml" +# 24864 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24526,14 +24885,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 49 "parser_cocci_menhir.mly" (string) -# 24530 "parser_cocci_menhir.ml" +# 24889 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = # 237 "parser_cocci_menhir.mly" ( Ast.EverDep _2 ) -# 24537 "parser_cocci_menhir.ml" +# 24896 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24558,14 +24917,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 49 "parser_cocci_menhir.mly" (string) -# 24562 "parser_cocci_menhir.ml" +# 24921 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_pnrule = # 238 "parser_cocci_menhir.mly" ( Ast.NeverDep _2 ) -# 24569 "parser_cocci_menhir.ml" +# 24928 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24597,7 +24956,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pnrule = # 239 "parser_cocci_menhir.mly" ( _2 ) -# 24601 "parser_cocci_menhir.ml" +# 24960 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24619,9 +24978,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1362 "parser_cocci_menhir.mly" +# 1375 "parser_cocci_menhir.mly" ( _1 ) -# 24625 "parser_cocci_menhir.ml" +# 24984 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24657,22 +25016,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 24661 "parser_cocci_menhir.ml" +# 25020 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 24667 "parser_cocci_menhir.ml" +# 25026 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1364 "parser_cocci_menhir.mly" +# 1377 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 24676 "parser_cocci_menhir.ml" +# 25035 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24704,15 +25063,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 24708 "parser_cocci_menhir.ml" +# 25067 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1367 "parser_cocci_menhir.mly" +# 1380 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 24716 "parser_cocci_menhir.ml" +# 25075 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24744,16 +25103,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 107 "parser_cocci_menhir.mly" (Data.clt) -# 24748 "parser_cocci_menhir.ml" +# 25107 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1369 "parser_cocci_menhir.mly" +# 1382 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 24757 "parser_cocci_menhir.ml" +# 25116 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24779,15 +25138,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 24783 "parser_cocci_menhir.ml" +# 25142 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1372 "parser_cocci_menhir.mly" +# 1385 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 24791 "parser_cocci_menhir.ml" +# 25150 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24813,15 +25172,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 24817 "parser_cocci_menhir.ml" +# 25176 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1374 "parser_cocci_menhir.mly" +# 1387 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 24825 "parser_cocci_menhir.ml" +# 25184 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24857,23 +25216,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 24861 "parser_cocci_menhir.ml" +# 25220 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 24867 "parser_cocci_menhir.ml" +# 25226 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_dot_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_dot_expressions_ = -# 1376 "parser_cocci_menhir.mly" +# 1389 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 24877 "parser_cocci_menhir.ml" +# 25236 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24895,9 +25254,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1362 "parser_cocci_menhir.mly" +# 1375 "parser_cocci_menhir.mly" ( _1 ) -# 24901 "parser_cocci_menhir.ml" +# 25260 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24933,22 +25292,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 24937 "parser_cocci_menhir.ml" +# 25296 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 24943 "parser_cocci_menhir.ml" +# 25302 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1364 "parser_cocci_menhir.mly" +# 1377 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 24952 "parser_cocci_menhir.ml" +# 25311 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -24980,15 +25339,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 24984 "parser_cocci_menhir.ml" +# 25343 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1367 "parser_cocci_menhir.mly" +# 1380 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 24992 "parser_cocci_menhir.ml" +# 25351 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25020,16 +25379,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 107 "parser_cocci_menhir.mly" (Data.clt) -# 25024 "parser_cocci_menhir.ml" +# 25383 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1369 "parser_cocci_menhir.mly" +# 1382 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 25033 "parser_cocci_menhir.ml" +# 25392 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25055,15 +25414,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 25059 "parser_cocci_menhir.ml" +# 25418 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1372 "parser_cocci_menhir.mly" +# 1385 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 25067 "parser_cocci_menhir.ml" +# 25426 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25089,15 +25448,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 25093 "parser_cocci_menhir.ml" +# 25452 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1374 "parser_cocci_menhir.mly" +# 1387 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 25101 "parser_cocci_menhir.ml" +# 25460 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25133,23 +25492,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 25137 "parser_cocci_menhir.ml" +# 25496 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 25143 "parser_cocci_menhir.ml" +# 25502 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_invalid_ = -# 1376 "parser_cocci_menhir.mly" +# 1389 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 25153 "parser_cocci_menhir.ml" +# 25512 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25171,9 +25530,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1362 "parser_cocci_menhir.mly" +# 1375 "parser_cocci_menhir.mly" ( _1 ) -# 25177 "parser_cocci_menhir.ml" +# 25536 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25209,22 +25568,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 25213 "parser_cocci_menhir.ml" +# 25572 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 25219 "parser_cocci_menhir.ml" +# 25578 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1364 "parser_cocci_menhir.mly" +# 1377 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 25228 "parser_cocci_menhir.ml" +# 25587 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25256,15 +25615,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 25260 "parser_cocci_menhir.ml" +# 25619 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1367 "parser_cocci_menhir.mly" +# 1380 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 25268 "parser_cocci_menhir.ml" +# 25627 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25296,16 +25655,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 107 "parser_cocci_menhir.mly" (Data.clt) -# 25300 "parser_cocci_menhir.ml" +# 25659 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1369 "parser_cocci_menhir.mly" +# 1382 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 25309 "parser_cocci_menhir.ml" +# 25668 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25331,15 +25690,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 25335 "parser_cocci_menhir.ml" +# 25694 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1372 "parser_cocci_menhir.mly" +# 1385 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 25343 "parser_cocci_menhir.ml" +# 25702 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25365,15 +25724,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 25369 "parser_cocci_menhir.ml" +# 25728 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1374 "parser_cocci_menhir.mly" +# 1387 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 25377 "parser_cocci_menhir.ml" +# 25736 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25409,23 +25768,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 25413 "parser_cocci_menhir.ml" +# 25772 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 25419 "parser_cocci_menhir.ml" +# 25778 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_eexpr_nest_expressions_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_eexpr_nest_expressions_ = -# 1376 "parser_cocci_menhir.mly" +# 1389 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 25429 "parser_cocci_menhir.ml" +# 25788 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25447,9 +25806,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1362 "parser_cocci_menhir.mly" +# 1375 "parser_cocci_menhir.mly" ( _1 ) -# 25453 "parser_cocci_menhir.ml" +# 25812 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25485,22 +25844,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 25489 "parser_cocci_menhir.ml" +# 25848 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 105 "parser_cocci_menhir.mly" (Data.clt) -# 25495 "parser_cocci_menhir.ml" +# 25854 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1364 "parser_cocci_menhir.mly" +# 1377 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.ArrayAccess (_1,P.clt2mcode "[" _2,_3, P.clt2mcode "]" _4)) ) -# 25504 "parser_cocci_menhir.ml" +# 25863 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25532,15 +25891,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 25536 "parser_cocci_menhir.ml" +# 25895 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1367 "parser_cocci_menhir.mly" +# 1380 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordAccess(_1, P.clt2mcode "." _2, _3)) ) -# 25544 "parser_cocci_menhir.ml" +# 25903 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25572,16 +25931,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 107 "parser_cocci_menhir.mly" (Data.clt) -# 25576 "parser_cocci_menhir.ml" +# 25935 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1369 "parser_cocci_menhir.mly" +# 1382 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.RecordPtAccess(_1, P.clt2mcode "->" _2, _3)) ) -# 25585 "parser_cocci_menhir.ml" +# 25944 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25607,15 +25966,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 25611 "parser_cocci_menhir.ml" +# 25970 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1372 "parser_cocci_menhir.mly" +# 1385 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Inc _2)) ) -# 25619 "parser_cocci_menhir.ml" +# 25978 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25641,15 +26000,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 25645 "parser_cocci_menhir.ml" +# 26004 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1374 "parser_cocci_menhir.mly" +# 1387 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Postfix (_1, P.clt2mcode Ast.Dec _2)) ) -# 25653 "parser_cocci_menhir.ml" +# 26012 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25685,23 +26044,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 25689 "parser_cocci_menhir.ml" +# 26048 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 25695 "parser_cocci_menhir.ml" +# 26054 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_postfix_expr_expr_invalid_ = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_postfix_expr_expr_invalid_ = -# 1376 "parser_cocci_menhir.mly" +# 1389 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.FunCall(_1,P.clt2mcode "(" _2, _3, P.clt2mcode ")" _4)) ) -# 25705 "parser_cocci_menhir.ml" +# 26064 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25723,9 +26082,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1381 "parser_cocci_menhir.mly" +# 1394 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 25729 "parser_cocci_menhir.ml" +# 26088 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25746,15 +26105,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 25750 "parser_cocci_menhir.ml" +# 26109 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1383 "parser_cocci_menhir.mly" +# 1396 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 25758 "parser_cocci_menhir.ml" +# 26117 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25775,15 +26134,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 25779 "parser_cocci_menhir.ml" +# 26138 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1386 "parser_cocci_menhir.mly" +# 1399 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 25787 "parser_cocci_menhir.ml" +# 26146 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25804,15 +26163,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 25808 "parser_cocci_menhir.ml" +# 26167 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1389 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 25816 "parser_cocci_menhir.ml" +# 26175 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25833,15 +26192,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 25837 "parser_cocci_menhir.ml" +# 26196 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1392 "parser_cocci_menhir.mly" +# 1405 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 25845 "parser_cocci_menhir.ml" +# 26204 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25862,16 +26221,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25866 "parser_cocci_menhir.ml" +# 26225 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1395 "parser_cocci_menhir.mly" +# 1408 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) -# 25875 "parser_cocci_menhir.ml" +# 26234 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25892,15 +26251,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 66 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 25896 "parser_cocci_menhir.ml" +# 26255 "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" +# 1412 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 25904 "parser_cocci_menhir.ml" +# 26263 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25921,16 +26280,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25925 "parser_cocci_menhir.ml" +# 26284 "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" +# 1415 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) -# 25934 "parser_cocci_menhir.ml" +# 26293 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25951,16 +26310,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25955 "parser_cocci_menhir.ml" +# 26314 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1406 "parser_cocci_menhir.mly" +# 1419 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) -# 25964 "parser_cocci_menhir.ml" +# 26323 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -25981,16 +26340,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 25985 "parser_cocci_menhir.ml" +# 26344 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1410 "parser_cocci_menhir.mly" +# 1423 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) -# 25994 "parser_cocci_menhir.ml" +# 26353 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26021,21 +26380,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 26025 "parser_cocci_menhir.ml" +# 26384 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 26031 "parser_cocci_menhir.ml" +# 26390 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1414 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 26039 "parser_cocci_menhir.ml" +# 26398 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26066,23 +26425,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 26070 "parser_cocci_menhir.ml" +# 26429 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 26076 "parser_cocci_menhir.ml" +# 26435 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1417 "parser_cocci_menhir.mly" +# 1430 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 26086 "parser_cocci_menhir.ml" +# 26445 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26104,9 +26463,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_dot_expressions_ = -# 1421 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( _1 ) -# 26110 "parser_cocci_menhir.ml" +# 26469 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26128,9 +26487,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1381 "parser_cocci_menhir.mly" +# 1394 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 26134 "parser_cocci_menhir.ml" +# 26493 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26151,15 +26510,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 26155 "parser_cocci_menhir.ml" +# 26514 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1383 "parser_cocci_menhir.mly" +# 1396 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 26163 "parser_cocci_menhir.ml" +# 26522 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26180,15 +26539,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 26184 "parser_cocci_menhir.ml" +# 26543 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1386 "parser_cocci_menhir.mly" +# 1399 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 26192 "parser_cocci_menhir.ml" +# 26551 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26209,15 +26568,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 26213 "parser_cocci_menhir.ml" +# 26572 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1389 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 26221 "parser_cocci_menhir.ml" +# 26580 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26238,15 +26597,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 26242 "parser_cocci_menhir.ml" +# 26601 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1392 "parser_cocci_menhir.mly" +# 1405 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 26250 "parser_cocci_menhir.ml" +# 26609 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26267,16 +26626,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26271 "parser_cocci_menhir.ml" +# 26630 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1395 "parser_cocci_menhir.mly" +# 1408 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) -# 26280 "parser_cocci_menhir.ml" +# 26639 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26297,15 +26656,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 66 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 26301 "parser_cocci_menhir.ml" +# 26660 "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" +# 1412 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 26309 "parser_cocci_menhir.ml" +# 26668 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26326,16 +26685,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26330 "parser_cocci_menhir.ml" +# 26689 "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" +# 1415 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) -# 26339 "parser_cocci_menhir.ml" +# 26698 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26356,16 +26715,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26360 "parser_cocci_menhir.ml" +# 26719 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1406 "parser_cocci_menhir.mly" +# 1419 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) -# 26369 "parser_cocci_menhir.ml" +# 26728 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26386,16 +26745,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26390 "parser_cocci_menhir.ml" +# 26749 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1410 "parser_cocci_menhir.mly" +# 1423 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) -# 26399 "parser_cocci_menhir.ml" +# 26758 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26426,21 +26785,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 26430 "parser_cocci_menhir.ml" +# 26789 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 26436 "parser_cocci_menhir.ml" +# 26795 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1414 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 26444 "parser_cocci_menhir.ml" +# 26803 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26471,23 +26830,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 26475 "parser_cocci_menhir.ml" +# 26834 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 26481 "parser_cocci_menhir.ml" +# 26840 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1417 "parser_cocci_menhir.mly" +# 1430 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 26491 "parser_cocci_menhir.ml" +# 26850 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26509,9 +26868,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_invalid_ = -# 1421 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( _1 ) -# 26515 "parser_cocci_menhir.ml" +# 26874 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26533,9 +26892,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1381 "parser_cocci_menhir.mly" +# 1394 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 26539 "parser_cocci_menhir.ml" +# 26898 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26556,15 +26915,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 26560 "parser_cocci_menhir.ml" +# 26919 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1383 "parser_cocci_menhir.mly" +# 1396 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 26568 "parser_cocci_menhir.ml" +# 26927 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26585,15 +26944,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 26589 "parser_cocci_menhir.ml" +# 26948 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1386 "parser_cocci_menhir.mly" +# 1399 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 26597 "parser_cocci_menhir.ml" +# 26956 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26614,15 +26973,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 26618 "parser_cocci_menhir.ml" +# 26977 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1389 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 26626 "parser_cocci_menhir.ml" +# 26985 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26643,15 +27002,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 26647 "parser_cocci_menhir.ml" +# 27006 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1392 "parser_cocci_menhir.mly" +# 1405 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 26655 "parser_cocci_menhir.ml" +# 27014 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26672,16 +27031,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26676 "parser_cocci_menhir.ml" +# 27035 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1395 "parser_cocci_menhir.mly" +# 1408 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) -# 26685 "parser_cocci_menhir.ml" +# 27044 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26702,15 +27061,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 66 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 26706 "parser_cocci_menhir.ml" +# 27065 "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" +# 1412 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 26714 "parser_cocci_menhir.ml" +# 27073 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26731,16 +27090,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26735 "parser_cocci_menhir.ml" +# 27094 "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" +# 1415 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) -# 26744 "parser_cocci_menhir.ml" +# 27103 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26761,16 +27120,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26765 "parser_cocci_menhir.ml" +# 27124 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1406 "parser_cocci_menhir.mly" +# 1419 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) -# 26774 "parser_cocci_menhir.ml" +# 27133 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26791,16 +27150,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 26795 "parser_cocci_menhir.ml" +# 27154 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1410 "parser_cocci_menhir.mly" +# 1423 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) -# 26804 "parser_cocci_menhir.ml" +# 27163 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26831,21 +27190,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 26835 "parser_cocci_menhir.ml" +# 27194 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 26841 "parser_cocci_menhir.ml" +# 27200 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1414 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 26849 "parser_cocci_menhir.ml" +# 27208 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26876,23 +27235,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 26880 "parser_cocci_menhir.ml" +# 27239 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_eexpr_eexpr_ = Obj.magic _2 in let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 26886 "parser_cocci_menhir.ml" +# 27245 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1417 "parser_cocci_menhir.mly" +# 1430 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 26896 "parser_cocci_menhir.ml" +# 27255 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26914,9 +27273,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_eexpr_nest_expressions_ = -# 1421 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( _1 ) -# 26920 "parser_cocci_menhir.ml" +# 27279 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26938,9 +27297,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1381 "parser_cocci_menhir.mly" +# 1394 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Ident(_1)) ) -# 26944 "parser_cocci_menhir.ml" +# 27303 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26961,15 +27320,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 26965 "parser_cocci_menhir.ml" +# 27324 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1383 "parser_cocci_menhir.mly" +# 1396 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Int x) clt)) ) -# 26973 "parser_cocci_menhir.ml" +# 27332 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -26990,15 +27349,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 26994 "parser_cocci_menhir.ml" +# 27353 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1386 "parser_cocci_menhir.mly" +# 1399 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Float x) clt)) ) -# 27002 "parser_cocci_menhir.ml" +# 27361 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27019,15 +27378,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 27023 "parser_cocci_menhir.ml" +# 27382 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1389 "parser_cocci_menhir.mly" +# 1402 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.String x) clt)) ) -# 27031 "parser_cocci_menhir.ml" +# 27390 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27048,15 +27407,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 27052 "parser_cocci_menhir.ml" +# 27411 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1392 "parser_cocci_menhir.mly" +# 1405 "parser_cocci_menhir.mly" ( let (x,clt) = _1 in Ast0.wrap(Ast0.Constant (P.clt2mcode (Ast.Char x) clt)) ) -# 27060 "parser_cocci_menhir.ml" +# 27419 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27077,16 +27436,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 27081 "parser_cocci_menhir.ml" +# 27440 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1395 "parser_cocci_menhir.mly" +# 1408 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.CONST,pure)) ) -# 27090 "parser_cocci_menhir.ml" +# 27449 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27107,15 +27466,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 66 "parser_cocci_menhir.mly" (Parse_aux.expinfo) -# 27111 "parser_cocci_menhir.ml" +# 27470 "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" +# 1412 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,clt) = _1 in Ast0.wrap(Ast0.MetaErr(P.clt2mcode nm clt,constraints,pure)) ) -# 27119 "parser_cocci_menhir.ml" +# 27478 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27136,16 +27495,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 27140 "parser_cocci_menhir.ml" +# 27499 "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" +# 1415 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ANY,pure)) ) -# 27149 "parser_cocci_menhir.ml" +# 27508 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27166,16 +27525,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 27170 "parser_cocci_menhir.ml" +# 27529 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1406 "parser_cocci_menhir.mly" +# 1419 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.ID,pure)) ) -# 27179 "parser_cocci_menhir.ml" +# 27538 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27196,16 +27555,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 70 "parser_cocci_menhir.mly" (Parse_aux.typed_expinfo) -# 27200 "parser_cocci_menhir.ml" +# 27559 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1410 "parser_cocci_menhir.mly" +# 1423 "parser_cocci_menhir.mly" ( let (nm,constraints,pure,ty,clt) = _1 in Ast0.wrap (Ast0.MetaExpr(P.clt2mcode nm clt,constraints,ty,Ast.LocalID,pure)) ) -# 27209 "parser_cocci_menhir.ml" +# 27568 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27236,21 +27595,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 27240 "parser_cocci_menhir.ml" +# 27599 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 27246 "parser_cocci_menhir.ml" +# 27605 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1414 "parser_cocci_menhir.mly" +# 1427 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Paren(P.clt2mcode "(" _1,_2, P.clt2mcode ")" _3)) ) -# 27254 "parser_cocci_menhir.ml" +# 27613 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27281,23 +27640,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 27285 "parser_cocci_menhir.ml" +# 27644 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_expr_eexpr_ = Obj.magic _2 in let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 27291 "parser_cocci_menhir.ml" +# 27650 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1417 "parser_cocci_menhir.mly" +# 1430 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap(Ast0.DisjExpr(P.clt2mcode "(" _1, code, mids, P.clt2mcode ")" _3)) ) -# 27301 "parser_cocci_menhir.ml" +# 27660 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27319,9 +27678,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_primary_expr_expr_invalid_ = -# 1421 "parser_cocci_menhir.mly" +# 1434 "parser_cocci_menhir.mly" ( _1 ) -# 27325 "parser_cocci_menhir.ml" +# 27684 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27343,7 +27702,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pure = # 195 "parser_cocci_menhir.mly" ( Ast0.Pure ) -# 27347 "parser_cocci_menhir.ml" +# 27706 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27365,7 +27724,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pure = # 196 "parser_cocci_menhir.mly" ( Ast0.Context ) -# 27369 "parser_cocci_menhir.ml" +# 27728 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27391,7 +27750,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pure = # 197 "parser_cocci_menhir.mly" ( Ast0.PureContext ) -# 27395 "parser_cocci_menhir.ml" +# 27754 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27417,7 +27776,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pure = # 198 "parser_cocci_menhir.mly" ( Ast0.PureContext ) -# 27421 "parser_cocci_menhir.ml" +# 27780 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27434,7 +27793,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_pure = # 199 "parser_cocci_menhir.mly" ( Ast0.Impure ) -# 27438 "parser_cocci_menhir.ml" +# 27797 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27455,14 +27814,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 27459 "parser_cocci_menhir.ml" +# 27818 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident = -# 1435 "parser_cocci_menhir.mly" +# 1448 "parser_cocci_menhir.mly" ( _1 ) -# 27466 "parser_cocci_menhir.ml" +# 27825 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27482,9 +27841,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1438 "parser_cocci_menhir.mly" +# 1451 "parser_cocci_menhir.mly" ( "identifier" ) -# 27488 "parser_cocci_menhir.ml" +# 27847 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27504,9 +27863,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1439 "parser_cocci_menhir.mly" +# 1452 "parser_cocci_menhir.mly" ( "expression" ) -# 27510 "parser_cocci_menhir.ml" +# 27869 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27526,9 +27885,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1440 "parser_cocci_menhir.mly" +# 1453 "parser_cocci_menhir.mly" ( "statement" ) -# 27532 "parser_cocci_menhir.ml" +# 27891 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27548,9 +27907,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1441 "parser_cocci_menhir.mly" +# 1454 "parser_cocci_menhir.mly" ( "function" ) -# 27554 "parser_cocci_menhir.ml" +# 27913 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27570,9 +27929,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1442 "parser_cocci_menhir.mly" +# 1455 "parser_cocci_menhir.mly" ( "local" ) -# 27576 "parser_cocci_menhir.ml" +# 27935 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27592,9 +27951,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1443 "parser_cocci_menhir.mly" +# 1456 "parser_cocci_menhir.mly" ( "type" ) -# 27598 "parser_cocci_menhir.ml" +# 27957 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27614,9 +27973,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1444 "parser_cocci_menhir.mly" +# 1457 "parser_cocci_menhir.mly" ( "parameter" ) -# 27620 "parser_cocci_menhir.ml" +# 27979 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27636,9 +27995,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1445 "parser_cocci_menhir.mly" +# 1458 "parser_cocci_menhir.mly" ( "idexpression" ) -# 27642 "parser_cocci_menhir.ml" +# 28001 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27658,9 +28017,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1446 "parser_cocci_menhir.mly" +# 1459 "parser_cocci_menhir.mly" ( "initialiser" ) -# 27664 "parser_cocci_menhir.ml" +# 28023 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27680,9 +28039,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_kwd = -# 1447 "parser_cocci_menhir.mly" +# 1460 "parser_cocci_menhir.mly" ( "list" ) -# 27686 "parser_cocci_menhir.ml" +# 28045 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27702,9 +28061,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" +# 1461 "parser_cocci_menhir.mly" ( "fresh" ) -# 27708 "parser_cocci_menhir.ml" +# 28067 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27724,9 +28083,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" +# 1462 "parser_cocci_menhir.mly" ( "constant" ) -# 27730 "parser_cocci_menhir.ml" +# 28089 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27746,9 +28105,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" +# 1463 "parser_cocci_menhir.mly" ( "error" ) -# 27752 "parser_cocci_menhir.ml" +# 28111 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27768,9 +28127,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" +# 1464 "parser_cocci_menhir.mly" ( "words" ) -# 27774 "parser_cocci_menhir.ml" +# 28133 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27790,9 +28149,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" +# 1465 "parser_cocci_menhir.mly" ( "pure" ) -# 27796 "parser_cocci_menhir.ml" +# 28155 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27812,9 +28171,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" +# 1466 "parser_cocci_menhir.mly" ( "context" ) -# 27818 "parser_cocci_menhir.ml" +# 28177 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27834,9 +28193,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" +# 1467 "parser_cocci_menhir.mly" ( "generated" ) -# 27840 "parser_cocci_menhir.ml" +# 28199 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27856,9 +28215,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" +# 1468 "parser_cocci_menhir.mly" ( "typedef" ) -# 27862 "parser_cocci_menhir.ml" +# 28221 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27878,9 +28237,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" +# 1469 "parser_cocci_menhir.mly" ( "declarer" ) -# 27884 "parser_cocci_menhir.ml" +# 28243 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27900,9 +28259,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" +# 1470 "parser_cocci_menhir.mly" ( "iterator" ) -# 27906 "parser_cocci_menhir.ml" +# 28265 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27922,9 +28281,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" +# 1471 "parser_cocci_menhir.mly" ( "name" ) -# 27928 "parser_cocci_menhir.ml" +# 28287 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27944,9 +28303,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" +# 1472 "parser_cocci_menhir.mly" ( "position" ) -# 27950 "parser_cocci_menhir.ml" +# 28309 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27968,9 +28327,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1466 "parser_cocci_menhir.mly" +# 1479 "parser_cocci_menhir.mly" ( (None,P.id2name _1) ) -# 27974 "parser_cocci_menhir.ml" +# 28333 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -27992,9 +28351,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1467 "parser_cocci_menhir.mly" +# 1480 "parser_cocci_menhir.mly" ( (None,_1) ) -# 27998 "parser_cocci_menhir.ml" +# 28357 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28016,9 +28375,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident = -# 1468 "parser_cocci_menhir.mly" +# 1481 "parser_cocci_menhir.mly" ( _1 ) -# 28022 "parser_cocci_menhir.ml" +# 28381 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28046,13 +28405,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_optc_ in let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub_ = -# 1494 "parser_cocci_menhir.mly" +# 1507 "parser_cocci_menhir.mly" ( match optc with None -> (i, Ast0.NoConstraint) | Some c -> (i, c) ) -# 28056 "parser_cocci_menhir.ml" +# 28415 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28080,13 +28439,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_optc_ in let _v : 'tv_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub_ = -# 1494 "parser_cocci_menhir.mly" +# 1507 "parser_cocci_menhir.mly" ( match optc with None -> (i, Ast0.NoConstraint) | Some c -> (i, c) ) -# 28090 "parser_cocci_menhir.ml" +# 28449 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28114,13 +28473,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_c_ in let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid_ = -# 1512 "parser_cocci_menhir.mly" +# 1525 "parser_cocci_menhir.mly" ( match c with None -> (i, Ast.IdNoConstraint) | Some constraint_ -> (i,constraint_) ) -# 28124 "parser_cocci_menhir.ml" +# 28483 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28148,14 +28507,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_c_ in let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = -# 1502 "parser_cocci_menhir.mly" +# 1515 "parser_cocci_menhir.mly" ( Common.Left (match c with None -> (i, Ast.IdNoConstraint) | Some constraint_ -> (i,constraint_)) ) -# 28159 "parser_cocci_menhir.ml" +# 28518 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28185,9 +28544,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid_ = -# 1508 "parser_cocci_menhir.mly" +# 1521 "parser_cocci_menhir.mly" ( Common.Right (P.id2name _3) ) -# 28191 "parser_cocci_menhir.ml" +# 28550 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28209,9 +28568,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_pure_ident_or_meta_ident_with_seed = -# 1471 "parser_cocci_menhir.mly" +# 1484 "parser_cocci_menhir.mly" ( (_1,Ast.NoVal) ) -# 28215 "parser_cocci_menhir.ml" +# 28574 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28243,11 +28602,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_pure_ident_or_meta_ident_with_seed = -# 1474 "parser_cocci_menhir.mly" +# 1487 "parser_cocci_menhir.mly" ( match _3 with [Ast.SeedString s] -> (_1,Ast.StringSeed s) | _ -> (_1,Ast.ListSeed _3) ) -# 28251 "parser_cocci_menhir.ml" +# 28610 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28275,11 +28634,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_i_ in let _endpos = _endpos_l_ in let _v : 'tv_pure_ident_or_meta_ident_with_x_eq_not_pos_ = -# 1488 "parser_cocci_menhir.mly" +# 1501 "parser_cocci_menhir.mly" ( (i, l) ) -# 28283 "parser_cocci_menhir.ml" +# 28642 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28301,9 +28660,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_re_ in let _endpos = _endpos_re_ in let _v : 'tv_re_or_not_eqe_or_sub = -# 1573 "parser_cocci_menhir.mly" +# 1586 "parser_cocci_menhir.mly" (Ast0.NotIdCstrt re) -# 28307 "parser_cocci_menhir.ml" +# 28666 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28325,9 +28684,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ne_ in let _endpos = _endpos_ne_ in let _v : 'tv_re_or_not_eqe_or_sub = -# 1574 "parser_cocci_menhir.mly" +# 1587 "parser_cocci_menhir.mly" (Ast0.NotExpCstrt ne) -# 28331 "parser_cocci_menhir.ml" +# 28690 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28349,9 +28708,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_re_or_not_eqe_or_sub = -# 1575 "parser_cocci_menhir.mly" +# 1588 "parser_cocci_menhir.mly" (Ast0.SubExpCstrt s) -# 28355 "parser_cocci_menhir.ml" +# 28714 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28373,9 +28732,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_re_ in let _endpos = _endpos_re_ in let _v : 'tv_re_or_not_eqid = -# 1519 "parser_cocci_menhir.mly" +# 1532 "parser_cocci_menhir.mly" (Ast.IdRegExpConstraint re) -# 28379 "parser_cocci_menhir.ml" +# 28738 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28397,9 +28756,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_ne_ in let _endpos = _endpos_ne_ in let _v : 'tv_re_or_not_eqid = -# 1520 "parser_cocci_menhir.mly" +# 1533 "parser_cocci_menhir.mly" (ne) -# 28403 "parser_cocci_menhir.ml" +# 28762 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28424,19 +28783,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let re : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 28428 "parser_cocci_menhir.ml" +# 28787 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1524 "parser_cocci_menhir.mly" +# 1537 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); let (s,_) = re in Ast.IdRegExp (s,Str.regexp s) ) -# 28440 "parser_cocci_menhir.ml" +# 28799 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28461,19 +28820,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let re : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 28465 "parser_cocci_menhir.ml" +# 28824 "parser_cocci_menhir.ml" ) = Obj.magic re in let _startpos = _startpos__1_ in let _endpos = _endpos_re_ in let _v : 'tv_regexp_eqid = -# 1531 "parser_cocci_menhir.mly" +# 1544 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating then failwith "constraints not allowed in a generated rule file"); let (s,_) = re in Ast.IdNotRegExp (s,Str.regexp s) ) -# 28477 "parser_cocci_menhir.ml" +# 28836 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28490,11 +28849,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 136 "parser_cocci_menhir.mly" (unit) -# 28494 "parser_cocci_menhir.ml" +# 28853 "parser_cocci_menhir.ml" ) = # 177 "parser_cocci_menhir.mly" ( ) -# 28498 "parser_cocci_menhir.ml" +# 28857 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28516,9 +28875,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_rule_elem_statement = -# 943 "parser_cocci_menhir.mly" +# 952 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Decl((Ast0.default_info(),Ast0.context_befaft()),_1)) ) -# 28522 "parser_cocci_menhir.ml" +# 28881 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28544,15 +28903,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 28548 "parser_cocci_menhir.ml" +# 28907 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_expr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 944 "parser_cocci_menhir.mly" +# 953 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) -# 28556 "parser_cocci_menhir.ml" +# 28915 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28583,20 +28942,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 28587 "parser_cocci_menhir.ml" +# 28946 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 28593 "parser_cocci_menhir.ml" +# 28952 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 945 "parser_cocci_menhir.mly" +# 954 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) -# 28600 "parser_cocci_menhir.ml" +# 28959 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28622,19 +28981,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 28626 "parser_cocci_menhir.ml" +# 28985 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 28631 "parser_cocci_menhir.ml" +# 28990 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 946 "parser_cocci_menhir.mly" +# 955 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) -# 28638 "parser_cocci_menhir.ml" +# 28997 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28660,19 +29019,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 28664 "parser_cocci_menhir.ml" +# 29023 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 28669 "parser_cocci_menhir.ml" +# 29028 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 947 "parser_cocci_menhir.mly" +# 956 "parser_cocci_menhir.mly" ( P.break _1 _2 ) -# 28676 "parser_cocci_menhir.ml" +# 29035 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28698,19 +29057,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 28702 "parser_cocci_menhir.ml" +# 29061 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 28707 "parser_cocci_menhir.ml" +# 29066 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_rule_elem_statement = -# 948 "parser_cocci_menhir.mly" +# 957 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) -# 28714 "parser_cocci_menhir.ml" +# 29073 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28741,24 +29100,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 28745 "parser_cocci_menhir.ml" +# 29104 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_rule_elem_statement_rule_elem_statement_ = Obj.magic _2 in let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 28751 "parser_cocci_menhir.ml" +# 29110 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_rule_elem_statement = -# 950 "parser_cocci_menhir.mly" +# 959 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap (Ast0.Disj(P.clt2mcode "(" _1, List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code, mids, P.clt2mcode ")" _3)) ) -# 28762 "parser_cocci_menhir.ml" +# 29121 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28814,18 +29173,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 158 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28818 "parser_cocci_menhir.ml" +# 29177 "parser_cocci_menhir.ml" ) = let nm = # 39 "standard.mly" ( None ) -# 28823 "parser_cocci_menhir.ml" +# 29182 "parser_cocci_menhir.ml" in # 207 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) -# 28829 "parser_cocci_menhir.ml" +# 29188 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28887,19 +29246,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 158 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28891 "parser_cocci_menhir.ml" +# 29250 "parser_cocci_menhir.ml" ) = let nm = let x = x0 in # 41 "standard.mly" ( Some x ) -# 28897 "parser_cocci_menhir.ml" +# 29256 "parser_cocci_menhir.ml" in # 207 "parser_cocci_menhir.mly" ( P.make_cocci_rule_name_result nm d i a e ee ) -# 28903 "parser_cocci_menhir.ml" +# 29262 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -28959,11 +29318,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 158 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 28963 "parser_cocci_menhir.ml" +# 29322 "parser_cocci_menhir.ml" ) = # 212 "parser_cocci_menhir.mly" ( P.make_generated_rule_name_result None d i a e ee ) -# 28967 "parser_cocci_menhir.ml" +# 29326 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29005,11 +29364,78 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 158 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 29009 "parser_cocci_menhir.ml" - ) = +# 29368 "parser_cocci_menhir.ml" + ) = let nm = + +# 39 "standard.mly" + ( None ) +# 29373 "parser_cocci_menhir.ml" + + in + # 214 "parser_cocci_menhir.mly" - ( P.make_script_rule_name_result lang d ) -# 29013 "parser_cocci_menhir.ml" + ( P.make_script_rule_name_result lang nm d ) +# 29379 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + 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 : ( +# 158 "parser_cocci_menhir.mly" + (Ast_cocci.rulename) +# 29427 "parser_cocci_menhir.ml" + ) = let nm = + let x = x0 in + +# 41 "standard.mly" + ( Some x ) +# 29433 "parser_cocci_menhir.ml" + + in + +# 214 "parser_cocci_menhir.mly" + ( P.make_script_rule_name_result lang nm d ) +# 29439 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29051,11 +29477,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 158 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 29055 "parser_cocci_menhir.ml" +# 29481 "parser_cocci_menhir.ml" ) = # 216 "parser_cocci_menhir.mly" ( P.make_initial_script_rule_name_result lang d ) -# 29059 "parser_cocci_menhir.ml" +# 29485 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29097,11 +29523,11 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : ( # 158 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 29101 "parser_cocci_menhir.ml" +# 29527 "parser_cocci_menhir.ml" ) = # 218 "parser_cocci_menhir.mly" ( P.make_final_script_rule_name_result lang d ) -# 29105 "parser_cocci_menhir.ml" +# 29531 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29113,7 +29539,6 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _2; MenhirLib.EngineTypes.startp = _startpos__2_; MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { @@ -29124,19 +29549,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct MenhirLib.EngineTypes.next = _menhir_stack; }; } = _menhir_stack in - let _2 : 'tv_script_name_decl = Obj.magic _2 in let py : 'tv_pure_ident = Obj.magic py in let _startpos = _startpos_py_ in let _endpos = _endpos__2_ in let _v : ( # 164 "parser_cocci_menhir.mly" - ((string option (*string*) * string option (*ast*)) * Ast_cocci.meta_name * Ast_cocci.metavar) -# 29135 "parser_cocci_menhir.ml" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 29559 "parser_cocci_menhir.ml" ) = -# 2056 "parser_cocci_menhir.mly" - ( let (nm,mv) = _2 in - ((Some (P.id2name py), None), nm, mv) ) -# 29140 "parser_cocci_menhir.ml" +# 2069 "parser_cocci_menhir.mly" + ( ((Some (P.id2name py), None), None) ) +# 29563 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29148,27 +29571,69 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _6; - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = py; + MenhirLib.EngineTypes.startp = _startpos_py_; + MenhirLib.EngineTypes.endp = _endpos_py_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; + }; + } = _menhir_stack in + let _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 : ( +# 164 "parser_cocci_menhir.mly" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 29597 "parser_cocci_menhir.ml" + ) = +# 2071 "parser_cocci_menhir.mly" + ( ((Some (P.id2name py), None), Some _2) ) +# 29601 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + 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.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.semv = _6; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ast; - MenhirLib.EngineTypes.startp = _startpos_ast_; - MenhirLib.EngineTypes.endp = _endpos_ast_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = ast; + MenhirLib.EngineTypes.startp = _startpos_ast_; + MenhirLib.EngineTypes.endp = _endpos_ast_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; @@ -29178,16 +29643,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _6 : 'tv_script_name_decl = Obj.magic _6 in let ast : 'tv_pure_ident = Obj.magic ast in let _startpos = _startpos__1_ in - let _endpos = _endpos__6_ in + let _endpos = _endpos__7_ in let _v : ( # 164 "parser_cocci_menhir.mly" - ((string option (*string*) * string option (*ast*)) * Ast_cocci.meta_name * Ast_cocci.metavar) -# 29186 "parser_cocci_menhir.ml" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 29651 "parser_cocci_menhir.ml" ) = -# 2059 "parser_cocci_menhir.mly" - ( let (nm,mv) = _6 in - ((None, Some (P.id2name ast)), nm, mv) ) -# 29191 "parser_cocci_menhir.ml" +# 2073 "parser_cocci_menhir.mly" + ( ((None, Some (P.id2name ast)), Some _6) ) +# 29655 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29199,27 +29663,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _6; - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.semv = _6; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__4_; - MenhirLib.EngineTypes.endp = _endpos__4_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.startp = _startpos__4_; + MenhirLib.EngineTypes.endp = _endpos__4_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = str; - MenhirLib.EngineTypes.startp = _startpos_str_; - MenhirLib.EngineTypes.endp = _endpos_str_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = str; + MenhirLib.EngineTypes.startp = _startpos_str_; + MenhirLib.EngineTypes.endp = _endpos_str_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; @@ -29229,16 +29697,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _6 : 'tv_script_name_decl = Obj.magic _6 in let str : 'tv_pure_ident = Obj.magic str in let _startpos = _startpos__1_ in - let _endpos = _endpos__6_ in + let _endpos = _endpos__7_ in let _v : ( # 164 "parser_cocci_menhir.mly" - ((string option (*string*) * string option (*ast*)) * Ast_cocci.meta_name * Ast_cocci.metavar) -# 29237 "parser_cocci_menhir.ml" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 29705 "parser_cocci_menhir.ml" ) = -# 2062 "parser_cocci_menhir.mly" - ( let (nm,mv) = _6 in - ((Some (P.id2name str), None), nm, mv) ) -# 29242 "parser_cocci_menhir.ml" +# 2075 "parser_cocci_menhir.mly" + ( ((Some (P.id2name str), None), Some _6) ) +# 29709 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29250,28 +29717,32 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.semv = _6; - MenhirLib.EngineTypes.startp = _startpos__6_; - MenhirLib.EngineTypes.endp = _endpos__6_; + MenhirLib.EngineTypes.startp = _startpos__7_; + MenhirLib.EngineTypes.endp = _endpos__7_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.semv = _6; + MenhirLib.EngineTypes.startp = _startpos__6_; + MenhirLib.EngineTypes.endp = _endpos__6_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = ast; - MenhirLib.EngineTypes.startp = _startpos_ast_; - MenhirLib.EngineTypes.endp = _endpos_ast_; + MenhirLib.EngineTypes.startp = _startpos__5_; + MenhirLib.EngineTypes.endp = _endpos__5_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = ast; + MenhirLib.EngineTypes.startp = _startpos_ast_; + MenhirLib.EngineTypes.endp = _endpos_ast_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = str; - MenhirLib.EngineTypes.startp = _startpos_str_; - MenhirLib.EngineTypes.endp = _endpos_str_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; + MenhirLib.EngineTypes.semv = str; + MenhirLib.EngineTypes.startp = _startpos_str_; + MenhirLib.EngineTypes.endp = _endpos_str_; + MenhirLib.EngineTypes.next = { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + }; }; }; }; @@ -29282,16 +29753,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ast : 'tv_pure_ident = Obj.magic ast in let str : 'tv_pure_ident = Obj.magic str in let _startpos = _startpos__1_ in - let _endpos = _endpos__6_ in + let _endpos = _endpos__7_ in let _v : ( # 164 "parser_cocci_menhir.mly" - ((string option (*string*) * string option (*ast*)) * Ast_cocci.meta_name * Ast_cocci.metavar) -# 29290 "parser_cocci_menhir.ml" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 29761 "parser_cocci_menhir.ml" ) = -# 2065 "parser_cocci_menhir.mly" - ( let (nm,mv) = _6 in - ((Some (P.id2name str), Some (P.id2name ast)), nm, mv) ) -# 29295 "parser_cocci_menhir.ml" +# 2077 "parser_cocci_menhir.mly" + ( ((Some (P.id2name str), Some (P.id2name ast)), Some _6) ) +# 29765 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29303,25 +29773,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.semv = cocci; + MenhirLib.EngineTypes.startp = _startpos_cocci_; + MenhirLib.EngineTypes.endp = _endpos_cocci_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = cocci; - MenhirLib.EngineTypes.startp = _startpos_cocci_; - MenhirLib.EngineTypes.endp = _endpos_cocci_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.semv = _2; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = _2; - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; }; @@ -29330,16 +29796,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 49 "parser_cocci_menhir.mly" (string) -# 29334 "parser_cocci_menhir.ml" +# 29800 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _startpos = _startpos__1_ in - let _endpos = _endpos__5_ in + let _endpos = _endpos_cocci_ in let _v : 'tv_script_name_decl = -# 2070 "parser_cocci_menhir.mly" +# 2081 "parser_cocci_menhir.mly" ( let nm = P.id2name cocci in let mv = Parse_aux.lookup _2 nm in ((_2, nm), mv) ) -# 29343 "parser_cocci_menhir.ml" +# 29809 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29351,38 +29817,34 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct (fun _menhir_env -> let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in let { - MenhirLib.EngineTypes.startp = _startpos__5_; - MenhirLib.EngineTypes.endp = _endpos__5_; + MenhirLib.EngineTypes.semv = cocci; + MenhirLib.EngineTypes.startp = _startpos_cocci_; + MenhirLib.EngineTypes.endp = _endpos_cocci_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.semv = cocci; - MenhirLib.EngineTypes.startp = _startpos_cocci_; - MenhirLib.EngineTypes.endp = _endpos_cocci_; + MenhirLib.EngineTypes.startp = _startpos__3_; + MenhirLib.EngineTypes.endp = _endpos__3_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__3_; - MenhirLib.EngineTypes.endp = _endpos__3_; + MenhirLib.EngineTypes.startp = _startpos__2_; + MenhirLib.EngineTypes.endp = _endpos__2_; MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.startp = _startpos__2_; - MenhirLib.EngineTypes.endp = _endpos__2_; - MenhirLib.EngineTypes.next = { - MenhirLib.EngineTypes.state = _menhir_s; - MenhirLib.EngineTypes.startp = _startpos__1_; - MenhirLib.EngineTypes.endp = _endpos__1_; - MenhirLib.EngineTypes.next = _menhir_stack; - }; + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; }; }; }; } = _menhir_stack in let cocci : 'tv_pure_ident = Obj.magic cocci in let _startpos = _startpos__1_ in - let _endpos = _endpos__5_ in + let _endpos = _endpos_cocci_ in let _v : 'tv_script_name_decl = -# 2074 "parser_cocci_menhir.mly" +# 2085 "parser_cocci_menhir.mly" ( let nm = P.id2name cocci in let name = ("virtual", nm) in let mv = Ast.MetaIdDecl(Ast.NONE,name) in - (name,mv) ) -# 29386 "parser_cocci_menhir.ml" + (name,mv) ) +# 29848 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29403,14 +29865,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 29407 "parser_cocci_menhir.ml" +# 29869 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1479 "parser_cocci_menhir.mly" +# 1492 "parser_cocci_menhir.mly" ( let (x,_) = _1 in Ast.SeedString x ) -# 29414 "parser_cocci_menhir.ml" +# 29876 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29431,14 +29893,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 64 "parser_cocci_menhir.mly" (Parse_aux.idinfo) -# 29435 "parser_cocci_menhir.ml" +# 29897 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_seed_elem = -# 1480 "parser_cocci_menhir.mly" +# 1493 "parser_cocci_menhir.mly" ( let (x,_,_,_) = _1 in Ast.SeedId x ) -# 29442 "parser_cocci_menhir.ml" +# 29904 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29469,16 +29931,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 49 "parser_cocci_menhir.mly" (string) -# 29473 "parser_cocci_menhir.ml" +# 29935 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_seed_elem = -# 1482 "parser_cocci_menhir.mly" +# 1495 "parser_cocci_menhir.mly" ( let nm = (_1,P.id2name _3) in P.check_meta(Ast.MetaIdDecl(Ast.NONE,nm)); Ast.SeedId nm ) -# 29482 "parser_cocci_menhir.ml" +# 29944 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29499,14 +29961,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let x : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 29503 "parser_cocci_menhir.ml" +# 29965 "parser_cocci_menhir.ml" ) = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_x_ in let _v : 'tv_separated_nonempty_list_TComma_TString_ = # 144 "standard.mly" ( [ x ] ) -# 29510 "parser_cocci_menhir.ml" +# 29972 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29537,14 +29999,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let x : ( # 90 "parser_cocci_menhir.mly" (string * Data.clt) -# 29541 "parser_cocci_menhir.ml" +# 30003 "parser_cocci_menhir.ml" ) = Obj.magic x in let _startpos = _startpos_x_ in let _endpos = _endpos_xs_ in let _v : 'tv_separated_nonempty_list_TComma_TString_ = # 146 "standard.mly" ( x :: xs ) -# 29548 "parser_cocci_menhir.ml" +# 30010 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29568,7 +30030,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = # 144 "standard.mly" ( [ x ] ) -# 29572 "parser_cocci_menhir.ml" +# 30034 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29602,7 +30064,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_any_strict_ = # 146 "standard.mly" ( x :: xs ) -# 29606 "parser_cocci_menhir.ml" +# 30068 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29626,7 +30088,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ctype_ = # 144 "standard.mly" ( [ x ] ) -# 29630 "parser_cocci_menhir.ml" +# 30092 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29660,7 +30122,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ctype_ = # 146 "standard.mly" ( x :: xs ) -# 29664 "parser_cocci_menhir.ml" +# 30126 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29684,7 +30146,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29688 "parser_cocci_menhir.ml" +# 30150 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29718,7 +30180,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_d_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29722 "parser_cocci_menhir.ml" +# 30184 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29742,7 +30204,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = # 144 "standard.mly" ( [ x ] ) -# 29746 "parser_cocci_menhir.ml" +# 30208 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29776,7 +30238,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_ident_or_const_ = # 146 "standard.mly" ( x :: xs ) -# 29780 "parser_cocci_menhir.ml" +# 30242 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29800,7 +30262,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29804 "parser_cocci_menhir.ml" +# 30266 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29834,7 +30296,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_meta_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29838 "parser_cocci_menhir.ml" +# 30300 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29858,7 +30320,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29862 "parser_cocci_menhir.ml" +# 30324 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29892,7 +30354,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29896 "parser_cocci_menhir.ml" +# 30358 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29916,7 +30378,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = # 144 "standard.mly" ( [ x ] ) -# 29920 "parser_cocci_menhir.ml" +# 30382 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29950,7 +30412,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_ = # 146 "standard.mly" ( x :: xs ) -# 29954 "parser_cocci_menhir.ml" +# 30416 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -29974,7 +30436,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = # 144 "standard.mly" ( [ x ] ) -# 29978 "parser_cocci_menhir.ml" +# 30440 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30008,7 +30470,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_not_ceq_or_sub__ = # 146 "standard.mly" ( x :: xs ) -# 30012 "parser_cocci_menhir.ml" +# 30474 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30032,7 +30494,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = # 144 "standard.mly" ( [ x ] ) -# 30036 "parser_cocci_menhir.ml" +# 30498 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30066,7 +30528,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_econstraint_re_or_not_eqe_or_sub__ = # 146 "standard.mly" ( x :: xs ) -# 30070 "parser_cocci_menhir.ml" +# 30532 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30090,7 +30552,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = # 144 "standard.mly" ( [ x ] ) -# 30094 "parser_cocci_menhir.ml" +# 30556 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30124,7 +30586,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_re_or_not_eqid__ = # 146 "standard.mly" ( x :: xs ) -# 30128 "parser_cocci_menhir.ml" +# 30590 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30148,7 +30610,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = # 144 "standard.mly" ( [ x ] ) -# 30152 "parser_cocci_menhir.ml" +# 30614 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30182,7 +30644,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_idconstraint_virt_re_or_not_eqid__ = # 146 "standard.mly" ( x :: xs ) -# 30186 "parser_cocci_menhir.ml" +# 30648 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30206,7 +30668,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = # 144 "standard.mly" ( [ x ] ) -# 30210 "parser_cocci_menhir.ml" +# 30672 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30240,7 +30702,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_seed_ = # 146 "standard.mly" ( x :: xs ) -# 30244 "parser_cocci_menhir.ml" +# 30706 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30264,7 +30726,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = # 144 "standard.mly" ( [ x ] ) -# 30268 "parser_cocci_menhir.ml" +# 30730 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30298,7 +30760,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_pure_ident_or_meta_ident_with_x_eq_not_pos__ = # 146 "standard.mly" ( x :: xs ) -# 30302 "parser_cocci_menhir.ml" +# 30764 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30322,7 +30784,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = # 144 "standard.mly" ( [ x ] ) -# 30326 "parser_cocci_menhir.ml" +# 30788 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30356,7 +30818,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TComma_typedef_ident_ = # 146 "standard.mly" ( x :: xs ) -# 30360 "parser_cocci_menhir.ml" +# 30822 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30380,7 +30842,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = # 144 "standard.mly" ( [ x ] ) -# 30384 "parser_cocci_menhir.ml" +# 30846 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30414,7 +30876,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _v : 'tv_separated_nonempty_list_TCppConcatOp_seed_elem_ = # 146 "standard.mly" ( x :: xs ) -# 30418 "parser_cocci_menhir.ml" +# 30880 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30436,9 +30898,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_single_statement = -# 958 "parser_cocci_menhir.mly" +# 967 "parser_cocci_menhir.mly" ( _1 ) -# 30442 "parser_cocci_menhir.ml" +# 30904 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30469,24 +30931,24 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 30473 "parser_cocci_menhir.ml" +# 30935 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_midzero_list_statement_statement_ = Obj.magic _2 in let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 30479 "parser_cocci_menhir.ml" +# 30941 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_single_statement = -# 962 "parser_cocci_menhir.mly" +# 971 "parser_cocci_menhir.mly" ( let (mids,code) = _2 in Ast0.wrap (Ast0.Disj(P.clt2mcode "(" _1, List.map (function x -> Ast0.wrap(Ast0.DOTS([x]))) code, mids, P.clt2mcode ")" _3)) ) -# 30490 "parser_cocci_menhir.ml" +# 30952 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30508,9 +30970,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 885 "parser_cocci_menhir.mly" +# 894 "parser_cocci_menhir.mly" ( _1 ) -# 30514 "parser_cocci_menhir.ml" +# 30976 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30531,14 +30993,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 30535 "parser_cocci_menhir.ml" +# 30997 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_statement = -# 887 "parser_cocci_menhir.mly" +# 896 "parser_cocci_menhir.mly" ( P.meta_stm _1 ) -# 30542 "parser_cocci_menhir.ml" +# 31004 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30564,15 +31026,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 30568 "parser_cocci_menhir.ml" +# 31030 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_expr = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 889 "parser_cocci_menhir.mly" +# 898 "parser_cocci_menhir.mly" ( P.exp_stm _1 _2 ) -# 30576 "parser_cocci_menhir.ml" +# 31038 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30614,25 +31076,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 30618 "parser_cocci_menhir.ml" +# 31080 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 30624 "parser_cocci_menhir.ml" +# 31086 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 30629 "parser_cocci_menhir.ml" +# 31091 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 891 "parser_cocci_menhir.mly" +# 900 "parser_cocci_menhir.mly" ( P.ifthen _1 _2 _3 _4 _5 ) -# 30636 "parser_cocci_menhir.ml" +# 31098 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30684,31 +31146,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _6 : ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 30688 "parser_cocci_menhir.ml" +# 31150 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_single_statement = Obj.magic _5 in let _4 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 30694 "parser_cocci_menhir.ml" +# 31156 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 30700 "parser_cocci_menhir.ml" +# 31162 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 30705 "parser_cocci_menhir.ml" +# 31167 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 893 "parser_cocci_menhir.mly" +# 902 "parser_cocci_menhir.mly" ( P.ifthenelse _1 _2 _3 _4 _5 _6 _7 ) -# 30712 "parser_cocci_menhir.ml" +# 31174 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30770,37 +31232,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _8 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 30774 "parser_cocci_menhir.ml" +# 31236 "parser_cocci_menhir.ml" ) = Obj.magic _8 in let _7 : 'tv_option_eexpr_ = Obj.magic _7 in let _6 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 30780 "parser_cocci_menhir.ml" +# 31242 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_option_eexpr_ = Obj.magic _5 in let _4 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 30786 "parser_cocci_menhir.ml" +# 31248 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_option_eexpr_ = Obj.magic _3 in let _2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 30792 "parser_cocci_menhir.ml" +# 31254 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 30797 "parser_cocci_menhir.ml" +# 31259 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__9_ in let _v : 'tv_statement = -# 896 "parser_cocci_menhir.mly" +# 905 "parser_cocci_menhir.mly" ( P.forloop _1 _2 _3 _4 _5 _6 _7 _8 _9 ) -# 30804 "parser_cocci_menhir.ml" +# 31266 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30842,25 +31304,25 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 30846 "parser_cocci_menhir.ml" +# 31308 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 30852 "parser_cocci_menhir.ml" +# 31314 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 30857 "parser_cocci_menhir.ml" +# 31319 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 898 "parser_cocci_menhir.mly" +# 907 "parser_cocci_menhir.mly" ( P.whileloop _1 _2 _3 _4 _5 ) -# 30864 "parser_cocci_menhir.ml" +# 31326 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30911,36 +31373,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _7 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 30915 "parser_cocci_menhir.ml" +# 31377 "parser_cocci_menhir.ml" ) = Obj.magic _7 in let _6 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 30920 "parser_cocci_menhir.ml" +# 31382 "parser_cocci_menhir.ml" ) = Obj.magic _6 in let _5 : 'tv_eexpr = Obj.magic _5 in let _4 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 30926 "parser_cocci_menhir.ml" +# 31388 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 30931 "parser_cocci_menhir.ml" +# 31393 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_single_statement = Obj.magic _2 in let _1 : ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 30937 "parser_cocci_menhir.ml" +# 31399 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__7_ in let _v : 'tv_statement = -# 900 "parser_cocci_menhir.mly" +# 909 "parser_cocci_menhir.mly" ( P.doloop _1 _2 _3 _4 _5 _6 _7 ) -# 30944 "parser_cocci_menhir.ml" +# 31406 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -30982,21 +31444,21 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _4 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 30986 "parser_cocci_menhir.ml" +# 31448 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr_list_option = Obj.magic _3 in let _2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 30992 "parser_cocci_menhir.ml" +# 31454 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_iter_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__5_ in let _v : 'tv_statement = -# 902 "parser_cocci_menhir.mly" +# 911 "parser_cocci_menhir.mly" ( P.iterator _1 _2 _3 _4 _5 ) -# 31000 "parser_cocci_menhir.ml" +# 31462 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31052,37 +31514,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _8 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 31056 "parser_cocci_menhir.ml" +# 31518 "parser_cocci_menhir.ml" ) = Obj.magic _8 in let _7 : 'tv_list_case_line_ = Obj.magic _7 in let _6 : 'tv_list_decl_var_ = Obj.magic _6 in let _5 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 31063 "parser_cocci_menhir.ml" +# 31525 "parser_cocci_menhir.ml" ) = Obj.magic _5 in let _4 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 31068 "parser_cocci_menhir.ml" +# 31530 "parser_cocci_menhir.ml" ) = Obj.magic _4 in let _3 : 'tv_eexpr = Obj.magic _3 in let _2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 31074 "parser_cocci_menhir.ml" +# 31536 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 31079 "parser_cocci_menhir.ml" +# 31541 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__8_ in let _v : 'tv_statement = -# 904 "parser_cocci_menhir.mly" +# 913 "parser_cocci_menhir.mly" ( P.switch _1 _2 _3 _4 _5 (List.concat _6) _7 _8 ) -# 31086 "parser_cocci_menhir.ml" +# 31548 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31113,20 +31575,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 31117 "parser_cocci_menhir.ml" +# 31579 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_eexpr = Obj.magic _2 in let _1 : ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 31123 "parser_cocci_menhir.ml" +# 31585 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 905 "parser_cocci_menhir.mly" +# 914 "parser_cocci_menhir.mly" ( P.ret_exp _1 _2 _3 ) -# 31130 "parser_cocci_menhir.ml" +# 31592 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31152,19 +31614,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 31156 "parser_cocci_menhir.ml" +# 31618 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 59 "parser_cocci_menhir.mly" (Data.clt) -# 31161 "parser_cocci_menhir.ml" +# 31623 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 906 "parser_cocci_menhir.mly" +# 915 "parser_cocci_menhir.mly" ( P.ret _1 _2 ) -# 31168 "parser_cocci_menhir.ml" +# 31630 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31190,19 +31652,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 31194 "parser_cocci_menhir.ml" +# 31656 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 31199 "parser_cocci_menhir.ml" +# 31661 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 907 "parser_cocci_menhir.mly" +# 916 "parser_cocci_menhir.mly" ( P.break _1 _2 ) -# 31206 "parser_cocci_menhir.ml" +# 31668 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31228,19 +31690,19 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 31232 "parser_cocci_menhir.ml" +# 31694 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 31237 "parser_cocci_menhir.ml" +# 31699 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 908 "parser_cocci_menhir.mly" +# 917 "parser_cocci_menhir.mly" ( P.cont _1 _2 ) -# 31244 "parser_cocci_menhir.ml" +# 31706 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31266,15 +31728,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 31270 "parser_cocci_menhir.ml" +# 31732 "parser_cocci_menhir.ml" ) = Obj.magic _2 in let _1 : 'tv_ident = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_statement = -# 909 "parser_cocci_menhir.mly" +# 918 "parser_cocci_menhir.mly" ( P.label _1 _2 ) -# 31278 "parser_cocci_menhir.ml" +# 31740 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31305,20 +31767,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 31309 "parser_cocci_menhir.ml" +# 31771 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_ident = Obj.magic _2 in let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 31315 "parser_cocci_menhir.ml" +# 31777 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 910 "parser_cocci_menhir.mly" +# 919 "parser_cocci_menhir.mly" ( P.goto _1 _2 _3 ) -# 31322 "parser_cocci_menhir.ml" +# 31784 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31349,20 +31811,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 31353 "parser_cocci_menhir.ml" +# 31815 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_fun_start = Obj.magic _2 in let _1 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 31359 "parser_cocci_menhir.ml" +# 31821 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_statement = -# 912 "parser_cocci_menhir.mly" +# 921 "parser_cocci_menhir.mly" ( P.seq _1 _2 _3 ) -# 31366 "parser_cocci_menhir.ml" +# 31828 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31389,14 +31851,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 31393 "parser_cocci_menhir.ml" +# 31855 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_w_ in let _v : 'tv_stm_dots = -# 916 "parser_cocci_menhir.mly" +# 925 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." _1, List.concat w)) ) -# 31400 "parser_cocci_menhir.ml" +# 31862 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31432,22 +31894,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 31436 "parser_cocci_menhir.ml" +# 31898 "parser_cocci_menhir.ml" ) = Obj.magic c in let b : 'tv_nest_start = Obj.magic b in let w : 'tv_list_whenppdecs_ = Obj.magic w in let _1 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 31443 "parser_cocci_menhir.ml" +# 31905 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 918 "parser_cocci_menhir.mly" +# 927 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." _1, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 31451 "parser_cocci_menhir.ml" +# 31913 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31483,22 +31945,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 31487 "parser_cocci_menhir.ml" +# 31949 "parser_cocci_menhir.ml" ) = Obj.magic c in let b : 'tv_nest_start = Obj.magic b in let w : 'tv_list_whenppdecs_ = Obj.magic w in let _1 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 31494 "parser_cocci_menhir.ml" +# 31956 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos_c_ in let _v : 'tv_stm_dots = -# 921 "parser_cocci_menhir.mly" +# 930 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." _1, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 31502 "parser_cocci_menhir.ml" +# 31964 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31519,14 +31981,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 55 "parser_cocci_menhir.mly" (Data.clt) -# 31523 "parser_cocci_menhir.ml" +# 31985 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 847 "parser_cocci_menhir.mly" +# 856 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Static s ) -# 31530 "parser_cocci_menhir.ml" +# 31992 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31547,14 +32009,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 55 "parser_cocci_menhir.mly" (Data.clt) -# 31551 "parser_cocci_menhir.ml" +# 32013 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 848 "parser_cocci_menhir.mly" +# 857 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Auto s ) -# 31558 "parser_cocci_menhir.ml" +# 32020 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31575,14 +32037,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 55 "parser_cocci_menhir.mly" (Data.clt) -# 31579 "parser_cocci_menhir.ml" +# 32041 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 849 "parser_cocci_menhir.mly" +# 858 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Register s ) -# 31586 "parser_cocci_menhir.ml" +# 32048 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31603,14 +32065,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 55 "parser_cocci_menhir.mly" (Data.clt) -# 31607 "parser_cocci_menhir.ml" +# 32069 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_storage = -# 850 "parser_cocci_menhir.mly" +# 859 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Extern s ) -# 31614 "parser_cocci_menhir.ml" +# 32076 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31630,9 +32092,37 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl = -# 601 "parser_cocci_menhir.mly" +# 609 "parser_cocci_menhir.mly" ( [] ) -# 31636 "parser_cocci_menhir.ml" +# 32098 "parser_cocci_menhir.ml" + in + _menhir_env.MenhirLib.EngineTypes.stack <- { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = Obj.repr _v; + MenhirLib.EngineTypes.startp = _startpos; + MenhirLib.EngineTypes.endp = _endpos; + MenhirLib.EngineTypes.next = _menhir_stack; + }); + (fun _menhir_env -> + let _menhir_stack = _menhir_env.MenhirLib.EngineTypes.stack in + let { + MenhirLib.EngineTypes.state = _menhir_s; + MenhirLib.EngineTypes.semv = _1; + MenhirLib.EngineTypes.startp = _startpos__1_; + MenhirLib.EngineTypes.endp = _endpos__1_; + MenhirLib.EngineTypes.next = _menhir_stack; + } = _menhir_stack in + let _1 : ( +# 68 "parser_cocci_menhir.mly" + (Parse_aux.info) +# 32119 "parser_cocci_menhir.ml" + ) = Obj.magic _1 in + let _startpos = _startpos__1_ in + let _endpos = _endpos__1_ in + let _v : 'tv_struct_decl = +# 610 "parser_cocci_menhir.mly" + ( [P.meta_field _1] ) +# 32126 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31663,17 +32153,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 31667 "parser_cocci_menhir.ml" +# 32157 "parser_cocci_menhir.ml" ) = Obj.magic pv in let d : 'tv_d_ident = Obj.magic d in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_struct_decl = -# 603 "parser_cocci_menhir.mly" +# 612 "parser_cocci_menhir.mly" ( let (id,fn) = d in [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] ) -# 31677 "parser_cocci_menhir.ml" +# 32167 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31734,40 +32224,40 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 31738 "parser_cocci_menhir.ml" +# 32228 "parser_cocci_menhir.ml" ) = Obj.magic pv in let rp2 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 31743 "parser_cocci_menhir.ml" +# 32233 "parser_cocci_menhir.ml" ) = Obj.magic rp2 in let p : 'tv_decl_list_name_opt_decl_ = Obj.magic p in let lp2 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 31749 "parser_cocci_menhir.ml" +# 32239 "parser_cocci_menhir.ml" ) = Obj.magic lp2 in let rp1 : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 31754 "parser_cocci_menhir.ml" +# 32244 "parser_cocci_menhir.ml" ) = Obj.magic rp1 in let d : 'tv_d_ident = Obj.magic d in let st : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 31760 "parser_cocci_menhir.ml" +# 32250 "parser_cocci_menhir.ml" ) = Obj.magic st in let lp1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 31765 "parser_cocci_menhir.ml" +# 32255 "parser_cocci_menhir.ml" ) = Obj.magic lp1 in let t : 'tv_ctype = Obj.magic t in let _startpos = _startpos_t_ in let _endpos = _endpos_pv_ in let _v : 'tv_struct_decl = -# 607 "parser_cocci_menhir.mly" +# 616 "parser_cocci_menhir.mly" ( let (id,fn) = d in let t = Ast0.wrap @@ -31775,7 +32265,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(None,fn t,id,P.clt2mcode ";" pv))] ) -# 31779 "parser_cocci_menhir.ml" +# 32269 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31806,7 +32296,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 31810 "parser_cocci_menhir.ml" +# 32300 "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 @@ -31816,15 +32306,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 31820 "parser_cocci_menhir.ml" +# 32310 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 624 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] ) -# 31828 "parser_cocci_menhir.ml" +# 32318 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31860,7 +32350,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let pv : ( # 110 "parser_cocci_menhir.mly" (Data.clt) -# 31864 "parser_cocci_menhir.ml" +# 32354 "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 @@ -31872,15 +32362,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 31876 "parser_cocci_menhir.ml" +# 32366 "parser_cocci_menhir.ml" in -# 615 "parser_cocci_menhir.mly" +# 624 "parser_cocci_menhir.mly" ( let (id,fn) = d in let idtype = P.make_cv cv (Ast0.wrap (Ast0.TypeName(P.id2mcode i))) in [Ast0.wrap(Ast0.UnInit(None,fn idtype,id,P.clt2mcode ";" pv))] ) -# 31884 "parser_cocci_menhir.ml" +# 32374 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31902,9 +32392,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list = -# 620 "parser_cocci_menhir.mly" +# 629 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1)) ) -# 31908 "parser_cocci_menhir.ml" +# 32398 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31926,9 +32416,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_struct_decl_list_start = -# 623 "parser_cocci_menhir.mly" +# 632 "parser_cocci_menhir.mly" ( _1 ) -# 31932 "parser_cocci_menhir.ml" +# 32422 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31956,9 +32446,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_struct_decl_list_start = -# 624 "parser_cocci_menhir.mly" +# 633 "parser_cocci_menhir.mly" ( _1@_2 ) -# 31962 "parser_cocci_menhir.ml" +# 32452 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -31986,9 +32476,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_d_ in let _endpos = _endpos_r_ in let _v : 'tv_struct_decl_list_start = -# 626 "parser_cocci_menhir.mly" +# 635 "parser_cocci_menhir.mly" ( (P.mkddots "..." d)::r ) -# 31992 "parser_cocci_menhir.ml" +# 32482 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32009,14 +32499,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 32013 "parser_cocci_menhir.ml" +# 32503 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_s_ in let _v : 'tv_struct_or_union = -# 597 "parser_cocci_menhir.mly" +# 605 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Struct s ) -# 32020 "parser_cocci_menhir.ml" +# 32510 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32037,14 +32527,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let u : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 32041 "parser_cocci_menhir.ml" +# 32531 "parser_cocci_menhir.ml" ) = Obj.magic u in let _startpos = _startpos_u_ in let _endpos = _endpos_u_ in let _v : 'tv_struct_or_union = -# 598 "parser_cocci_menhir.mly" +# 606 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Union u ) -# 32048 "parser_cocci_menhir.ml" +# 32538 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32070,7 +32560,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos_i_ in let _v : 'tv_sub = -# 1619 "parser_cocci_menhir.mly" +# 1632 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -32079,7 +32569,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None)) in [i] ) -# 32083 "parser_cocci_menhir.ml" +# 32573 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32113,7 +32603,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_sub = -# 1628 "parser_cocci_menhir.mly" +# 1641 "parser_cocci_menhir.mly" ( (if !Data.in_iso then failwith "constraints not allowed in iso file"); (if !Data.in_generating @@ -32123,7 +32613,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct P.check_inherited_constraint i (function mv -> Ast.MetaExpDecl(Ast.NONE,mv,None))) l) -# 32127 "parser_cocci_menhir.ml" +# 32617 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32145,9 +32635,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_top_eexpr = -# 1249 "parser_cocci_menhir.mly" +# 1260 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.OTHER(Ast0.wrap(Ast0.Exp(_1)))) ) -# 32151 "parser_cocci_menhir.ml" +# 32641 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32178,20 +32668,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _3 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 32182 "parser_cocci_menhir.ml" +# 32672 "parser_cocci_menhir.ml" ) = Obj.magic _3 in let _2 : 'tv_initialize_list = Obj.magic _2 in let _1 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 32188 "parser_cocci_menhir.ml" +# 32678 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_top_init = -# 1828 "parser_cocci_menhir.mly" +# 1841 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.InitList(P.clt2mcode "{" _1,_2,P.clt2mcode "}" _3)) ) -# 32195 "parser_cocci_menhir.ml" +# 32685 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32206,9 +32696,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_dots = -# 1816 "parser_cocci_menhir.mly" +# 1829 "parser_cocci_menhir.mly" ([]) -# 32212 "parser_cocci_menhir.ml" +# 32702 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32234,9 +32724,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1817 "parser_cocci_menhir.mly" +# 1830 "parser_cocci_menhir.mly" (_2) -# 32240 "parser_cocci_menhir.ml" +# 32730 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32264,9 +32754,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1818 "parser_cocci_menhir.mly" +# 1831 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 32270 "parser_cocci_menhir.ml" +# 32760 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32294,9 +32784,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots = -# 1819 "parser_cocci_menhir.mly" +# 1832 "parser_cocci_menhir.mly" (_1@_2) -# 32300 "parser_cocci_menhir.ml" +# 32790 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32322,9 +32812,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1807 "parser_cocci_menhir.mly" +# 1820 "parser_cocci_menhir.mly" (_2) -# 32328 "parser_cocci_menhir.ml" +# 32818 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32352,9 +32842,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1808 "parser_cocci_menhir.mly" +# 1821 "parser_cocci_menhir.mly" ((Ast0.wrap(Ast0.Exp(_1)))::_2) -# 32358 "parser_cocci_menhir.ml" +# 32848 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32382,9 +32872,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_dots_init = -# 1809 "parser_cocci_menhir.mly" +# 1822 "parser_cocci_menhir.mly" (_1@_2) -# 32388 "parser_cocci_menhir.ml" +# 32878 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32399,9 +32889,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_exp = -# 1812 "parser_cocci_menhir.mly" +# 1825 "parser_cocci_menhir.mly" ([]) -# 32405 "parser_cocci_menhir.ml" +# 32895 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32429,9 +32919,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_exp = -# 1813 "parser_cocci_menhir.mly" +# 1826 "parser_cocci_menhir.mly" (_1::_2) -# 32435 "parser_cocci_menhir.ml" +# 32925 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32446,9 +32936,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _menhir_env.MenhirLib.EngineTypes.lexbuf.Lexing.lex_start_p in let _endpos = _startpos in let _v : 'tv_toplevel_after_stm = -# 1822 "parser_cocci_menhir.mly" +# 1835 "parser_cocci_menhir.mly" ([]) -# 32452 "parser_cocci_menhir.ml" +# 32942 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32476,9 +32966,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 1823 "parser_cocci_menhir.mly" +# 1836 "parser_cocci_menhir.mly" (_1::_2) -# 32482 "parser_cocci_menhir.ml" +# 32972 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32506,9 +32996,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_after_stm = -# 1824 "parser_cocci_menhir.mly" +# 1837 "parser_cocci_menhir.mly" (_1@_2) -# 32512 "parser_cocci_menhir.ml" +# 33002 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32536,9 +33026,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 1802 "parser_cocci_menhir.mly" +# 1815 "parser_cocci_menhir.mly" ( _1::_2 ) -# 32542 "parser_cocci_menhir.ml" +# 33032 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32566,9 +33056,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 1803 "parser_cocci_menhir.mly" +# 1816 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) -# 32572 "parser_cocci_menhir.ml" +# 33062 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32596,9 +33086,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_start_toplevel_after_dots_ = -# 1804 "parser_cocci_menhir.mly" +# 1817 "parser_cocci_menhir.mly" ( _1@_2 ) -# 32602 "parser_cocci_menhir.ml" +# 33092 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32631,7 +33121,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let a0 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 32635 "parser_cocci_menhir.ml" +# 33125 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -32639,15 +33129,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 926 "parser_cocci_menhir.mly" +# 935 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Dots(P.clt2mcode "..." a, List.concat w)) ) -# 32645 "parser_cocci_menhir.ml" +# 33135 "parser_cocci_menhir.ml" in -# 1795 "parser_cocci_menhir.mly" +# 1808 "parser_cocci_menhir.mly" ( a::b ) -# 32651 "parser_cocci_menhir.ml" +# 33141 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32689,14 +33179,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c0 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 32693 "parser_cocci_menhir.ml" +# 33183 "parser_cocci_menhir.ml" ) = Obj.magic c0 in let b0 : 'tv_nest_start = Obj.magic b0 in let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in let a0 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 32700 "parser_cocci_menhir.ml" +# 33190 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -32706,16 +33196,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 930 "parser_cocci_menhir.mly" +# 939 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 32713 "parser_cocci_menhir.ml" +# 33203 "parser_cocci_menhir.ml" in -# 1796 "parser_cocci_menhir.mly" +# 1809 "parser_cocci_menhir.mly" ( a::b ) -# 32719 "parser_cocci_menhir.ml" +# 33209 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32757,14 +33247,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c0 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 32761 "parser_cocci_menhir.ml" +# 33251 "parser_cocci_menhir.ml" ) = Obj.magic c0 in let b0 : 'tv_nest_start = Obj.magic b0 in let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in let a0 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 32768 "parser_cocci_menhir.ml" +# 33258 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_b_ in @@ -32774,16 +33264,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 933 "parser_cocci_menhir.mly" +# 942 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 32781 "parser_cocci_menhir.ml" +# 33271 "parser_cocci_menhir.ml" in -# 1796 "parser_cocci_menhir.mly" +# 1809 "parser_cocci_menhir.mly" ( a::b ) -# 32787 "parser_cocci_menhir.ml" +# 33277 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32819,14 +33309,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c0 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 32823 "parser_cocci_menhir.ml" +# 33313 "parser_cocci_menhir.ml" ) = Obj.magic c0 in let b0 : 'tv_nest_start = Obj.magic b0 in let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in let a0 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 32830 "parser_cocci_menhir.ml" +# 33320 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_c0_ in @@ -32836,16 +33326,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 930 "parser_cocci_menhir.mly" +# 939 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<..." a, b, P.clt2mcode "...>" c, List.concat w, false)) ) -# 32843 "parser_cocci_menhir.ml" +# 33333 "parser_cocci_menhir.ml" in -# 1797 "parser_cocci_menhir.mly" +# 1810 "parser_cocci_menhir.mly" ( [a] ) -# 32849 "parser_cocci_menhir.ml" +# 33339 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32881,14 +33371,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let c0 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 32885 "parser_cocci_menhir.ml" +# 33375 "parser_cocci_menhir.ml" ) = Obj.magic c0 in let b0 : 'tv_nest_start = Obj.magic b0 in let w0 : 'tv_list_whenppdecs_ = Obj.magic w0 in let a0 : ( # 76 "parser_cocci_menhir.mly" (Data.clt) -# 32892 "parser_cocci_menhir.ml" +# 33382 "parser_cocci_menhir.ml" ) = Obj.magic a0 in let _startpos = _startpos_a0_ in let _endpos = _endpos_c0_ in @@ -32898,16 +33388,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let w = w0 in let a = a0 in -# 933 "parser_cocci_menhir.mly" +# 942 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Nest(P.clt2mcode "<+..." a, b, P.clt2mcode "...+>" c, List.concat w, true)) ) -# 32905 "parser_cocci_menhir.ml" +# 33395 "parser_cocci_menhir.ml" in -# 1797 "parser_cocci_menhir.mly" +# 1810 "parser_cocci_menhir.mly" ( [a] ) -# 32911 "parser_cocci_menhir.ml" +# 33401 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32935,9 +33425,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_toplevel_seq_startne_toplevel_after_dots_init_ = -# 1798 "parser_cocci_menhir.mly" +# 1811 "parser_cocci_menhir.mly" ( (Ast0.wrap(Ast0.Exp(_1)))::_2 ) -# 32941 "parser_cocci_menhir.ml" +# 33431 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32965,9 +33455,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_ = -# 1799 "parser_cocci_menhir.mly" +# 1812 "parser_cocci_menhir.mly" ( _1@_2 ) -# 32971 "parser_cocci_menhir.ml" +# 33461 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -32999,12 +33489,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33003 "parser_cocci_menhir.ml" +# 33493 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 33008 "parser_cocci_menhir.ml" +# 33498 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33014,28 +33504,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 515 "parser_cocci_menhir.mly" +# 523 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 33020 "parser_cocci_menhir.ml" +# 33510 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 33026 "parser_cocci_menhir.ml" +# 33516 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33033 "parser_cocci_menhir.ml" +# 33523 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33039 "parser_cocci_menhir.ml" +# 33529 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33067,12 +33557,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33071 "parser_cocci_menhir.ml" +# 33561 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 33076 "parser_cocci_menhir.ml" +# 33566 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33082,28 +33572,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 525 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 33088 "parser_cocci_menhir.ml" +# 33578 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 33094 "parser_cocci_menhir.ml" +# 33584 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33101 "parser_cocci_menhir.ml" +# 33591 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33107 "parser_cocci_menhir.ml" +# 33597 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33135,12 +33625,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33139 "parser_cocci_menhir.ml" +# 33629 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 33144 "parser_cocci_menhir.ml" +# 33634 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33150,28 +33640,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 519 "parser_cocci_menhir.mly" +# 527 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 33156 "parser_cocci_menhir.ml" +# 33646 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 33162 "parser_cocci_menhir.ml" +# 33652 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33169 "parser_cocci_menhir.ml" +# 33659 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33175 "parser_cocci_menhir.ml" +# 33665 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33203,12 +33693,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 33207 "parser_cocci_menhir.ml" +# 33697 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 33212 "parser_cocci_menhir.ml" +# 33702 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33218,29 +33708,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 521 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 33225 "parser_cocci_menhir.ml" +# 33715 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 33231 "parser_cocci_menhir.ml" +# 33721 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33238 "parser_cocci_menhir.ml" +# 33728 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33244 "parser_cocci_menhir.ml" +# 33734 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33281,17 +33771,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 33285 "parser_cocci_menhir.ml" +# 33775 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 33290 "parser_cocci_menhir.ml" +# 33780 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 33295 "parser_cocci_menhir.ml" +# 33785 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -33303,33 +33793,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 524 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 33314 "parser_cocci_menhir.ml" +# 33804 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 33320 "parser_cocci_menhir.ml" +# 33810 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33327 "parser_cocci_menhir.ml" +# 33817 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33333 "parser_cocci_menhir.ml" +# 33823 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33361,12 +33851,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33365 "parser_cocci_menhir.ml" +# 33855 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 33370 "parser_cocci_menhir.ml" +# 33860 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33376,28 +33866,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 33382 "parser_cocci_menhir.ml" +# 33872 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 33388 "parser_cocci_menhir.ml" +# 33878 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33395 "parser_cocci_menhir.ml" +# 33885 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33401 "parser_cocci_menhir.ml" +# 33891 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33434,17 +33924,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33438 "parser_cocci_menhir.ml" +# 33928 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33443 "parser_cocci_menhir.ml" +# 33933 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 33448 "parser_cocci_menhir.ml" +# 33938 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33456,31 +33946,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 533 "parser_cocci_menhir.mly" +# 541 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 33465 "parser_cocci_menhir.ml" +# 33955 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 33471 "parser_cocci_menhir.ml" +# 33961 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33478 "parser_cocci_menhir.ml" +# 33968 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33484 "parser_cocci_menhir.ml" +# 33974 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33512,12 +34002,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33516 "parser_cocci_menhir.ml" +# 34006 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 33521 "parser_cocci_menhir.ml" +# 34011 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33527,28 +34017,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 515 "parser_cocci_menhir.mly" +# 523 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 33533 "parser_cocci_menhir.ml" +# 34023 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33539 "parser_cocci_menhir.ml" +# 34029 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33546 "parser_cocci_menhir.ml" +# 34036 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33552 "parser_cocci_menhir.ml" +# 34042 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33580,12 +34070,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33584 "parser_cocci_menhir.ml" +# 34074 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 33589 "parser_cocci_menhir.ml" +# 34079 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33595,28 +34085,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 525 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 33601 "parser_cocci_menhir.ml" +# 34091 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33607 "parser_cocci_menhir.ml" +# 34097 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33614 "parser_cocci_menhir.ml" +# 34104 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33620 "parser_cocci_menhir.ml" +# 34110 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33648,12 +34138,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33652 "parser_cocci_menhir.ml" +# 34142 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 33657 "parser_cocci_menhir.ml" +# 34147 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33663,28 +34153,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 519 "parser_cocci_menhir.mly" +# 527 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 33669 "parser_cocci_menhir.ml" +# 34159 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33675 "parser_cocci_menhir.ml" +# 34165 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33682 "parser_cocci_menhir.ml" +# 34172 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33688 "parser_cocci_menhir.ml" +# 34178 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33716,12 +34206,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 33720 "parser_cocci_menhir.ml" +# 34210 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 33725 "parser_cocci_menhir.ml" +# 34215 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33731,29 +34221,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 521 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 33738 "parser_cocci_menhir.ml" +# 34228 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33744 "parser_cocci_menhir.ml" +# 34234 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33751 "parser_cocci_menhir.ml" +# 34241 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33757 "parser_cocci_menhir.ml" +# 34247 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33794,17 +34284,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 33798 "parser_cocci_menhir.ml" +# 34288 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 33803 "parser_cocci_menhir.ml" +# 34293 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 33808 "parser_cocci_menhir.ml" +# 34298 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let _startpos = _startpos_r1_ in let _endpos = _endpos_m_ in @@ -33816,33 +34306,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 524 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 33827 "parser_cocci_menhir.ml" +# 34317 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33833 "parser_cocci_menhir.ml" +# 34323 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33840 "parser_cocci_menhir.ml" +# 34330 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33846 "parser_cocci_menhir.ml" +# 34336 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33874,12 +34364,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33878 "parser_cocci_menhir.ml" +# 34368 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 33883 "parser_cocci_menhir.ml" +# 34373 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33889,28 +34379,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 33895 "parser_cocci_menhir.ml" +# 34385 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33901 "parser_cocci_menhir.ml" +# 34391 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33908 "parser_cocci_menhir.ml" +# 34398 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33914 "parser_cocci_menhir.ml" +# 34404 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -33947,17 +34437,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33951 "parser_cocci_menhir.ml" +# 34441 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 33956 "parser_cocci_menhir.ml" +# 34446 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 33961 "parser_cocci_menhir.ml" +# 34451 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let _startpos = _startpos_r0_ in let _endpos = _endpos_m_ in @@ -33969,31 +34459,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 533 "parser_cocci_menhir.mly" +# 541 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 33978 "parser_cocci_menhir.ml" +# 34468 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 33984 "parser_cocci_menhir.ml" +# 34474 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 33991 "parser_cocci_menhir.ml" +# 34481 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 33997 "parser_cocci_menhir.ml" +# 34487 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34020,7 +34510,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 34024 "parser_cocci_menhir.ml" +# 34514 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -34029,28 +34519,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 515 "parser_cocci_menhir.mly" +# 523 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 34035 "parser_cocci_menhir.ml" +# 34525 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 34041 "parser_cocci_menhir.ml" +# 34531 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34048 "parser_cocci_menhir.ml" +# 34538 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34054 "parser_cocci_menhir.ml" +# 34544 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34077,7 +34567,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 34081 "parser_cocci_menhir.ml" +# 34571 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -34086,28 +34576,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 525 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 34092 "parser_cocci_menhir.ml" +# 34582 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 34098 "parser_cocci_menhir.ml" +# 34588 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34105 "parser_cocci_menhir.ml" +# 34595 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34111 "parser_cocci_menhir.ml" +# 34601 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34134,7 +34624,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 34138 "parser_cocci_menhir.ml" +# 34628 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -34143,28 +34633,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 519 "parser_cocci_menhir.mly" +# 527 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 34149 "parser_cocci_menhir.ml" +# 34639 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 34155 "parser_cocci_menhir.ml" +# 34645 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34162 "parser_cocci_menhir.ml" +# 34652 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34168 "parser_cocci_menhir.ml" +# 34658 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34191,7 +34681,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 34195 "parser_cocci_menhir.ml" +# 34685 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -34200,29 +34690,29 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 521 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 34207 "parser_cocci_menhir.ml" +# 34697 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 34213 "parser_cocci_menhir.ml" +# 34703 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34220 "parser_cocci_menhir.ml" +# 34710 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34226 "parser_cocci_menhir.ml" +# 34716 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34258,12 +34748,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 34262 "parser_cocci_menhir.ml" +# 34752 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 34267 "parser_cocci_menhir.ml" +# 34757 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let _startpos = _startpos_r00_ in let _endpos = _endpos_m_ in @@ -34274,33 +34764,33 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 524 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 34285 "parser_cocci_menhir.ml" +# 34775 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 34291 "parser_cocci_menhir.ml" +# 34781 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34298 "parser_cocci_menhir.ml" +# 34788 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34304 "parser_cocci_menhir.ml" +# 34794 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34327,7 +34817,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 34331 "parser_cocci_menhir.ml" +# 34821 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -34336,28 +34826,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 34342 "parser_cocci_menhir.ml" +# 34832 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 34348 "parser_cocci_menhir.ml" +# 34838 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34355 "parser_cocci_menhir.ml" +# 34845 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34361 "parser_cocci_menhir.ml" +# 34851 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34389,12 +34879,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 34393 "parser_cocci_menhir.ml" +# 34883 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 34398 "parser_cocci_menhir.ml" +# 34888 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let _startpos = _startpos_ty100_ in let _endpos = _endpos_m_ in @@ -34405,31 +34895,31 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 533 "parser_cocci_menhir.mly" +# 541 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 34414 "parser_cocci_menhir.ml" +# 34904 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 34420 "parser_cocci_menhir.ml" +# 34910 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34427 "parser_cocci_menhir.ml" +# 34917 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34433 "parser_cocci_menhir.ml" +# 34923 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34456,7 +34946,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 34460 "parser_cocci_menhir.ml" +# 34950 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -34465,28 +34955,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 541 "parser_cocci_menhir.mly" +# 549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 34471 "parser_cocci_menhir.ml" +# 34961 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 34477 "parser_cocci_menhir.ml" +# 34967 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34484 "parser_cocci_menhir.ml" +# 34974 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34490 "parser_cocci_menhir.ml" +# 34980 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34513,7 +35003,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 34517 "parser_cocci_menhir.ml" +# 35007 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -34522,28 +35012,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 543 "parser_cocci_menhir.mly" +# 551 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 34528 "parser_cocci_menhir.ml" +# 35018 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 34534 "parser_cocci_menhir.ml" +# 35024 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34541 "parser_cocci_menhir.ml" +# 35031 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34547 "parser_cocci_menhir.ml" +# 35037 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34570,7 +35060,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 34574 "parser_cocci_menhir.ml" +# 35064 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let _startpos = _startpos_ty00_ in let _endpos = _endpos_m_ in @@ -34579,28 +35069,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 545 "parser_cocci_menhir.mly" +# 553 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 34585 "parser_cocci_menhir.ml" +# 35075 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 34591 "parser_cocci_menhir.ml" +# 35081 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34598 "parser_cocci_menhir.ml" +# 35088 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34604 "parser_cocci_menhir.ml" +# 35094 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34633,7 +35123,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 34637 "parser_cocci_menhir.ml" +# 35127 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -34644,28 +35134,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 547 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 34650 "parser_cocci_menhir.ml" +# 35140 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 34656 "parser_cocci_menhir.ml" +# 35146 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34663 "parser_cocci_menhir.ml" +# 35153 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34669 "parser_cocci_menhir.ml" +# 35159 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34705,28 +35195,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 549 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 34711 "parser_cocci_menhir.ml" +# 35201 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 34717 "parser_cocci_menhir.ml" +# 35207 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34724 "parser_cocci_menhir.ml" +# 35214 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34730 "parser_cocci_menhir.ml" +# 35220 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34768,13 +35258,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 34772 "parser_cocci_menhir.ml" +# 35262 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 34778 "parser_cocci_menhir.ml" +# 35268 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let _startpos = _startpos_s00_ in @@ -34793,36 +35283,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 34797 "parser_cocci_menhir.ml" +# 35287 "parser_cocci_menhir.ml" in -# 552 "parser_cocci_menhir.mly" +# 560 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), P.clt2mcode "{" l, d, P.clt2mcode "}" r)) ) -# 34807 "parser_cocci_menhir.ml" +# 35297 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 34813 "parser_cocci_menhir.ml" +# 35303 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34820 "parser_cocci_menhir.ml" +# 35310 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34826 "parser_cocci_menhir.ml" +# 35316 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34869,13 +35359,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 34873 "parser_cocci_menhir.ml" +# 35363 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 34879 "parser_cocci_menhir.ml" +# 35369 "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 @@ -34898,36 +35388,36 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 34902 "parser_cocci_menhir.ml" +# 35392 "parser_cocci_menhir.ml" in -# 552 "parser_cocci_menhir.mly" +# 560 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), P.clt2mcode "{" l, d, P.clt2mcode "}" r)) ) -# 34912 "parser_cocci_menhir.ml" +# 35402 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 34918 "parser_cocci_menhir.ml" +# 35408 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 34925 "parser_cocci_menhir.ml" +# 35415 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 34931 "parser_cocci_menhir.ml" +# 35421 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -34969,18 +35459,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 34973 "parser_cocci_menhir.ml" +# 35463 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 34979 "parser_cocci_menhir.ml" +# 35469 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 34984 "parser_cocci_menhir.ml" +# 35474 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let _startpos = _startpos_s00_ in let _endpos = _endpos_m_ in @@ -34995,30 +35485,30 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 558 "parser_cocci_menhir.mly" +# 566 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = s in let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) -# 35003 "parser_cocci_menhir.ml" +# 35493 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 35009 "parser_cocci_menhir.ml" +# 35499 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 35016 "parser_cocci_menhir.ml" +# 35506 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35022 "parser_cocci_menhir.ml" +# 35512 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35045,7 +35535,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 35049 "parser_cocci_menhir.ml" +# 35539 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let _startpos = _startpos_p00_ in let _endpos = _endpos_m_ in @@ -35054,28 +35544,28 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 562 "parser_cocci_menhir.mly" +# 570 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 35060 "parser_cocci_menhir.ml" +# 35550 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 35066 "parser_cocci_menhir.ml" +# 35556 "parser_cocci_menhir.ml" in let cv = # 39 "standard.mly" ( None ) -# 35073 "parser_cocci_menhir.ml" +# 35563 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35079 "parser_cocci_menhir.ml" +# 35569 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35112,12 +35602,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35116 "parser_cocci_menhir.ml" +# 35606 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 35121 "parser_cocci_menhir.ml" +# 35611 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35128,15 +35618,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 515 "parser_cocci_menhir.mly" +# 523 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 35134 "parser_cocci_menhir.ml" +# 35624 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 35140 "parser_cocci_menhir.ml" +# 35630 "parser_cocci_menhir.ml" in let cv = @@ -35144,13 +35634,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35148 "parser_cocci_menhir.ml" +# 35638 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35154 "parser_cocci_menhir.ml" +# 35644 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35187,12 +35677,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35191 "parser_cocci_menhir.ml" +# 35681 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 35196 "parser_cocci_menhir.ml" +# 35686 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35203,15 +35693,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 525 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 35209 "parser_cocci_menhir.ml" +# 35699 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 35215 "parser_cocci_menhir.ml" +# 35705 "parser_cocci_menhir.ml" in let cv = @@ -35219,13 +35709,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35223 "parser_cocci_menhir.ml" +# 35713 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35229 "parser_cocci_menhir.ml" +# 35719 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35262,12 +35752,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35266 "parser_cocci_menhir.ml" +# 35756 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 35271 "parser_cocci_menhir.ml" +# 35761 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35278,15 +35768,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 519 "parser_cocci_menhir.mly" +# 527 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 35284 "parser_cocci_menhir.ml" +# 35774 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 35290 "parser_cocci_menhir.ml" +# 35780 "parser_cocci_menhir.ml" in let cv = @@ -35294,13 +35784,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35298 "parser_cocci_menhir.ml" +# 35788 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35304 "parser_cocci_menhir.ml" +# 35794 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35337,12 +35827,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 35341 "parser_cocci_menhir.ml" +# 35831 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 35346 "parser_cocci_menhir.ml" +# 35836 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35353,16 +35843,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 521 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 35360 "parser_cocci_menhir.ml" +# 35850 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 35366 "parser_cocci_menhir.ml" +# 35856 "parser_cocci_menhir.ml" in let cv = @@ -35370,13 +35860,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35374 "parser_cocci_menhir.ml" +# 35864 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35380 "parser_cocci_menhir.ml" +# 35870 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35422,17 +35912,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 35426 "parser_cocci_menhir.ml" +# 35916 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 35431 "parser_cocci_menhir.ml" +# 35921 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 35436 "parser_cocci_menhir.ml" +# 35926 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35445,20 +35935,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 524 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 35456 "parser_cocci_menhir.ml" +# 35946 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 35462 "parser_cocci_menhir.ml" +# 35952 "parser_cocci_menhir.ml" in let cv = @@ -35466,13 +35956,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35470 "parser_cocci_menhir.ml" +# 35960 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35476 "parser_cocci_menhir.ml" +# 35966 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35509,12 +35999,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35513 "parser_cocci_menhir.ml" +# 36003 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 35518 "parser_cocci_menhir.ml" +# 36008 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35525,15 +36015,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 35531 "parser_cocci_menhir.ml" +# 36021 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 35537 "parser_cocci_menhir.ml" +# 36027 "parser_cocci_menhir.ml" in let cv = @@ -35541,13 +36031,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35545 "parser_cocci_menhir.ml" +# 36035 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35551 "parser_cocci_menhir.ml" +# 36041 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35589,17 +36079,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35593 "parser_cocci_menhir.ml" +# 36083 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35598 "parser_cocci_menhir.ml" +# 36088 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 35603 "parser_cocci_menhir.ml" +# 36093 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35612,18 +36102,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 533 "parser_cocci_menhir.mly" +# 541 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 35621 "parser_cocci_menhir.ml" +# 36111 "parser_cocci_menhir.ml" in -# 567 "parser_cocci_menhir.mly" +# 575 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Signed r,Some ty)) ) -# 35627 "parser_cocci_menhir.ml" +# 36117 "parser_cocci_menhir.ml" in let cv = @@ -35631,13 +36121,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35635 "parser_cocci_menhir.ml" +# 36125 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35641 "parser_cocci_menhir.ml" +# 36131 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35674,12 +36164,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35678 "parser_cocci_menhir.ml" +# 36168 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 35683 "parser_cocci_menhir.ml" +# 36173 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35690,15 +36180,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 515 "parser_cocci_menhir.mly" +# 523 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 35696 "parser_cocci_menhir.ml" +# 36186 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35702 "parser_cocci_menhir.ml" +# 36192 "parser_cocci_menhir.ml" in let cv = @@ -35706,13 +36196,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35710 "parser_cocci_menhir.ml" +# 36200 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35716 "parser_cocci_menhir.ml" +# 36206 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35749,12 +36239,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35753 "parser_cocci_menhir.ml" +# 36243 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 35758 "parser_cocci_menhir.ml" +# 36248 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35765,15 +36255,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 525 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 35771 "parser_cocci_menhir.ml" +# 36261 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35777 "parser_cocci_menhir.ml" +# 36267 "parser_cocci_menhir.ml" in let cv = @@ -35781,13 +36271,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35785 "parser_cocci_menhir.ml" +# 36275 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35791 "parser_cocci_menhir.ml" +# 36281 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35824,12 +36314,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 35828 "parser_cocci_menhir.ml" +# 36318 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 35833 "parser_cocci_menhir.ml" +# 36323 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35840,15 +36330,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 519 "parser_cocci_menhir.mly" +# 527 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 35846 "parser_cocci_menhir.ml" +# 36336 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35852 "parser_cocci_menhir.ml" +# 36342 "parser_cocci_menhir.ml" in let cv = @@ -35856,13 +36346,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35860 "parser_cocci_menhir.ml" +# 36350 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35866 "parser_cocci_menhir.ml" +# 36356 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35899,12 +36389,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 35903 "parser_cocci_menhir.ml" +# 36393 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 35908 "parser_cocci_menhir.ml" +# 36398 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -35915,16 +36405,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 521 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 35922 "parser_cocci_menhir.ml" +# 36412 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 35928 "parser_cocci_menhir.ml" +# 36418 "parser_cocci_menhir.ml" in let cv = @@ -35932,13 +36422,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 35936 "parser_cocci_menhir.ml" +# 36426 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 35942 "parser_cocci_menhir.ml" +# 36432 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -35984,17 +36474,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 35988 "parser_cocci_menhir.ml" +# 36478 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 35993 "parser_cocci_menhir.ml" +# 36483 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let r1 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 35998 "parser_cocci_menhir.ml" +# 36488 "parser_cocci_menhir.ml" ) = Obj.magic r1 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36007,20 +36497,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 524 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 36018 "parser_cocci_menhir.ml" +# 36508 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 36024 "parser_cocci_menhir.ml" +# 36514 "parser_cocci_menhir.ml" in let cv = @@ -36028,13 +36518,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36032 "parser_cocci_menhir.ml" +# 36522 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36038 "parser_cocci_menhir.ml" +# 36528 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36071,12 +36561,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36075 "parser_cocci_menhir.ml" +# 36565 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 36080 "parser_cocci_menhir.ml" +# 36570 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36087,15 +36577,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 36093 "parser_cocci_menhir.ml" +# 36583 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 36099 "parser_cocci_menhir.ml" +# 36589 "parser_cocci_menhir.ml" in let cv = @@ -36103,13 +36593,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36107 "parser_cocci_menhir.ml" +# 36597 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36113 "parser_cocci_menhir.ml" +# 36603 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36151,17 +36641,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36155 "parser_cocci_menhir.ml" +# 36645 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36160 "parser_cocci_menhir.ml" +# 36650 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let r0 : ( # 53 "parser_cocci_menhir.mly" (Data.clt) -# 36165 "parser_cocci_menhir.ml" +# 36655 "parser_cocci_menhir.ml" ) = Obj.magic r0 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36174,18 +36664,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 533 "parser_cocci_menhir.mly" +# 541 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 36183 "parser_cocci_menhir.ml" +# 36673 "parser_cocci_menhir.ml" in -# 569 "parser_cocci_menhir.mly" +# 577 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Signed(P.clt2mcode Ast.Unsigned r,Some ty)) ) -# 36189 "parser_cocci_menhir.ml" +# 36679 "parser_cocci_menhir.ml" in let cv = @@ -36193,13 +36683,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36197 "parser_cocci_menhir.ml" +# 36687 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36203 "parser_cocci_menhir.ml" +# 36693 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36231,7 +36721,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36235 "parser_cocci_menhir.ml" +# 36725 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36241,15 +36731,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 515 "parser_cocci_menhir.mly" +# 523 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.CharType,[P.clt2mcode "char" ty])) ) -# 36247 "parser_cocci_menhir.ml" +# 36737 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 36253 "parser_cocci_menhir.ml" +# 36743 "parser_cocci_menhir.ml" in let cv = @@ -36257,13 +36747,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36261 "parser_cocci_menhir.ml" +# 36751 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36267 "parser_cocci_menhir.ml" +# 36757 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36295,7 +36785,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36299 "parser_cocci_menhir.ml" +# 36789 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36305,15 +36795,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 517 "parser_cocci_menhir.mly" +# 525 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.ShortType,[P.clt2mcode "short" ty])) ) -# 36311 "parser_cocci_menhir.ml" +# 36801 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 36317 "parser_cocci_menhir.ml" +# 36807 "parser_cocci_menhir.ml" in let cv = @@ -36321,13 +36811,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36325 "parser_cocci_menhir.ml" +# 36815 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36331 "parser_cocci_menhir.ml" +# 36821 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36359,7 +36849,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36363 "parser_cocci_menhir.ml" +# 36853 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36369,15 +36859,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 519 "parser_cocci_menhir.mly" +# 527 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.IntType,[P.clt2mcode "int" ty])) ) -# 36375 "parser_cocci_menhir.ml" +# 36865 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 36381 "parser_cocci_menhir.ml" +# 36871 "parser_cocci_menhir.ml" in let cv = @@ -36385,13 +36875,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36389 "parser_cocci_menhir.ml" +# 36879 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36395 "parser_cocci_menhir.ml" +# 36885 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36423,7 +36913,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 36427 "parser_cocci_menhir.ml" +# 36917 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36433,16 +36923,16 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 521 "parser_cocci_menhir.mly" +# 529 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = p in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 36440 "parser_cocci_menhir.ml" +# 36930 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 36446 "parser_cocci_menhir.ml" +# 36936 "parser_cocci_menhir.ml" in let cv = @@ -36450,13 +36940,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36454 "parser_cocci_menhir.ml" +# 36944 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36460 "parser_cocci_menhir.ml" +# 36950 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36497,12 +36987,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 36501 "parser_cocci_menhir.ml" +# 36991 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let r00 : ( # 49 "parser_cocci_menhir.mly" (string) -# 36506 "parser_cocci_menhir.ml" +# 36996 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36514,20 +37004,20 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p = p0 in let r = r0 in -# 524 "parser_cocci_menhir.mly" +# 532 "parser_cocci_menhir.mly" ( let nm = (r,P.id2name p) in (* this is only possible when we are in a metavar decl. Otherwise, it will be represented already as a MetaType *) let _ = P.check_meta(Ast.MetaTypeDecl(Ast.NONE,nm)) in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm (P.id2clt p), Ast0.Impure (*will be ignored*))) ) -# 36525 "parser_cocci_menhir.ml" +# 37015 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 36531 "parser_cocci_menhir.ml" +# 37021 "parser_cocci_menhir.ml" in let cv = @@ -36535,13 +37025,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36539 "parser_cocci_menhir.ml" +# 37029 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36545 "parser_cocci_menhir.ml" +# 37035 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36573,7 +37063,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36577 "parser_cocci_menhir.ml" +# 37067 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36583,15 +37073,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 531 "parser_cocci_menhir.mly" +# 539 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.LongType,[P.clt2mcode "long" ty])) ) -# 36589 "parser_cocci_menhir.ml" +# 37079 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 36595 "parser_cocci_menhir.ml" +# 37085 "parser_cocci_menhir.ml" in let cv = @@ -36599,13 +37089,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36603 "parser_cocci_menhir.ml" +# 37093 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36609 "parser_cocci_menhir.ml" +# 37099 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36642,12 +37132,12 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty200 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36646 "parser_cocci_menhir.ml" +# 37136 "parser_cocci_menhir.ml" ) = Obj.magic ty200 in let ty100 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36651 "parser_cocci_menhir.ml" +# 37141 "parser_cocci_menhir.ml" ) = Obj.magic ty100 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36659,18 +37149,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty2 = ty20 in let ty1 = ty10 in -# 533 "parser_cocci_menhir.mly" +# 541 "parser_cocci_menhir.mly" ( Ast0.wrap (Ast0.BaseType (Ast.LongLongType, [P.clt2mcode "long" ty1;P.clt2mcode "long" ty2])) ) -# 36668 "parser_cocci_menhir.ml" +# 37158 "parser_cocci_menhir.ml" in -# 570 "parser_cocci_menhir.mly" +# 578 "parser_cocci_menhir.mly" ( ty ) -# 36674 "parser_cocci_menhir.ml" +# 37164 "parser_cocci_menhir.ml" in let cv = @@ -36678,13 +37168,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36682 "parser_cocci_menhir.ml" +# 37172 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36688 "parser_cocci_menhir.ml" +# 37178 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36716,7 +37206,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 36720 "parser_cocci_menhir.ml" +# 37210 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36726,15 +37216,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 541 "parser_cocci_menhir.mly" +# 549 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.VoidType,[P.clt2mcode "void" ty])) ) -# 36732 "parser_cocci_menhir.ml" +# 37222 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 36738 "parser_cocci_menhir.ml" +# 37228 "parser_cocci_menhir.ml" in let cv = @@ -36742,13 +37232,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36746 "parser_cocci_menhir.ml" +# 37236 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36752 "parser_cocci_menhir.ml" +# 37242 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36780,7 +37270,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36784 "parser_cocci_menhir.ml" +# 37274 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36790,15 +37280,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 543 "parser_cocci_menhir.mly" +# 551 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.DoubleType,[P.clt2mcode "double" ty])) ) -# 36796 "parser_cocci_menhir.ml" +# 37286 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 36802 "parser_cocci_menhir.ml" +# 37292 "parser_cocci_menhir.ml" in let cv = @@ -36806,13 +37296,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36810 "parser_cocci_menhir.ml" +# 37300 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36816 "parser_cocci_menhir.ml" +# 37306 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36844,7 +37334,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty00 : ( # 51 "parser_cocci_menhir.mly" (Data.clt) -# 36848 "parser_cocci_menhir.ml" +# 37338 "parser_cocci_menhir.ml" ) = Obj.magic ty00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36854,15 +37344,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let ty = ty0 in -# 545 "parser_cocci_menhir.mly" +# 553 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.BaseType(Ast.FloatType,[P.clt2mcode "float" ty])) ) -# 36860 "parser_cocci_menhir.ml" +# 37350 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 36866 "parser_cocci_menhir.ml" +# 37356 "parser_cocci_menhir.ml" in let cv = @@ -36870,13 +37360,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36874 "parser_cocci_menhir.ml" +# 37364 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36880 "parser_cocci_menhir.ml" +# 37370 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36914,7 +37404,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let s00 : ( # 52 "parser_cocci_menhir.mly" (Data.clt) -# 36918 "parser_cocci_menhir.ml" +# 37408 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -36926,15 +37416,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 547 "parser_cocci_menhir.mly" +# 555 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.EnumName(P.clt2mcode "enum" s, i)) ) -# 36932 "parser_cocci_menhir.ml" +# 37422 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 36938 "parser_cocci_menhir.ml" +# 37428 "parser_cocci_menhir.ml" in let cv = @@ -36942,13 +37432,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 36946 "parser_cocci_menhir.ml" +# 37436 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 36952 "parser_cocci_menhir.ml" +# 37442 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -36994,15 +37484,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let i = i0 in let s = s0 in -# 549 "parser_cocci_menhir.mly" +# 557 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.StructUnionName(s, Some i)) ) -# 37000 "parser_cocci_menhir.ml" +# 37490 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 37006 "parser_cocci_menhir.ml" +# 37496 "parser_cocci_menhir.ml" in let cv = @@ -37010,13 +37500,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 37014 "parser_cocci_menhir.ml" +# 37504 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37020 "parser_cocci_menhir.ml" +# 37510 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37063,13 +37553,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 37067 "parser_cocci_menhir.ml" +# 37557 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 37073 "parser_cocci_menhir.ml" +# 37563 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : 'tv_struct_or_union = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in @@ -37089,23 +37579,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 39 "standard.mly" ( None ) -# 37093 "parser_cocci_menhir.ml" +# 37583 "parser_cocci_menhir.ml" in -# 552 "parser_cocci_menhir.mly" +# 560 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), P.clt2mcode "{" l, d, P.clt2mcode "}" r)) ) -# 37103 "parser_cocci_menhir.ml" +# 37593 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 37109 "parser_cocci_menhir.ml" +# 37599 "parser_cocci_menhir.ml" in let cv = @@ -37113,13 +37603,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 37117 "parser_cocci_menhir.ml" +# 37607 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37123 "parser_cocci_menhir.ml" +# 37613 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37171,13 +37661,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 37175 "parser_cocci_menhir.ml" +# 37665 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 37181 "parser_cocci_menhir.ml" +# 37671 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let x000 : 'tv_ident = Obj.magic x000 in let s00 : 'tv_struct_or_union = Obj.magic s00 in @@ -37201,23 +37691,23 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 37205 "parser_cocci_menhir.ml" +# 37695 "parser_cocci_menhir.ml" in -# 552 "parser_cocci_menhir.mly" +# 560 "parser_cocci_menhir.mly" ( (if i = None && !Data.in_iso then failwith "structures must be named in the iso file"); Ast0.wrap(Ast0.StructUnionDef(Ast0.wrap(Ast0.StructUnionName(s, i)), P.clt2mcode "{" l, d, P.clt2mcode "}" r)) ) -# 37215 "parser_cocci_menhir.ml" +# 37705 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 37221 "parser_cocci_menhir.ml" +# 37711 "parser_cocci_menhir.ml" in let cv = @@ -37225,13 +37715,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 37229 "parser_cocci_menhir.ml" +# 37719 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37235 "parser_cocci_menhir.ml" +# 37725 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37278,18 +37768,18 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let r00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 37282 "parser_cocci_menhir.ml" +# 37772 "parser_cocci_menhir.ml" ) = Obj.magic r00 in let d00 : 'tv_struct_decl_list = Obj.magic d00 in let l00 : ( # 104 "parser_cocci_menhir.mly" (Data.clt) -# 37288 "parser_cocci_menhir.ml" +# 37778 "parser_cocci_menhir.ml" ) = Obj.magic l00 in let s00 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 37293 "parser_cocci_menhir.ml" +# 37783 "parser_cocci_menhir.ml" ) = Obj.magic s00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -37305,17 +37795,17 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let l = l0 in let s = s0 in -# 558 "parser_cocci_menhir.mly" +# 566 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = s in let ty = Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) in Ast0.wrap(Ast0.StructUnionDef(ty,P.clt2mcode "{" l,d,P.clt2mcode "}" r)) ) -# 37313 "parser_cocci_menhir.ml" +# 37803 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 37319 "parser_cocci_menhir.ml" +# 37809 "parser_cocci_menhir.ml" in let cv = @@ -37323,13 +37813,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 37327 "parser_cocci_menhir.ml" +# 37817 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37333 "parser_cocci_menhir.ml" +# 37823 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37361,7 +37851,7 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let p00 : ( # 61 "parser_cocci_menhir.mly" (string * Data.clt) -# 37365 "parser_cocci_menhir.ml" +# 37855 "parser_cocci_menhir.ml" ) = Obj.magic p00 in let x0 : 'tv_const_vol = Obj.magic x0 in let _startpos = _startpos_x0_ in @@ -37371,15 +37861,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let ty = let p = p0 in -# 562 "parser_cocci_menhir.mly" +# 570 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode p)) ) -# 37377 "parser_cocci_menhir.ml" +# 37867 "parser_cocci_menhir.ml" in -# 571 "parser_cocci_menhir.mly" +# 579 "parser_cocci_menhir.mly" ( ty ) -# 37383 "parser_cocci_menhir.ml" +# 37873 "parser_cocci_menhir.ml" in let cv = @@ -37387,13 +37877,13 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct # 41 "standard.mly" ( Some x ) -# 37391 "parser_cocci_menhir.ml" +# 37881 "parser_cocci_menhir.ml" in -# 588 "parser_cocci_menhir.mly" +# 596 "parser_cocci_menhir.mly" ( P.pointerify (P.make_cv cv ty) m ) -# 37397 "parser_cocci_menhir.ml" +# 37887 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37424,22 +37914,22 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 37428 "parser_cocci_menhir.ml" +# 37918 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_midzero_list_ctype_ctype_ = Obj.magic t in let lp : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 37434 "parser_cocci_menhir.ml" +# 37924 "parser_cocci_menhir.ml" ) = Obj.magic lp in let _startpos = _startpos_lp_ in let _endpos = _endpos_rp_ in let _v : 'tv_typedef_ctype = -# 590 "parser_cocci_menhir.mly" +# 598 "parser_cocci_menhir.mly" ( let (mids,code) = t in Ast0.wrap (Ast0.DisjType(P.clt2mcode "(" lp,code,mids, P.clt2mcode ")" rp)) ) -# 37443 "parser_cocci_menhir.ml" +# 37933 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37461,9 +37951,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1700 "parser_cocci_menhir.mly" +# 1713 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.TypeName(P.id2mcode _1)) ) -# 37467 "parser_cocci_menhir.ml" +# 37957 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37484,15 +37974,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 67 "parser_cocci_menhir.mly" (Parse_aux.info) -# 37488 "parser_cocci_menhir.ml" +# 37978 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_typedef_ident = -# 1702 "parser_cocci_menhir.mly" +# 1715 "parser_cocci_menhir.mly" ( let (nm,pure,clt) = _1 in Ast0.wrap(Ast0.MetaType(P.clt2mcode nm clt,pure)) ) -# 37496 "parser_cocci_menhir.ml" +# 37986 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37514,9 +38004,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1338 "parser_cocci_menhir.mly" +# 1351 "parser_cocci_menhir.mly" ( _1 ) -# 37520 "parser_cocci_menhir.ml" +# 38010 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37543,14 +38033,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 37547 "parser_cocci_menhir.ml" +# 38037 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1340 "parser_cocci_menhir.mly" +# 1353 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 37554 "parser_cocci_menhir.ml" +# 38044 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37577,14 +38067,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 37581 "parser_cocci_menhir.ml" +# 38071 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1342 "parser_cocci_menhir.mly" +# 1355 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 37588 "parser_cocci_menhir.ml" +# 38078 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37612,9 +38102,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1344 "parser_cocci_menhir.mly" +# 1357 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37618 "parser_cocci_menhir.ml" +# 38108 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37641,15 +38131,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 37645 "parser_cocci_menhir.ml" +# 38135 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1346 "parser_cocci_menhir.mly" +# 1359 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37653 "parser_cocci_menhir.ml" +# 38143 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37676,14 +38166,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 37680 "parser_cocci_menhir.ml" +# 38170 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1349 "parser_cocci_menhir.mly" +# 1362 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 37687 "parser_cocci_menhir.ml" +# 38177 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37719,27 +38209,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 37723 "parser_cocci_menhir.ml" +# 38213 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 37729 "parser_cocci_menhir.ml" +# 38219 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 37734 "parser_cocci_menhir.ml" +# 38224 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_eexpr_dot_expressions_ = -# 1351 "parser_cocci_menhir.mly" +# 1364 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 37743 "parser_cocci_menhir.ml" +# 38233 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37761,9 +38251,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1338 "parser_cocci_menhir.mly" +# 1351 "parser_cocci_menhir.mly" ( _1 ) -# 37767 "parser_cocci_menhir.ml" +# 38257 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37790,14 +38280,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 37794 "parser_cocci_menhir.ml" +# 38284 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1340 "parser_cocci_menhir.mly" +# 1353 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 37801 "parser_cocci_menhir.ml" +# 38291 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37824,14 +38314,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 37828 "parser_cocci_menhir.ml" +# 38318 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1342 "parser_cocci_menhir.mly" +# 1355 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 37835 "parser_cocci_menhir.ml" +# 38325 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37859,9 +38349,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1344 "parser_cocci_menhir.mly" +# 1357 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37865 "parser_cocci_menhir.ml" +# 38355 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37888,15 +38378,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 37892 "parser_cocci_menhir.ml" +# 38382 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1346 "parser_cocci_menhir.mly" +# 1359 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 37900 "parser_cocci_menhir.ml" +# 38390 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37923,14 +38413,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 37927 "parser_cocci_menhir.ml" +# 38417 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1349 "parser_cocci_menhir.mly" +# 1362 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 37934 "parser_cocci_menhir.ml" +# 38424 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -37966,27 +38456,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 37970 "parser_cocci_menhir.ml" +# 38460 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 37976 "parser_cocci_menhir.ml" +# 38466 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 37981 "parser_cocci_menhir.ml" +# 38471 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_eexpr_invalid_ = -# 1351 "parser_cocci_menhir.mly" +# 1364 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 37990 "parser_cocci_menhir.ml" +# 38480 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38008,9 +38498,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_ = -# 1338 "parser_cocci_menhir.mly" +# 1351 "parser_cocci_menhir.mly" ( _1 ) -# 38014 "parser_cocci_menhir.ml" +# 38504 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38037,14 +38527,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 38041 "parser_cocci_menhir.ml" +# 38531 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1340 "parser_cocci_menhir.mly" +# 1353 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 38048 "parser_cocci_menhir.ml" +# 38538 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38071,14 +38561,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 38075 "parser_cocci_menhir.ml" +# 38565 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1342 "parser_cocci_menhir.mly" +# 1355 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 38082 "parser_cocci_menhir.ml" +# 38572 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38106,9 +38596,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_ = -# 1344 "parser_cocci_menhir.mly" +# 1357 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 38112 "parser_cocci_menhir.ml" +# 38602 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38135,15 +38625,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 38139 "parser_cocci_menhir.ml" +# 38629 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1346 "parser_cocci_menhir.mly" +# 1359 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 38147 "parser_cocci_menhir.ml" +# 38637 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38170,14 +38660,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 38174 "parser_cocci_menhir.ml" +# 38664 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1349 "parser_cocci_menhir.mly" +# 1362 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 38181 "parser_cocci_menhir.ml" +# 38671 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38213,27 +38703,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 38217 "parser_cocci_menhir.ml" +# 38707 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 38223 "parser_cocci_menhir.ml" +# 38713 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 38228 "parser_cocci_menhir.ml" +# 38718 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_eexpr_nest_expressions_ = -# 1351 "parser_cocci_menhir.mly" +# 1364 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 38237 "parser_cocci_menhir.ml" +# 38727 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38255,9 +38745,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1338 "parser_cocci_menhir.mly" +# 1351 "parser_cocci_menhir.mly" ( _1 ) -# 38261 "parser_cocci_menhir.ml" +# 38751 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38284,14 +38774,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 38288 "parser_cocci_menhir.ml" +# 38778 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1340 "parser_cocci_menhir.mly" +# 1353 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Inc _1)) ) -# 38295 "parser_cocci_menhir.ml" +# 38785 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38318,14 +38808,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 88 "parser_cocci_menhir.mly" (Data.clt) -# 38322 "parser_cocci_menhir.ml" +# 38812 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1342 "parser_cocci_menhir.mly" +# 1355 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.Infix (_2, P.clt2mcode Ast.Dec _1)) ) -# 38329 "parser_cocci_menhir.ml" +# 38819 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38353,9 +38843,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1344 "parser_cocci_menhir.mly" +# 1357 "parser_cocci_menhir.mly" ( let mcode = _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 38359 "parser_cocci_menhir.ml" +# 38849 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38382,15 +38872,15 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 38386 "parser_cocci_menhir.ml" +# 38876 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1346 "parser_cocci_menhir.mly" +# 1359 "parser_cocci_menhir.mly" ( let mcode = P.clt2mcode Ast.Not _1 in Ast0.wrap(Ast0.Unary(_2, mcode)) ) -# 38394 "parser_cocci_menhir.ml" +# 38884 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38417,14 +38907,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 38421 "parser_cocci_menhir.ml" +# 38911 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1349 "parser_cocci_menhir.mly" +# 1362 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfExpr (P.clt2mcode "sizeof" _1, _2)) ) -# 38428 "parser_cocci_menhir.ml" +# 38918 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38460,27 +38950,27 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rp : ( # 80 "parser_cocci_menhir.mly" (Data.clt) -# 38464 "parser_cocci_menhir.ml" +# 38954 "parser_cocci_menhir.ml" ) = Obj.magic rp in let t : 'tv_ctype = Obj.magic t in let lp : ( # 79 "parser_cocci_menhir.mly" (Data.clt) -# 38470 "parser_cocci_menhir.ml" +# 38960 "parser_cocci_menhir.ml" ) = Obj.magic lp in let s : ( # 60 "parser_cocci_menhir.mly" (Data.clt) -# 38475 "parser_cocci_menhir.ml" +# 38965 "parser_cocci_menhir.ml" ) = Obj.magic s in let _startpos = _startpos_s_ in let _endpos = _endpos_rp_ in let _v : 'tv_unary_expr_expr_invalid_ = -# 1351 "parser_cocci_menhir.mly" +# 1364 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.SizeOfType (P.clt2mcode "sizeof" s, P.clt2mcode "(" lp,t, P.clt2mcode ")" rp)) ) -# 38484 "parser_cocci_menhir.ml" +# 38974 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38501,14 +38991,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 96 "parser_cocci_menhir.mly" (Data.clt) -# 38505 "parser_cocci_menhir.ml" +# 38995 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1355 "parser_cocci_menhir.mly" +# 1368 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.GetRef _1 ) -# 38512 "parser_cocci_menhir.ml" +# 39002 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38529,14 +39019,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 38533 "parser_cocci_menhir.ml" +# 39023 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1356 "parser_cocci_menhir.mly" +# 1369 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.DeRef _1 ) -# 38540 "parser_cocci_menhir.ml" +# 39030 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38557,14 +39047,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 101 "parser_cocci_menhir.mly" (Data.clt) -# 38561 "parser_cocci_menhir.ml" +# 39051 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1357 "parser_cocci_menhir.mly" +# 1370 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnPlus _1 ) -# 38568 "parser_cocci_menhir.ml" +# 39058 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38585,14 +39075,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 101 "parser_cocci_menhir.mly" (Data.clt) -# 38589 "parser_cocci_menhir.ml" +# 39079 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1358 "parser_cocci_menhir.mly" +# 1371 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.UnMinus _1 ) -# 38596 "parser_cocci_menhir.ml" +# 39086 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38613,14 +39103,14 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _1 : ( # 102 "parser_cocci_menhir.mly" (Data.clt) -# 38617 "parser_cocci_menhir.ml" +# 39107 "parser_cocci_menhir.ml" ) = Obj.magic _1 in let _startpos = _startpos__1_ in let _endpos = _endpos__1_ in let _v : 'tv_unary_op = -# 1359 "parser_cocci_menhir.mly" +# 1372 "parser_cocci_menhir.mly" ( P.clt2mcode Ast.Tilde _1 ) -# 38624 "parser_cocci_menhir.ml" +# 39114 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38648,9 +39138,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1921 "parser_cocci_menhir.mly" +# 1934 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS((Ast0.wrap(Ast0.Exp(_1)))::_2)) ) -# 38654 "parser_cocci_menhir.ml" +# 39144 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38678,9 +39168,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__2_ in let _v : 'tv_when_start = -# 1923 "parser_cocci_menhir.mly" +# 1936 "parser_cocci_menhir.mly" ( Ast0.wrap(Ast0.DOTS(_1@_2)) ) -# 38684 "parser_cocci_menhir.ml" +# 39174 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38702,9 +39192,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos_w_ in let _endpos = _endpos_w_ in let _v : 'tv_whenppdecs = -# 937 "parser_cocci_menhir.mly" +# 946 "parser_cocci_menhir.mly" ( w ) -# 38708 "parser_cocci_menhir.ml" +# 39198 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38738,9 +39228,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1990 "parser_cocci_menhir.mly" +# 2003 "parser_cocci_menhir.mly" ( [Ast0.WhenNot w] ) -# 38744 "parser_cocci_menhir.ml" +# 39234 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38774,9 +39264,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1991 "parser_cocci_menhir.mly" +# 2004 "parser_cocci_menhir.mly" ( [Ast0.WhenAlways w] ) -# 38780 "parser_cocci_menhir.ml" +# 39270 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38806,9 +39296,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__3_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1993 "parser_cocci_menhir.mly" +# 2006 "parser_cocci_menhir.mly" ( List.map (function x -> Ast0.WhenModifier(x)) _2 ) -# 38812 "parser_cocci_menhir.ml" +# 39302 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38842,9 +39332,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1994 "parser_cocci_menhir.mly" +# 2007 "parser_cocci_menhir.mly" ( [Ast0.WhenNotTrue e] ) -# 38848 "parser_cocci_menhir.ml" +# 39338 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38878,9 +39368,9 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let _startpos = _startpos__1_ in let _endpos = _endpos__4_ in let _v : 'tv_whens_when_start_rule_elem_statement_any_strict_ = -# 1995 "parser_cocci_menhir.mly" +# 2008 "parser_cocci_menhir.mly" ( [Ast0.WhenNotFalse e] ) -# 38884 "parser_cocci_menhir.ml" +# 39374 "parser_cocci_menhir.ml" in _menhir_env.MenhirLib.EngineTypes.stack <- { MenhirLib.EngineTypes.state = _menhir_s; @@ -38901,90 +39391,90 @@ module MenhirInterpreter = MenhirLib.TableInterpreter.Make (struct let rec script_meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1828 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1848 lexer lexbuf) : ( # 164 "parser_cocci_menhir.mly" - ((string option (*string*) * string option (*ast*)) * Ast_cocci.meta_name * Ast_cocci.metavar) -# 38908 "parser_cocci_menhir.ml" + ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) +# 39398 "parser_cocci_menhir.ml" )) and rule_name = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1756 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1773 lexer lexbuf) : ( # 158 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 38916 "parser_cocci_menhir.ml" +# 39406 "parser_cocci_menhir.ml" )) and reinit = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1754 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1771 lexer lexbuf) : ( # 136 "parser_cocci_menhir.mly" (unit) -# 38924 "parser_cocci_menhir.ml" +# 39414 "parser_cocci_menhir.ml" )) and plus_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1718 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1735 lexer lexbuf) : ( # 145 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38932 "parser_cocci_menhir.ml" +# 39422 "parser_cocci_menhir.ml" )) and plus_exp_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1710 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1727 lexer lexbuf) : ( # 148 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38940 "parser_cocci_menhir.ml" +# 39430 "parser_cocci_menhir.ml" )) and never_used = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1704 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1721 lexer lexbuf) : ( # 173 "parser_cocci_menhir.mly" (unit) -# 38948 "parser_cocci_menhir.ml" +# 39438 "parser_cocci_menhir.ml" )) and minus_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1624 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1641 lexer lexbuf) : ( # 139 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38956 "parser_cocci_menhir.ml" +# 39446 "parser_cocci_menhir.ml" )) and minus_exp_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1612 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1629 lexer lexbuf) : ( # 142 "parser_cocci_menhir.mly" (Ast0_cocci.rule) -# 38964 "parser_cocci_menhir.ml" +# 39454 "parser_cocci_menhir.ml" )) and meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1609 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1626 lexer lexbuf) : ( # 162 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 38972 "parser_cocci_menhir.ml" +# 39462 "parser_cocci_menhir.ml" )) and iso_rule_name = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1605 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1622 lexer lexbuf) : ( # 154 "parser_cocci_menhir.mly" (Ast_cocci.rulename) -# 38980 "parser_cocci_menhir.ml" +# 39470 "parser_cocci_menhir.ml" )) and iso_meta_main = fun lexer lexbuf -> - (Obj.magic (MenhirInterpreter.entry 1349 lexer lexbuf) : ( + (Obj.magic (MenhirInterpreter.entry 1360 lexer lexbuf) : ( # 170 "parser_cocci_menhir.mly" ((Ast_cocci.metavar,Ast_cocci.metavar) Common.either list) -# 38988 "parser_cocci_menhir.ml" +# 39478 "parser_cocci_menhir.ml" )) and iso_main = @@ -38992,7 +39482,7 @@ and iso_main = (Obj.magic (MenhirInterpreter.entry 18 lexer lexbuf) : ( # 167 "parser_cocci_menhir.mly" (Ast0_cocci.anything list list) -# 38996 "parser_cocci_menhir.ml" +# 39486 "parser_cocci_menhir.ml" )) and include_main = @@ -39000,7 +39490,7 @@ and include_main = (Obj.magic (MenhirInterpreter.entry 0 lexer lexbuf) : ( # 151 "parser_cocci_menhir.mly" (Data.incl_iso list) -# 39004 "parser_cocci_menhir.ml" +# 39494 "parser_cocci_menhir.ml" )) diff --git a/parsing_cocci/parser_cocci_menhir.mli b/parsing_cocci/parser_cocci_menhir.mli index e4aac91..11e4ed2 100644 --- a/parsing_cocci/parser_cocci_menhir.mli +++ b/parsing_cocci/parser_cocci_menhir.mli @@ -46,7 +46,8 @@ type token = | TStrict of (Data.clt) | TStatement | TSizeof of (Data.clt) - | TShOp of (Ast_cocci.arithOp * Data.clt) + | TShROp of (Ast_cocci.arithOp * Data.clt) + | TShLOp of (Ast_cocci.arithOp * Data.clt) | TScriptData of (string) | TScript | TRuleName of (string) @@ -96,10 +97,12 @@ type token = | TMetaIdExp of (Parse_aux.typed_expinfo) | TMetaId of (Parse_aux.idinfo) | TMetaFunc of (Parse_aux.idinfo) + | TMetaField of (Parse_aux.info) | TMetaExpList of (Parse_aux.list_info) | TMetaExp of (Parse_aux.typed_expinfo) | TMetaErr of (Parse_aux.expinfo) | TMetaDeclarer of (Parse_aux.idinfo) + | TMetaDecl of (Parse_aux.info) | TMetaConst of (Parse_aux.typed_expinfo) | TMPtVirg | TLogOp of (Ast_cocci.logicalOp * Data.clt) @@ -136,6 +139,7 @@ type token = | TFor of (Data.clt) | TFloat of (string * Data.clt) | TFinalize + | TField | TExtends | TExpression | TExists @@ -156,6 +160,7 @@ type token = | TDefault of (Data.clt) | TDeclarerId of (string * Data.clt) | TDeclarer + | TDeclaration | TDec of (Data.clt) | TCppConcatOp | TContinue of (Data.clt) @@ -181,7 +186,7 @@ type token = | EOF -val script_meta_main: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> ((string option (*string*) * string option (*ast*)) * Ast_cocci.meta_name * Ast_cocci.metavar) +val script_meta_main: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> ((string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option) val rule_name: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (Ast_cocci.rulename) val reinit: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (unit) val plus_main: (Lexing.lexbuf -> token) -> Lexing.lexbuf -> (Ast0_cocci.rule) diff --git a/parsing_cocci/parser_cocci_menhir.mly b/parsing_cocci/parser_cocci_menhir.mly index 24058d2..34770cf 100644 --- a/parsing_cocci/parser_cocci_menhir.mly +++ b/parsing_cocci/parser_cocci_menhir.mly @@ -40,7 +40,7 @@ module P = Parse_aux %token EOF %token TIdentifier TExpression TStatement TFunction TLocal TType TParameter -%token TIdExpression TInitialiser +%token TIdExpression TInitialiser TDeclaration TField %token Tlist TFresh TConstant TError TWords TWhy0 TPlus0 TBang0 %token TPure TContext TGenerated %token TTypedef TDeclarer TIterator TName TPosition TPosAny @@ -65,7 +65,7 @@ module P = Parse_aux %token TMetaIterator TMetaDeclarer %token TMetaErr %token TMetaParam TMetaStm TMetaStmList TMetaType -%token TMetaInit +%token TMetaInit TMetaDecl TMetaField %token TMetaParamList TMetaExpList %token TMetaExp TMetaIdExp TMetaLocalIdExp TMetaConst %token TMetaPos @@ -96,7 +96,7 @@ module P = Parse_aux %token TAnd %token TEqEq TNotEq TTildeEq TTildeExclEq TSub %token TLogOp /* TInf TSup TInfEq TSupEq */ -%token TShOp /* TShl TShr */ +%token TShLOp TShROp /* TShl TShr */ %token TDmOp /* TDiv TMod */ %token TPlus TMinus %token TMul TTilde @@ -128,7 +128,7 @@ module P = Parse_aux %left TAnd %left TEqEq TNotEq %left TLogOp /* TInf TSup TInfEq TSupEq */ -%left TShOp /* TShl TShr */ +%left TShLOp TShROp /* TShl TShr */ %left TPlus TMinus %left TMul TDmOp /* TDiv TMod */ @@ -161,7 +161,7 @@ rule_name %start meta_main %type <(Ast_cocci.metavar,Ast_cocci.metavar) Common.either list> meta_main -%start <(string option (*string*) * string option (*ast*)) * Ast_cocci.meta_name * Ast_cocci.metavar> script_meta_main +%start <(string option (*string*) * string option (*ast*)) * (Ast_cocci.meta_name * Ast_cocci.metavar) option> script_meta_main %start iso_main %type iso_main @@ -210,8 +210,8 @@ rule_name: /* these rules have no name as a cheap way to ensure that no normal rule inherits their metavariables or depends on them */ { P.make_generated_rule_name_result None d i a e ee } - | TScript TDotDot lang=pure_ident d=depends TArob - { P.make_script_rule_name_result lang d } + | TScript TDotDot lang=pure_ident nm=ioption(pure_ident) d=depends TArob + { P.make_script_rule_name_result lang nm d } | TInitialize TDotDot lang=pure_ident d=depends TArob { P.make_initial_script_rule_name_result lang d } | TFinalize TDotDot lang=pure_ident d=depends TArob @@ -368,6 +368,14 @@ list_len: { (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaStmDecl(arity,name)) in !Data.add_stm_meta name pure; tok) } +| TDeclaration + { (fun arity name pure check_meta -> + let tok = check_meta(Ast.MetaDeclDecl(arity,name)) in + !Data.add_decl_meta name pure; tok) } +| TField + { (fun arity name pure check_meta -> + let tok = check_meta(Ast.MetaFieldDecl(arity,name)) in + !Data.add_field_meta name pure; tok) } | TStatement Tlist { (fun arity name pure check_meta -> let tok = check_meta(Ast.MetaStmListDecl(arity,name)) in @@ -599,6 +607,7 @@ struct_or_union: struct_decl: TNothing { [] } + | TMetaField { [P.meta_field $1] } | t=ctype d=d_ident pv=TPtVirg { let (id,fn) = d in [Ast0.wrap(Ast0.UnInit(None,fn t,id,P.clt2mcode ";" pv))] } @@ -983,6 +992,7 @@ a disjunction on a statement with a declaration in each branch */ decl_var: t=ctype pv=TPtVirg { [Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv))] } + | TMetaDecl { [P.meta_decl $1] } | s=ioption(storage) t=ctype d=comma_list(d_ident) pv=TPtVirg { List.map (function (id,fn) -> @@ -1044,6 +1054,7 @@ decl_var: one_decl_var: t=ctype pv=TPtVirg { Ast0.wrap(Ast0.TyDecl(t,P.clt2mcode ";" pv)) } + | TMetaDecl { P.meta_decl $1 } | s=ioption(storage) t=ctype d=d_ident pv=TPtVirg { let (id,fn) = d in Ast0.wrap(Ast0.UnInit(s,fn t,id,P.clt2mcode ";" pv)) } @@ -1309,7 +1320,9 @@ arith_expr(r,pe): { P.arith_op Ast.Plus $1 $2 $3 } | arith_expr(r,pe) TMinus arith_expr(r,pe) { P.arith_op Ast.Minus $1 $2 $3 } - | arith_expr(r,pe) TShOp arith_expr(r,pe) + | arith_expr(r,pe) TShLOp arith_expr(r,pe) + { let (op,clt) = $2 in P.arith_op op $1 clt $3 } + | arith_expr(r,pe) TShROp arith_expr(r,pe) { let (op,clt) = $2 in P.arith_op op $1 clt $3 } | arith_expr(r,pe) TLogOp arith_expr(r,pe) { let (op,clt) = $2 in P.logic_op op $1 clt $3 } @@ -2052,26 +2065,24 @@ never_used: TPragma { () } | TScriptData { () } script_meta_main: - py=pure_ident script_name_decl - { let (nm,mv) = $2 in - ((Some (P.id2name py), None), nm, mv) } - | TOPar TUnderscore TComma ast=pure_ident TCPar script_name_decl - { let (nm,mv) = $6 in - ((None, Some (P.id2name ast)), nm, mv) } - | TOPar str=pure_ident TComma TUnderscore TCPar script_name_decl - { let (nm,mv) = $6 in - ((Some (P.id2name str), None), nm, mv) } - | TOPar str=pure_ident TComma ast=pure_ident TCPar script_name_decl - { let (nm,mv) = $6 in - ((Some (P.id2name str), Some (P.id2name ast)), nm, mv) } + py=pure_ident TMPtVirg + { ((Some (P.id2name py), None), None) } + | py=pure_ident script_name_decl TMPtVirg + { ((Some (P.id2name py), None), Some $2) } + | TOPar TUnderscore TComma ast=pure_ident TCPar script_name_decl TMPtVirg + { ((None, Some (P.id2name ast)), Some $6) } + | TOPar str=pure_ident TComma TUnderscore TCPar script_name_decl TMPtVirg + { ((Some (P.id2name str), None), Some $6) } + | TOPar str=pure_ident TComma ast=pure_ident TCPar script_name_decl TMPtVirg + { ((Some (P.id2name str), Some (P.id2name ast)), Some $6) } script_name_decl: - TShOp TRuleName TDot cocci=pure_ident TMPtVirg + TShLOp TRuleName TDot cocci=pure_ident { let nm = P.id2name cocci in let mv = Parse_aux.lookup $2 nm in (($2, nm), mv) } - | TShOp TVirtual TDot cocci=pure_ident TMPtVirg + | TShLOp TVirtual TDot cocci=pure_ident { let nm = P.id2name cocci in let name = ("virtual", nm) in let mv = Ast.MetaIdDecl(Ast.NONE,name) in - (name,mv) } + (name,mv) } diff --git a/parsing_cocci/pretty_print_cocci.ml b/parsing_cocci/pretty_print_cocci.ml index f8f6a13..bd80d6c 100644 --- a/parsing_cocci/pretty_print_cocci.ml +++ b/parsing_cocci/pretty_print_cocci.ml @@ -442,7 +442,8 @@ and print_named_type ty id = and declaration d = match Ast.unwrap d with - Ast.Init(stg,ty,id,eq,ini,sem) -> + Ast.MetaDecl(name,_,_) | Ast.MetaField(name,_,_) -> mcode print_meta name + | Ast.Init(stg,ty,id,eq,ini,sem) -> print_option (mcode storage) stg; print_named_type ty id; print_string " "; mcode print_string eq; print_string " "; initialiser ini; mcode print_string sem @@ -461,7 +462,6 @@ and declaration d = | Ast.Ddots(dots,Some whencode) -> mcode print_string dots; print_string " when != "; declaration whencode | Ast.Ddots(dots,None) -> mcode print_string dots - | Ast.MetaDecl(name,_,_) -> mcode print_meta name | Ast.OptDecl(decl) -> print_string "?"; declaration decl | Ast.UniqueDecl(decl) -> print_string "!"; declaration decl @@ -845,7 +845,7 @@ let unparse z = script_header "initialize" lang deps code | Ast.FinalScriptRule (name,lang,deps,code) -> script_header "finalize" lang deps code - | Ast.ScriptRule (name,lang,deps,bindings,code) -> + | Ast.ScriptRule (name,lang,deps,bindings,script_vars,code) -> script_header "script" lang deps code | Ast.CocciRule (nm, (deps, drops, exists), x, _, _) -> print_string "@@"; diff --git a/parsing_cocci/pretty_print_cocci.mli b/parsing_cocci/pretty_print_cocci.mli index 14ca82b..e0ae1e8 100644 --- a/parsing_cocci/pretty_print_cocci.mli +++ b/parsing_cocci/pretty_print_cocci.mli @@ -27,6 +27,7 @@ val unparse_to_string : Ast_cocci.rule -> string val expression : Ast_cocci.expression -> unit val ident : Ast_cocci.ident -> unit val ident_to_string : Ast_cocci.ident -> string +val declaration : Ast_cocci.declaration -> unit val statement : string -> Ast_cocci.statement -> unit val statement_dots : Ast_cocci.statement Ast_cocci.dots -> unit val rule_elem : string -> Ast_cocci.rule_elem -> unit diff --git a/parsing_cocci/single_statement.ml b/parsing_cocci/single_statement.ml index f2a65db..94f5a16 100644 --- a/parsing_cocci/single_statement.ml +++ b/parsing_cocci/single_statement.ml @@ -186,7 +186,8 @@ and left_typeC t = and left_declaration d = modif_before d or match Ast0.unwrap d with - Ast0.Init(Some stg,ty,id,eq,ini,sem) -> modif_before_mcode stg + Ast0.MetaDecl(name,_) | Ast0.MetaField(name,_) -> modif_before_mcode name + | Ast0.Init(Some stg,ty,id,eq,ini,sem) -> modif_before_mcode stg | Ast0.Init(None,ty,id,eq,ini,sem) -> left_typeC ty | Ast0.UnInit(Some stg,ty,id,sem) -> modif_before_mcode stg | Ast0.UnInit(None,ty,id,sem) -> left_typeC ty @@ -201,7 +202,8 @@ and left_declaration d = and right_declaration d = modif_before d or match Ast0.unwrap d with - Ast0.Init(_,ty,id,eq,ini,sem) -> modif_after_mcode sem + Ast0.MetaDecl(name,_) | Ast0.MetaField(name,_) -> modif_before_mcode name + | Ast0.Init(_,ty,id,eq,ini,sem) -> modif_after_mcode sem | Ast0.UnInit(_,ty,id,sem) -> modif_after_mcode sem | Ast0.MacroDecl(name,lp,args,rp,sem) -> modif_after_mcode sem | Ast0.TyDecl(ty,sem) -> modif_after_mcode sem diff --git a/parsing_cocci/type_infer.ml b/parsing_cocci/type_infer.ml index ad74514..588e0a4 100644 --- a/parsing_cocci/type_infer.ml +++ b/parsing_cocci/type_infer.ml @@ -315,7 +315,8 @@ let rec propagate_types env = and process_decl env decl = match Ast0.unwrap decl with - Ast0.Init(_,ty,id,_,exp,_) -> + Ast0.MetaDecl(_,_) | Ast0.MetaField(_,_) -> [] + | Ast0.Init(_,ty,id,_,exp,_) -> let _ = (propagate_types env).VT0.combiner_rec_initialiser exp in [(strip id,Ast0.ast0_type_to_type ty)] diff --git a/parsing_cocci/unify_ast.ml b/parsing_cocci/unify_ast.ml index ebbe5d0..cb7adbd 100644 --- a/parsing_cocci/unify_ast.ml +++ b/parsing_cocci/unify_ast.ml @@ -277,7 +277,9 @@ and unify_typeC t1 t2 = and unify_declaration d1 d2 = match (Ast.unwrap d1,Ast.unwrap d2) with - (Ast.Init(stg1,ft1,id1,eq1,i1,s1),Ast.Init(stg2,ft2,id2,eq2,i2,s2)) -> + (Ast.MetaDecl(_,_,_),_) | (_,Ast.MetaDecl(_,_,_)) -> return true + | (Ast.MetaField(_,_,_),_) | (_,Ast.MetaField(_,_,_)) -> return true + | (Ast.Init(stg1,ft1,id1,eq1,i1,s1),Ast.Init(stg2,ft2,id2,eq2,i2,s2)) -> if bool_unify_option unify_mcode stg1 stg2 then conjunct_bindings (unify_fullType ft1 ft2) diff --git a/parsing_cocci/unitary_ast0.ml b/parsing_cocci/unitary_ast0.ml index 99e4132..f5768f8 100644 --- a/parsing_cocci/unitary_ast0.ml +++ b/parsing_cocci/unitary_ast0.ml @@ -113,7 +113,8 @@ let get_free checker t = let declaration r k d = match Ast0.unwrap d with - Ast0.DisjDecl(starter,decls,mids,ender) -> + Ast0.MetaDecl(name,_) | Ast0.MetaField(name,_) -> checker name + | Ast0.DisjDecl(starter,decls,mids,ender) -> detect_unitary_frees(List.map r.VT0.combiner_rec_declaration decls) | _ -> k d in @@ -243,7 +244,7 @@ let do_unitary rules = [] -> ([],[]) | (r::rules) -> match r with - Ast0.ScriptRule (_,_,_,_,_) + Ast0.ScriptRule (_,_,_,_,_,_) | Ast0.InitialScriptRule (_,_,_,_) | Ast0.FinalScriptRule (_,_,_,_) -> let (x,rules) = loop rules in (x, r::rules) diff --git a/parsing_cocci/unparse_ast0.ml b/parsing_cocci/unparse_ast0.ml index 961c039..a157943 100644 --- a/parsing_cocci/unparse_ast0.ml +++ b/parsing_cocci/unparse_ast0.ml @@ -324,7 +324,8 @@ and declaration d = print_context d (function _ -> match Ast0.unwrap d with - Ast0.Init(stg,ty,id,eq,ini,sem) -> + Ast0.MetaDecl(name,_) | Ast0.MetaField(name,_) -> mcode print_meta name + | Ast0.Init(stg,ty,id,eq,ini,sem) -> print_option (mcode U.storage) stg; print_named_type ty id; print_string " "; @@ -640,33 +641,24 @@ let unparse_anything x = | Ast0.DotsStmtTag(d) -> print_string "StmDots:"; force_newline(); statement_dots d - | Ast0.DotsDeclTag(d) -> - declaration_dots d - | Ast0.DotsCaseTag(d) -> - case_dots d - | Ast0.IdentTag(d) -> - ident d + | Ast0.DotsDeclTag(d) -> declaration_dots d + | Ast0.DotsCaseTag(d) -> case_dots d + | Ast0.IdentTag(d) -> ident d | Ast0.ExprTag(d) | Ast0.ArgExprTag(d) | Ast0.TestExprTag(d) -> print_string "Exp:"; force_newline(); expression d - | Ast0.TypeCTag(d) -> - typeC d - | Ast0.ParamTag(d) -> - parameterTypeDef d - | Ast0.InitTag(d) -> - initialiser d - | Ast0.DeclTag(d) -> - declaration d - | Ast0.StmtTag(d) -> + | Ast0.TypeCTag(d) -> typeC d + | Ast0.ParamTag(d) -> parameterTypeDef d + | Ast0.InitTag(d) -> initialiser d + | Ast0.DeclTag(d) -> declaration d + | Ast0.StmtTag(d) -> print_string "Stm:"; force_newline(); statement "" d - | Ast0.CaseLineTag(d) -> - case_line "" d - | Ast0.TopTag(d) -> - top_level d - | Ast0.IsoWhenTag(x) -> U.print_when_modif x - | Ast0.IsoWhenTTag(e) -> expression e - | Ast0.IsoWhenFTag(e) -> expression e + | Ast0.CaseLineTag(d) -> case_line "" d + | Ast0.TopTag(d) -> top_level d + | Ast0.IsoWhenTag(x) -> U.print_when_modif x + | Ast0.IsoWhenTTag(e) -> expression e + | Ast0.IsoWhenFTag(e) -> expression e | Ast0.MetaPosTag(var) -> meta_pos var); quiet := q; print_newline() diff --git a/parsing_cocci/visitor_ast.ml b/parsing_cocci/visitor_ast.ml index 9822b67..041a621 100644 --- a/parsing_cocci/visitor_ast.ml +++ b/parsing_cocci/visitor_ast.ml @@ -247,7 +247,8 @@ let combiner bind option_default and declaration d = let k d = match Ast.unwrap d with - Ast.Init(stg,ty,id,eq,ini,sem) -> + Ast.MetaDecl(name,_,_) | Ast.MetaField(name,_,_) -> meta_mcode name + | Ast.Init(stg,ty,id,eq,ini,sem) -> bind (get_option storage_mcode stg) (bind (named_type ty id) (multibind @@ -266,7 +267,6 @@ let combiner bind option_default | Ast.DisjDecl(decls) -> multibind (List.map declaration decls) | Ast.Ddots(dots,whencode) -> bind (string_mcode dots) (get_option declaration whencode) - | Ast.MetaDecl(name,_,_) -> meta_mcode name | Ast.OptDecl(decl) -> declaration decl | Ast.UniqueDecl(decl) -> declaration decl in declfn all_functions k d @@ -745,7 +745,11 @@ let rebuilder let k d = Ast.rewrap d (match Ast.unwrap d with - Ast.Init(stg,ty,id,eq,ini,sem) -> + Ast.MetaDecl(name,keep,inherited) -> + Ast.MetaDecl(meta_mcode name,keep,inherited) + | Ast.MetaField(name,keep,inherited) -> + Ast.MetaField(meta_mcode name,keep,inherited) + | Ast.Init(stg,ty,id,eq,ini,sem) -> Ast.Init(get_option storage_mcode stg, fullType ty, ident id, string_mcode eq, initialiser ini, string_mcode sem) | Ast.UnInit(stg,ty,id,sem) -> @@ -761,8 +765,6 @@ let rebuilder | Ast.DisjDecl(decls) -> Ast.DisjDecl(List.map declaration decls) | Ast.Ddots(dots,whencode) -> Ast.Ddots(string_mcode dots, get_option declaration whencode) - | Ast.MetaDecl(name,keep,inherited) -> - Ast.MetaDecl(meta_mcode name,keep,inherited) | Ast.OptDecl(decl) -> Ast.OptDecl(declaration decl) | Ast.UniqueDecl(decl) -> Ast.UniqueDecl(declaration decl)) in declfn all_functions k d diff --git a/parsing_cocci/visitor_ast0.ml b/parsing_cocci/visitor_ast0.ml index e64ff94..4ef71c7 100644 --- a/parsing_cocci/visitor_ast0.ml +++ b/parsing_cocci/visitor_ast0.ml @@ -392,7 +392,13 @@ let visitor mode bind option_default let k d = rewrap d (match Ast0.unwrap d with - Ast0.Init(stg,ty,id,eq,ini,sem) -> + Ast0.MetaDecl(name,pure) -> + let (n,name) = meta_mcode name in + (n,Ast0.MetaDecl(name,pure)) + | Ast0.MetaField(name,pure) -> + let (n,name) = meta_mcode name in + (n,Ast0.MetaField(name,pure)) + | Ast0.Init(stg,ty,id,eq,ini,sem) -> let (stg_n,stg) = get_option storage_mcode stg in let ((ty_id_n,ty),id) = named_type ty id in let (eq_n,eq) = string_mcode eq in diff --git a/pycaml/pycaml.ml b/pycaml/pycaml.ml index bc442ab..68f9fd2 100644 --- a/pycaml/pycaml.ml +++ b/pycaml/pycaml.ml @@ -398,7 +398,8 @@ let pyimport_importfrozenmodule = fmt5call (pnf ()) (* 42 *) let pyeval_callobjectwithkeywords = fmt42call (pnf ()) (* 17 *) -let pyeval_callobject = fmt17call (pnf ()) +(* dropped in Python 2.7 +let pyeval_callobject = fmt17call (pnf ()) *) (* 29 *) let pyeval_getbuiltins = fmt29call (pnf ()) diff --git a/pycaml/pycaml_ml.c b/pycaml/pycaml_ml.c index 87342f5..935c05a 100644 --- a/pycaml/pycaml_ml.c +++ b/pycaml/pycaml_ml.c @@ -744,7 +744,10 @@ DL_IMPORT(int) PyImport_ImportFrozenModule(char *); /* 42 */ DL_IMPORT(PyObject *) PyEval_CallObjectWithKeywords(PyObject *, PyObject *, PyObject *); /* 17 */ +#if 0 +// dropped in Python 2.7 DL_IMPORT(PyObject *) PyEval_CallObject(PyObject *, PyObject *); +#endif /* 29 */ DL_IMPORT(PyObject *) PyEval_GetBuiltins(void); @@ -1203,7 +1206,10 @@ python_func_table the_python_func_table[] = { /* 42 */ { (void *)PyEval_CallObjectWithKeywords, 42, "PyEval_CallObjectWithKeywords" }, /* 17 */ +#if 0 +// dropped in Python 2.7 { (void *)PyEval_CallObject, 17, "PyEval_CallObject" }, +#endif /* 29 */ { (void *)PyEval_GetBuiltins, 29, "PyEval_GetBuiltins" }, diff --git a/python/Makefile b/python/Makefile index efad271..a4047e1 100644 --- a/python/Makefile +++ b/python/Makefile @@ -32,12 +32,14 @@ TARGET=coccipython SOURCES= pycocci_aux.ml pycocci.ml +INCLUDEDIRS_LOCAL = ../commons ../commons/ocamlextra ../globals \ + ../parsing_c ../parsing_cocci + ifeq ("$(PYCAMLDIR)", "pycaml") -INCLUDEDIRS = ../commons ../commons/ocamlextra ../globals ../$(PYCAMLDIR) \ - ../parsing_c ../parsing_cocci +INCLUDEDIRS_LOCAL += ../$(PYCAMLDIR) +INCLUDEDIRS = $(INCLUDEDIRS_LOCAL) else -INCLUDEDIRS = ../commons ../commons/ocamlextra ../globals $(PYCAMLDIR) \ - ../parsing_c ../parsing_cocci +INCLUDEDIRS = $(INCLUDEDIRS_LOCAL) $(PYCAMLDIR) endif SYSLIBS = str.cma unix.cma pycaml.cma @@ -48,6 +50,7 @@ LIBS=../commons/commons.cma ../globals/globals.cma ############################################################################## INCLUDES=$(INCLUDEDIRS:%=-I %) $(INCLUDESEXTRA) +INCLUDES_DEPEND=$(INCLUDEDIRS_LOCAL:%=-I %) $(INCLUDESEXTRA) ############################################################################## # Generic ocaml variables @@ -57,7 +60,7 @@ INCLUDES=$(INCLUDEDIRS:%=-I %) $(INCLUDESEXTRA) OCAMLCFLAGS ?= -g -dtypes OCAMLC =ocamlc$(OPTBIN) $(OCAMLCFLAGS) $(INCLUDES) OCAMLOPT = ocamlopt$(OPTBIN) $(OPTFLAGS) $(INCLUDES) -OCAMLDEP = ocamldep$(OPTBIN) $(INCLUDES) +OCAMLDEP = ocamldep$(OPTBIN) $(INCLUDES_DEPEND) ############################################################################## @@ -140,6 +143,7 @@ clean:: rm -f *~ .*~ #*# distclean:: + $(MAKE) -C coccilib $@ rm -f .depend beforedepend: diff --git a/python/Makefile.orig b/python/Makefile.orig new file mode 100644 index 0000000..ddbce90 --- /dev/null +++ b/python/Makefile.orig @@ -0,0 +1,132 @@ +############################################################################# +# Configuration section +############################################################################# +-include ../Makefile.config + +############################################################################## +# Variables +############################################################################## +TARGET=coccipython + +SOURCES= pycocci_aux.ml pycocci.ml + +ifeq ("$(PYCAMLDIR)", "pycaml") +INCLUDEDIRS = ../commons ../commons/ocamlextra ../globals ../$(PYCAMLDIR) \ + ../parsing_c ../parsing_cocci +else +INCLUDEDIRS = ../commons ../commons/ocamlextra ../globals $(PYCAMLDIR) \ + ../parsing_c ../parsing_cocci +endif + +SYSLIBS = str.cma unix.cma pycaml.cma +LIBS=../commons/commons.cma ../globals/globals.cma + +############################################################################## +# Generic variables +############################################################################## + +INCLUDES=$(INCLUDEDIRS:%=-I %) $(INCLUDESEXTRA) + +############################################################################## +# Generic ocaml variables +############################################################################## + +# The Caml compilers. +OCAMLCFLAGS ?= -g -dtypes +OCAMLC =ocamlc$(OPTBIN) $(OCAMLCFLAGS) $(INCLUDES) +OCAMLOPT = ocamlopt$(OPTBIN) $(OPTFLAGS) $(INCLUDES) +OCAMLDEP = ocamldep$(OPTBIN) $(INCLUDES) + + +############################################################################## +# Top rules +############################################################################## + +EXEC=$(TARGET).byte +LIB=$(TARGET).cma +OPTLIB=$(LIB:.cma=.cmxa) + +CTLEXEC=$(CTLTARGET) + +OBJS = $(SOURCES:.ml=.cmo) +OPTOBJS = $(OBJS:.cmo=.cmx) + +CTLOBJS = $(CTLSOURCES:.ml=.cmo) +CTLOPTOBJS = $(CTLOBJS:.cmo=.cmx) + + +#all: $(EXEC) $(LIB) +all: $(LIB) + +all.opt: $(OPTLIB) + +ctl: $(CTLEXEC) + + +$(LIB): $(OBJS) + $(OCAMLC) -a -o $(LIB) $(OBJS) + +clean:: + rm -f $(LIB) + + +$(OPTLIB): $(OPTOBJS) + $(OCAMLOPT) -a -o $(OPTLIB) $(OPTOBJS) + + +$(EXEC): $(OBJS) main.cmo $(LIBS) + $(OCAMLC) -o $(EXEC) $(SYSLIBS) $(LIBS) $(OBJS) main.cmo + +$(CTLEXEC): $(CTLOBJS) $(LIBS) + $(OCAMLC) -o $(CTLEXEC) $(SYSLIBS) $(LIBS) $(CTLOBJS) + + +clean:: + rm -f $(OPTLIB) $(LIB:.cma=.a) + rm -f $(TARGET) rm -f $(TARGET).byte + rm -f $(CTLTARGET) + + +#pycocci.ml: ../pycaml/pycaml.ml ../pycaml/pycaml_ml.c +#pycocci_aux.ml: ../pycaml/pycaml.ml ../pycaml/pycaml_ml.c +pycocci_aux.ml: + @echo "\n\n\t*** pycocci_aux.ml not found ! ***\n\n\tRun 'configure && make depend' first.\n\n" + +rmlinks: + rm -f pycocci.ml pycocci_aux.ml + +############################################################################## +# Generic ocaml rules +############################################################################## + +.SUFFIXES: +.SUFFIXES: .ml .mli .cmo .cmi .cmx + +.ml.cmo: + $(OCAMLC) -c $< + +.mli.cmi: + $(OCAMLC) -c $< + +.ml.cmx: + $(OCAMLOPT) -c $< + + +# clean rule for others files +clean:: + rm -f *.cm[iox] *.o *.annot + rm -f *~ .*~ #*# + +distclean:: + $(MAKE) -C coccilib $@ + rm -f .depend + +beforedepend: + +depend: beforedepend + $(OCAMLDEP) *.mli *.ml > .depend + +.depend: + $(OCAMLDEP) *.mli *.ml > .depend + +-include .depend diff --git a/python/coccilib/__init__.pyc b/python/coccilib/__init__.pyc deleted file mode 100644 index 10b3b66aac55795a9cf16ecac5e4ce594d25b791..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 162 zcmcckiI+<+u*oBt0SXv_v;zZi8+}S z`Y!p&rManjCB^zlrI|S?`pNmp$(ebnIXS7iMX5QdiN&e<1(hWk`FRkToXjNs`1s7c c%#!$cJ)i^!&^(*m{FKt1R6CHZ#X!se0H=2+Y5)KL diff --git a/python/coccilib/elems.pyc b/python/coccilib/elems.pyc deleted file mode 100644 index f540d239761d3c6ae1d1896f404e1bd57d8b7f73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2274 zcmc&#+iKfD5S{fcwp;f?N?S@kz%Q-dO9>@ypn;OY1`74d;z(<3Q>|7{9zS?)}e({|Hgy~uA(M~oKO4&bn)$L`C? zwYk!|oV1UxE*Cz=zc$({%-?CWy5A>lb{sb)rCN(tmM>KzL7VQzh*`BCy1wZsQp*yK zCas;|0YpRU7T6IccexKw5I>RyVn!xibAxxyf;7OP5gN#xs!^%6L!MNO?Od!D&OL*< zrVG*Dp^JS4UsEQvw#!+b3Ow<&Ry{N5=pk^D;nWGU;1?<8^kP+xAn~8EhDT%|kXy9j zwl?+HZYlbR{gN5pn>LDS*R)YC91tJ-5y#7a;S0I)f*`m$`EuH9M~w*nRqvBqmM`3T bgtJ@SHvMS4tG`)?+=Ixk>i%HA`@H`LevH^I diff --git a/python/coccilib/org.pyc b/python/coccilib/org.pyc deleted file mode 100644 index 333eeca5c09f1358ecd08d67782f02fdd1922578..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2500 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 Hwr+m`w#v3q diff --git a/python/coccilib/report.pyc b/python/coccilib/report.pyc deleted file mode 100644 index b738d33aca00a208c3a0338a7feb107124c3add9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 657 zcmcIgO-lnY5S`t%qD2ur2;KxK?4{-|B7%yFutIw4r61YU2C~Vr$$~=hV*j9j#b4me zY$^Byy6n6>CYd+$=I8ggKmD4%D%gA}o_84G9H9hQ1B{U*P^Pd>V2mV#QND+_ir!M} zW87neO9Xtn0x-bX@sxQ6s{|H3I2+|uRD=`6LAd6Bhqs_IhUlhQxkP#T-=zTjvEt2Hv>&05B|-ti)~Veo6481)wkPC9%g?| CIg{%E diff --git a/python/no_pycocci.ml b/python/no_pycocci.ml index 8658272..793ed33 100644 --- a/python/no_pycocci.ml +++ b/python/no_pycocci.ml @@ -82,6 +82,9 @@ let contains_binding e (_,(r,m),_) = failwith "no python" let construct_variables mv e = failwith "no python" +let construct_script_variables mv = failwith "no python" +let retrieve_script_variables mv = failwith "no python" + let set_coccifile cocci_file = cocci_file_name := cocci_file; () diff --git a/python/yes_pycocci.ml b/python/yes_pycocci.ml index f47db46..80b996b 100644 --- a/python/yes_pycocci.ml +++ b/python/yes_pycocci.ml @@ -107,7 +107,8 @@ let pycocci_get_class_type fqn = let pycocci_instantiate_class fqn args = let class_type = pycocci_get_class_type fqn in - let obj = pyeval_callobject(class_type, args) in + let obj = + pyeval_callobjectwithkeywords(class_type, args, pynull()) in check_return_value obj; obj @@ -224,6 +225,11 @@ let build_variable name value = check_int_return_value (pydict_setitemstring(pymodule_getdict mx, name, value)) +let get_variable name = + let mx = !coccinelle_module in + pystring_asstring + (pyobject_str(pydict_getitemstring(pymodule_getdict mx, name))) + let contains_binding e (_,(r,m),_) = try let _ = List.find (function ((re, rm), _) -> r =*= re && m =$= rm) e in @@ -276,12 +282,28 @@ let construct_variables mv e = let _ = build_variable py pylocs in () | Some (_,binding) -> - let _ = build_variable py (pystring_fromstring (Pycocci_aux.stringrep binding)) - in () + let _ = + build_variable py + (pystring_fromstring (Pycocci_aux.stringrep binding)) in + () ) mv; () +let construct_script_variables mv = + List.iter + (function (_,py) -> + let vl = + let str = pystring_fromstring "initial value" in + pycocci_instantiate_class "coccilib.elems.Identifier" + (pytuple_fromsingle (str)) in + let _ = build_variable py vl in + ()) + mv + +let retrieve_script_variables mv = + List.map (function (_,py) -> get_variable py) mv + let set_coccifile cocci_file = cocci_file_name := cocci_file; () diff --git a/python/yes_pycocci_aux.ml b/python/yes_pycocci_aux.ml index bac7745..5a19c3c 100644 --- a/python/yes_pycocci_aux.ml +++ b/python/yes_pycocci_aux.ml @@ -40,14 +40,20 @@ let stringrep mvb = match mvb with | Ast_c.MetaFuncVal s -> s | Ast_c.MetaLocalFuncVal s -> s | Ast_c.MetaExprVal (expr,_) -> exprrep expr -| Ast_c.MetaExprListVal expr_list -> "TODO: <>" +| Ast_c.MetaExprListVal expr_list -> + call_pretty Pretty_print_c.pp_arg_list_gen expr_list | Ast_c.MetaTypeVal typ -> call_pretty Pretty_print_c.pp_type_gen typ | Ast_c.MetaInitVal ini -> call_pretty Pretty_print_c.pp_init_gen ini +| Ast_c.MetaDeclVal decl -> + call_pretty Pretty_print_c.pp_decl_gen decl +| Ast_c.MetaFieldVal field -> + call_pretty Pretty_print_c.pp_field_gen field | Ast_c.MetaStmtVal statement -> call_pretty Pretty_print_c.pp_statement_gen statement | Ast_c.MetaParamVal param -> call_pretty Pretty_print_c.pp_param_gen param -| Ast_c.MetaParamListVal params -> "TODO: <>" +| Ast_c.MetaParamListVal params -> + call_pretty Pretty_print_c.pp_param_list_gen params | Ast_c.MetaListlenVal n -> string_of_int n | Ast_c.MetaPosVal (pos1, pos2) -> let print_pos = function diff --git a/test.ml b/test.ml index b515d59..88f1e40 100644 --- a/test.ml +++ b/test.ml @@ -238,6 +238,126 @@ *) +(* + * Copyright 2010, INRIA, University of Copenhagen + * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix + * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + +(* + * Copyright 2010, INRIA, University of Copenhagen + * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix + * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + +(* + * Copyright 2010, INRIA, University of Copenhagen + * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix + * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + +(* + * Copyright 2010, INRIA, University of Copenhagen + * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix + * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + +(* + * Copyright 2010, INRIA, University of Copenhagen + * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix + * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + (* * Copyright 2005-2010, Ecole des Mines de Nantes, University of Copenhagen * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix diff --git a/testing.ml b/testing.ml index dee8ff1..1d1cc43 100644 --- a/testing.ml +++ b/testing.ml @@ -478,9 +478,11 @@ let test_parse_cocci file = match !Flag.scanner with Flag.NoScanner | Flag.Grep -> () | Flag.Glimpse | Flag.Google _ -> + Printf.printf "%s tokens\n" + (if !Flag.scanner = Flag.Glimpse then "glimpse" else "google"); (match query with None -> pr "No query" - | Some x -> pr (String.concat " || " x)) + | Some x -> pr (String.concat " ||\n" x)) diff --git a/tests/camltococci.c b/tests/camltococci.c new file mode 100644 index 0000000..e67463a --- /dev/null +++ b/tests/camltococci.c @@ -0,0 +1,4 @@ +int main () { + foo(a0); + bar(); +} diff --git a/tests/camltococci.cocci b/tests/camltococci.cocci new file mode 100644 index 0000000..8cc110f --- /dev/null +++ b/tests/camltococci.cocci @@ -0,0 +1,23 @@ +@a@ +identifier x; +@@ + +foo(x); + +@script:ocaml b@ +x << a.x; +y; +z; +@@ + +y := x; +z := "something" + +@c@ +identifier b.y; +identifier b.z; +identifier a.x; +@@ + +- bar(); ++ matched_bar(y,z,x); diff --git a/tests/camltococci.res b/tests/camltococci.res new file mode 100644 index 0000000..d4eafc9 --- /dev/null +++ b/tests/camltococci.res @@ -0,0 +1,4 @@ +int main () { + foo(a0); + matched_bar(a0, something, a0); +} diff --git a/tests/pythontococci.c b/tests/pythontococci.c new file mode 100644 index 0000000..e67463a --- /dev/null +++ b/tests/pythontococci.c @@ -0,0 +1,4 @@ +int main () { + foo(a0); + bar(); +} diff --git a/tests/pythontococci.cocci b/tests/pythontococci.cocci new file mode 100644 index 0000000..e09e278 --- /dev/null +++ b/tests/pythontococci.cocci @@ -0,0 +1,25 @@ +@a@ +identifier x; +@@ + +foo(x); + +@script:python b@ +x << a.x; +y; +z; +@@ + +print y +coccinelle.y = x +coccinelle.z = "something" +print y + +@c@ +identifier b.y; +identifier b.z; +identifier a.x; +@@ + +- bar(); ++ matched_bar(y,z,x); diff --git a/tests/pythontococci.res b/tests/pythontococci.res new file mode 100644 index 0000000..d4eafc9 --- /dev/null +++ b/tests/pythontococci.res @@ -0,0 +1,4 @@ +int main () { + foo(a0); + matched_bar(a0, something, a0); +} diff --git a/tools/Makefile b/tools/Makefile index f5fb408..535ad6a 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -43,7 +43,7 @@ alloc_free: alloc_free.ml # more flexible version of alloc_free bridge: bridge.ml - ocamlopt -o bridge str.cmxa bridge.ml + ocamlopt -o bridge str.cmxa dumper.mli dumper.ml bridge.ml install_bridge: bridge cp -f bridge /usr/local/bin diff --git a/tools/bridge.ml b/tools/bridge.ml index 60c29de..1e6b57f 100644 --- a/tools/bridge.ml +++ b/tools/bridge.ml @@ -45,7 +45,7 @@ let parse_line fp l n = (match List.rev splitted with new_tag::info -> let rest = loop new_tag rest in - (tag,String.concat "\\ " info)::rest + (tag,String.concat "\\ " (List.rev info))::rest | _ -> failwith "bad element") | _ -> failwith "no data" in Some (cocci,loop (drop_spaces first) others) diff --git a/tools/dumper.ml b/tools/dumper.ml new file mode 100644 index 0000000..8df6a32 --- /dev/null +++ b/tools/dumper.ml @@ -0,0 +1,109 @@ +(* + * Copyright 2010, INRIA, University of Copenhagen + * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix + * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + +(* Dump an OCaml value into a printable string. + * By Richard W.M. Jones (rich@annexia.org). + * dumper.ml 1.2 2005/02/06 12:38:21 rich Exp + *) + +open Printf +open Obj + +let rec dump r = + if is_int r then + string_of_int (magic r : int) + else ( (* Block. *) + let rec get_fields acc = function + | 0 -> acc + | n -> let n = n-1 in get_fields (field r n :: acc) n + in + let rec is_list r = + if is_int r then ( + if (magic r : int) = 0 then true (* [] *) + else false + ) else ( + let s = size r and t = tag r in + if t = 0 && s = 2 then is_list (field r 1) (* h :: t *) + else false + ) + in + let rec get_list r = + if is_int r then [] + else let h = field r 0 and t = get_list (field r 1) in h :: t + in + let opaque name = + (* XXX In future, print the address of value 'r'. Not possible in + * pure OCaml at the moment. + *) + "<" ^ name ^ ">" + in + + let s = size r and t = tag r in + + (* From the tag, determine the type of block. *) + if is_list r then ( (* List. *) + let fields = get_list r in + "[" ^ String.concat "; " (List.map dump fields) ^ "]" + ) + else if t = 0 then ( (* Tuple, array, record. *) + let fields = get_fields [] s in + "(" ^ String.concat ", " (List.map dump fields) ^ ")" + ) + + (* Note that [lazy_tag .. forward_tag] are < no_scan_tag. Not + * clear if very large constructed values could have the same + * tag. XXX *) + else if t = lazy_tag then opaque "lazy" + else if t = closure_tag then opaque "closure" + else if t = object_tag then ( (* Object. *) + let fields = get_fields [] s in + let clasz, id, slots = + match fields with h::h'::t -> h, h', t | _ -> assert false in + (* No information on decoding the class (first field). So just print + * out the ID and the slots. + *) + "Object #" ^ dump id ^ + " (" ^ String.concat ", " (List.map dump slots) ^ ")" + ) + else if t = infix_tag then opaque "infix" + else if t = forward_tag then opaque "forward" + + else if t < no_scan_tag then ( (* Constructed value. *) + let fields = get_fields [] s in + "Tag" ^ string_of_int t ^ + " (" ^ String.concat ", " (List.map dump fields) ^ ")" + ) + else if t = string_tag then ( + "\"" ^ String.escaped (magic r : string) ^ "\"" + ) + else if t = double_tag then ( + string_of_float (magic r : float) + ) + else if t = abstract_tag then opaque "abstract" + else if t = custom_tag then opaque "custom" + else if t = final_tag then opaque "final" + else failwith ("dump: impossible tag (" ^ string_of_int t ^ ")") + ) + +let dump v = dump (repr v) diff --git a/tools/dumper.mli b/tools/dumper.mli new file mode 100644 index 0000000..61c5e69 --- /dev/null +++ b/tools/dumper.mli @@ -0,0 +1,30 @@ +(* + * Copyright 2010, INRIA, University of Copenhagen + * Julia Lawall, Rene Rydhof Hansen, Gilles Muller, Nicolas Palix + * Copyright 2005-2009, Ecole des Mines de Nantes, University of Copenhagen + * Yoann Padioleau, Julia Lawall, Rene Rydhof Hansen, Henrik Stuart, Gilles Muller, Nicolas Palix + * This file is part of Coccinelle. + * + * Coccinelle is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, according to version 2 of the License. + * + * Coccinelle is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Coccinelle. If not, see . + * + * The authors reserve the right to distribute this or future versions of + * Coccinelle under other licenses. + *) + + +(* Dump an OCaml value into a printable string. + * By Richard W.M. Jones (rich@annexia.org). + * dumper.mli 1.1 2005/02/03 23:07:47 rich Exp + *) + +val dump : 'a -> string -- 2.20.1